@dssp/dcsp 1.0.0 → 1.0.1

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.
Files changed (39) hide show
  1. package/dist-client/bootstrap.d.ts +10 -0
  2. package/dist-client/bootstrap.js +274 -0
  3. package/dist-client/bootstrap.js.map +1 -0
  4. package/dist-client/entries/auth/checkin.d.ts +38 -0
  5. package/dist-client/entries/auth/checkin.js +546 -0
  6. package/dist-client/entries/auth/checkin.js.map +1 -0
  7. package/dist-client/entries/public/home.d.ts +8 -0
  8. package/dist-client/entries/public/home.js +97 -0
  9. package/dist-client/entries/public/home.js.map +1 -0
  10. package/dist-client/icons/menu-icons.d.ts +5 -0
  11. package/dist-client/icons/menu-icons.js +84 -0
  12. package/dist-client/icons/menu-icons.js.map +1 -0
  13. package/dist-client/index.d.ts +0 -0
  14. package/dist-client/index.js +2 -0
  15. package/dist-client/index.js.map +1 -0
  16. package/dist-client/menu.d.ts +1 -0
  17. package/dist-client/menu.js +4 -0
  18. package/dist-client/menu.js.map +1 -0
  19. package/dist-client/pages/sv-user-management.d.ts +6 -0
  20. package/dist-client/pages/sv-user-management.js +224 -0
  21. package/dist-client/pages/sv-user-management.js.map +1 -0
  22. package/dist-client/route.d.ts +1 -0
  23. package/dist-client/route.js +20 -0
  24. package/dist-client/route.js.map +1 -0
  25. package/dist-client/themes/dark.css +51 -0
  26. package/dist-client/themes/light.css +51 -0
  27. package/dist-client/themes/popup-theme.css +18 -0
  28. package/dist-client/tsconfig.tsbuildinfo +1 -0
  29. package/dist-client/viewparts/menu-tools.d.ts +16 -0
  30. package/dist-client/viewparts/menu-tools.js +171 -0
  31. package/dist-client/viewparts/menu-tools.js.map +1 -0
  32. package/dist-client/viewparts/user-circle.d.ts +5 -0
  33. package/dist-client/viewparts/user-circle.js +26 -0
  34. package/dist-client/viewparts/user-circle.js.map +1 -0
  35. package/dist-server/index.d.ts +0 -0
  36. package/dist-server/index.js +1 -0
  37. package/dist-server/index.js.map +1 -0
  38. package/dist-server/tsconfig.tsbuildinfo +1 -0
  39. package/package.json +7 -7
@@ -0,0 +1,10 @@
1
+ import '@things-factory/notification/dist-client';
2
+ import '@things-factory/setting-ui/dist-client';
3
+ import '@material/web/icon/icon.js';
4
+ import '@operato/i18n/ox-i18n.js';
5
+ import '@things-factory/notification';
6
+ import './viewparts/user-circle';
7
+ import './viewparts/menu-tools';
8
+ import '@dssp/project/client/pages/lib/chatbot-widget';
9
+ import '@dssp/project/dist-client/viewparts/domain-switch';
10
+ export default function bootstrap(): Promise<void>;
@@ -0,0 +1,274 @@
1
+ import '@things-factory/notification/dist-client'; /* for notification-setting-let */
2
+ import '@things-factory/setting-ui/dist-client'; /* for theme-mode-setting-let */
3
+ import '@material/web/icon/icon.js';
4
+ import '@operato/i18n/ox-i18n.js';
5
+ import '@things-factory/notification';
6
+ import './viewparts/user-circle';
7
+ import './viewparts/menu-tools';
8
+ import '@dssp/project/client/pages/lib/chatbot-widget';
9
+ import '@dssp/project/dist-client/viewparts/domain-switch';
10
+ import { html } from 'lit-html';
11
+ import { registerDefaultGroups } from '@operato/board';
12
+ import { navigate, store } from '@operato/shell';
13
+ import { appendViewpart, updateViewpart, toggleOverlay, TOOL_POSITION, VIEWPART_POSITION, VIEWPART_LEVEL } from '@operato/layout';
14
+ import { APPEND_APP_TOOL } from '@things-factory/apptool-base/client';
15
+ import { setupAppToolPart } from '@things-factory/apptool-ui/dist-client';
16
+ import { setupContextUIPart } from '@things-factory/context-ui/dist-client';
17
+ import { hasPrivilege } from '@things-factory/auth-base/dist-client';
18
+ import { setAuthManagementMenus } from '@things-factory/auth-ui/dist-client';
19
+ import { ADD_MORENDA } from '@things-factory/more-base/client';
20
+ import { ADD_SETTING } from '@things-factory/setting-base/dist-client';
21
+ console.log(`%c
22
+ ▄▄▄ ▄▄ ▄▄▄ ▄▄▄
23
+ ▓ ▓ ▓ ▓ ▓ ▀ ▓ ▓
24
+ ▓ ▓ ▓ ▀▀▄▄ ▓▀▀
25
+ ▓ ▓ ▓ ▓ ▄ ▓ ▓
26
+ ▀▀▀ ▀▀ ▀▀▀ ▀
27
+ `, 'background: #222; color: #bada55');
28
+ export default async function bootstrap() {
29
+ var _a, _b;
30
+ /* set board-modeller group and default templates */
31
+ registerDefaultGroups();
32
+ await setupAppToolPart({
33
+ toolbar: true,
34
+ busybar: true,
35
+ mdibar: false
36
+ });
37
+ await setupContextUIPart({
38
+ titlebar: 'header',
39
+ contextToolbar: 'page-footer'
40
+ });
41
+ /* append top-menu to layout (프로젝트 테넌트에서는 메뉴 숨김) */
42
+ var state = store.getState();
43
+ var width = ((_a = state.layout) === null || _a === void 0 ? void 0 : _a.width) || 'WIDE';
44
+ const domainType = ((_b = window.location.pathname.match(/^\/([^/]+)\/[^/]+/)) === null || _b === void 0 ? void 0 : _b[1]) || 'domain';
45
+ const isProjectTenant = domainType === 'project';
46
+ /* header: 현재 체크인된 테넌트(도메인/프로젝트) 표시 + 종류별 그룹핑된 도메인 스위치 */
47
+ appendViewpart({
48
+ name: 'dcsp-domain-indicator',
49
+ viewpart: {
50
+ show: true,
51
+ level: VIEWPART_LEVEL.NORMAL,
52
+ template: html `
53
+ <div style="background-color: var(--md-sys-color-primary-container, rgb(215 231 241));">
54
+ <dssp-domain-switch attrname="description"></dssp-domain-switch>
55
+ </div>
56
+ `
57
+ },
58
+ position: VIEWPART_POSITION.HEADERBAR
59
+ });
60
+ if (!isProjectTenant) {
61
+ appendViewpart({
62
+ name: 'dcsp-topmenu',
63
+ viewpart: {
64
+ show: true,
65
+ template: html ` <menu-tools></menu-tools> `
66
+ },
67
+ position: width == 'WIDE' ? VIEWPART_POSITION.NAVBAR : VIEWPART_POSITION.FOOTERBAR
68
+ });
69
+ store.subscribe(async () => {
70
+ const currentState = store.getState();
71
+ if (currentState.layout.width == width) {
72
+ return;
73
+ }
74
+ width = state.layout.width;
75
+ updateViewpart('dcsp-topmenu', {
76
+ position: width == 'WIDE' ? VIEWPART_POSITION.NAVBAR : VIEWPART_POSITION.FOOTERBAR,
77
+ level: VIEWPART_LEVEL.TOPMOST
78
+ });
79
+ });
80
+ }
81
+ /* setting app-tools */
82
+ store.dispatch({
83
+ type: APPEND_APP_TOOL,
84
+ tool: {
85
+ name: 'app-brand',
86
+ template: html ` <span style="font-size: 1.2em;">CSP</span> `,
87
+ position: TOOL_POSITION.FRONT
88
+ }
89
+ });
90
+ store.dispatch({
91
+ type: APPEND_APP_TOOL,
92
+ tool: {
93
+ name: 'notification-badge',
94
+ template: html `
95
+ <notification-badge
96
+ @click=${e => {
97
+ toggleOverlay('notification', {
98
+ backdrop: true
99
+ });
100
+ }}
101
+ >
102
+ </notification-badge>
103
+ `,
104
+ position: TOOL_POSITION.REAR
105
+ }
106
+ });
107
+ appendViewpart({
108
+ name: 'notification',
109
+ viewpart: {
110
+ show: false,
111
+ hovering: 'edge',
112
+ template: html ` <notification-list style="min-width: 300px;"></notification-list> `
113
+ },
114
+ position: VIEWPART_POSITION.ASIDEBAR
115
+ });
116
+ /* add setting morenda */
117
+ store.dispatch({
118
+ type: ADD_MORENDA,
119
+ morenda: {
120
+ icon: html ` <md-icon>settings</md-icon> `,
121
+ name: html ` <ox-i18n msgid="label.setting"></ox-i18n> `,
122
+ action: () => {
123
+ navigate('setting');
124
+ }
125
+ }
126
+ });
127
+ /* set auth management menus into more-panel */
128
+ setAuthManagementMenus();
129
+ if (await hasPrivilege({
130
+ privilege: 'mutation',
131
+ category: 'user',
132
+ domainOwnerGranted: true,
133
+ superUserGranted: true
134
+ })) {
135
+ store.dispatch({
136
+ type: ADD_MORENDA,
137
+ morenda: {
138
+ icon: html ` <md-icon>vpn_key</md-icon> `,
139
+ name: html ` <ox-i18n msgid="text.oauth2-clients"></ox-i18n> `,
140
+ action: () => {
141
+ navigate('oauth2-clients');
142
+ }
143
+ }
144
+ });
145
+ }
146
+ if (await hasPrivilege({
147
+ privilege: 'mutation',
148
+ category: 'board',
149
+ domainOwnerGranted: true,
150
+ superUserGranted: true
151
+ })) {
152
+ store.dispatch({
153
+ type: ADD_MORENDA,
154
+ morenda: {
155
+ icon: html ` <md-icon>font_download</md-icon> `,
156
+ name: html ` <ox-i18n msgid="menu.fonts"></ox-i18n> `,
157
+ action: () => {
158
+ navigate('font-list');
159
+ }
160
+ }
161
+ });
162
+ store.dispatch({
163
+ type: ADD_MORENDA,
164
+ morenda: {
165
+ icon: html ` <md-icon>dvr</md-icon> `,
166
+ name: html ` <ox-i18n msgid="menu.board-list"></ox-i18n> `,
167
+ action: () => {
168
+ navigate('board-list');
169
+ }
170
+ }
171
+ });
172
+ }
173
+ if (await hasPrivilege({
174
+ privilege: 'query',
175
+ category: 'attachment',
176
+ domainOwnerGranted: true,
177
+ superUserGranted: true
178
+ })) {
179
+ store.dispatch({
180
+ type: ADD_MORENDA,
181
+ morenda: {
182
+ icon: html ` <md-icon>attachment</md-icon> `,
183
+ name: html ` <ox-i18n msgid="menu.attachments"></ox-i18n> `,
184
+ action: () => {
185
+ navigate('attachment-list');
186
+ }
187
+ }
188
+ });
189
+ }
190
+ if (await hasPrivilege({ privilege: 'mutation', category: 'scenario', domainOwnerGranted: true })) {
191
+ store.dispatch({
192
+ type: ADD_MORENDA,
193
+ morenda: {
194
+ icon: html ` <md-icon>dashboard</md-icon> `,
195
+ name: html ` <ox-i18n msgid="menu.board-template"></ox-i18n> `,
196
+ action: () => {
197
+ navigate('board-template-list');
198
+ }
199
+ }
200
+ });
201
+ }
202
+ if (await hasPrivilege({
203
+ privilege: 'mutation',
204
+ category: 'scenario',
205
+ domainOwnerGranted: true,
206
+ superUserGranted: true
207
+ })) {
208
+ store.dispatch({
209
+ type: ADD_MORENDA,
210
+ morenda: {
211
+ icon: html ` <md-icon>device_hub</md-icon> `,
212
+ name: html ` <ox-i18n msgid="text.connection"></ox-i18n> `,
213
+ action: () => {
214
+ navigate('connection');
215
+ }
216
+ }
217
+ });
218
+ store.dispatch({
219
+ type: ADD_MORENDA,
220
+ morenda: {
221
+ icon: html ` <md-icon>format_list_numbered</md-icon> `,
222
+ name: html ` <ox-i18n msgid="text.scenario"></ox-i18n> `,
223
+ action: () => {
224
+ navigate('scenario');
225
+ }
226
+ }
227
+ });
228
+ store.dispatch({
229
+ type: ADD_MORENDA,
230
+ morenda: {
231
+ icon: html ` <md-icon>hub</md-icon> `,
232
+ name: html ` <ox-i18n msgid="text.integration analysis"></ox-i18n>&nbsp;(beta)`,
233
+ action: () => {
234
+ navigate('integration-analysis');
235
+ }
236
+ }
237
+ });
238
+ }
239
+ if (await hasPrivilege({ privilege: 'mutation', category: 'state-register', domainOwnerGranted: true })) {
240
+ store.dispatch({
241
+ type: ADD_MORENDA,
242
+ morenda: {
243
+ icon: html ` <md-icon>app_registration</md-icon> `,
244
+ name: html ` <ox-i18n msgid="title.state-register"></ox-i18n> `,
245
+ action: () => {
246
+ navigate('state-register-page');
247
+ }
248
+ }
249
+ });
250
+ }
251
+ store.dispatch({
252
+ type: ADD_SETTING,
253
+ setting: {
254
+ seq: 10,
255
+ template: html ` <theme-mode-setting-let></theme-mode-setting-let> `
256
+ }
257
+ });
258
+ store.dispatch({
259
+ type: ADD_SETTING,
260
+ setting: {
261
+ seq: 20,
262
+ template: html ` <notification-setting-let></notification-setting-let> `
263
+ }
264
+ });
265
+ appendViewpart({
266
+ name: 'chatbot-widget-viewpart',
267
+ viewpart: {
268
+ show: true,
269
+ template: html ` <chatbot-widget></chatbot-widget> `
270
+ },
271
+ position: VIEWPART_POSITION.FOOTERBAR
272
+ });
273
+ }
274
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import '@things-factory/notification/dist-client' /* for notification-setting-let */\nimport '@things-factory/setting-ui/dist-client' /* for theme-mode-setting-let */\n\nimport '@material/web/icon/icon.js'\nimport '@operato/i18n/ox-i18n.js'\nimport '@things-factory/notification'\nimport './viewparts/user-circle'\nimport './viewparts/menu-tools'\nimport '@dssp/project/client/pages/lib/chatbot-widget'\nimport '@dssp/project/dist-client/viewparts/domain-switch'\n\nimport { html } from 'lit-html'\n\nimport { registerDefaultGroups } from '@operato/board'\nimport { navigate, store } from '@operato/shell'\n\nimport { appendViewpart, updateViewpart, toggleOverlay, TOOL_POSITION, VIEWPART_POSITION, VIEWPART_LEVEL } from '@operato/layout'\nimport { APPEND_APP_TOOL } from '@things-factory/apptool-base/client'\nimport { setupAppToolPart } from '@things-factory/apptool-ui/dist-client'\nimport { setupContextUIPart } from '@things-factory/context-ui/dist-client'\nimport { hasPrivilege } from '@things-factory/auth-base/dist-client'\nimport { setAuthManagementMenus } from '@things-factory/auth-ui/dist-client'\nimport { ADD_MORENDA } from '@things-factory/more-base/client'\nimport { ADD_SETTING } from '@things-factory/setting-base/dist-client'\n\nconsole.log(\n `%c\n▄▄▄ ▄▄ ▄▄▄ ▄▄▄ \n▓ ▓ ▓ ▓ ▓ ▀ ▓ ▓ \n▓ ▓ ▓ ▀▀▄▄ ▓▀▀ \n▓ ▓ ▓ ▓ ▄ ▓ ▓ \n▀▀▀ ▀▀ ▀▀▀ ▀ \n`,\n 'background: #222; color: #bada55'\n)\n\nexport default async function bootstrap() {\n /* set board-modeller group and default templates */\n registerDefaultGroups()\n\n await setupAppToolPart({\n toolbar: true,\n busybar: true,\n mdibar: false\n })\n\n await setupContextUIPart({\n titlebar: 'header',\n contextToolbar: 'page-footer'\n })\n\n /* append top-menu to layout (프로젝트 테넌트에서는 메뉴 숨김) */\n var state = store.getState() as any\n var width = state.layout?.width || 'WIDE'\n\n const domainType = window.location.pathname.match(/^\\/([^/]+)\\/[^/]+/)?.[1] || 'domain'\n const isProjectTenant = domainType === 'project'\n\n /* header: 현재 체크인된 테넌트(도메인/프로젝트) 표시 + 종류별 그룹핑된 도메인 스위치 */\n appendViewpart({\n name: 'dcsp-domain-indicator',\n viewpart: {\n show: true,\n level: VIEWPART_LEVEL.NORMAL,\n template: html`\n <div style=\"background-color: var(--md-sys-color-primary-container, rgb(215 231 241));\">\n <dssp-domain-switch attrname=\"description\"></dssp-domain-switch>\n </div>\n `\n },\n position: VIEWPART_POSITION.HEADERBAR\n })\n\n if (!isProjectTenant) {\n appendViewpart({\n name: 'dcsp-topmenu',\n viewpart: {\n show: true,\n template: html` <menu-tools></menu-tools> `\n },\n position: width == 'WIDE' ? VIEWPART_POSITION.NAVBAR : VIEWPART_POSITION.FOOTERBAR\n })\n\n store.subscribe(async () => {\n const currentState = store.getState() as any\n\n if (currentState.layout.width == width) {\n return\n }\n\n width = state.layout.width\n\n updateViewpart('dcsp-topmenu', {\n position: width == 'WIDE' ? VIEWPART_POSITION.NAVBAR : VIEWPART_POSITION.FOOTERBAR,\n level: VIEWPART_LEVEL.TOPMOST\n })\n })\n }\n\n /* setting app-tools */\n store.dispatch({\n type: APPEND_APP_TOOL,\n tool: {\n name: 'app-brand',\n template: html` <span style=\"font-size: 1.2em;\">CSP</span> `,\n position: TOOL_POSITION.FRONT\n }\n })\n\n store.dispatch({\n type: APPEND_APP_TOOL,\n tool: {\n name: 'notification-badge',\n template: html`\n <notification-badge\n @click=${e => {\n toggleOverlay('notification', {\n backdrop: true\n })\n }}\n >\n </notification-badge>\n `,\n position: TOOL_POSITION.REAR\n }\n })\n\n appendViewpart({\n name: 'notification',\n viewpart: {\n show: false,\n hovering: 'edge',\n template: html` <notification-list style=\"min-width: 300px;\"></notification-list> `\n },\n position: VIEWPART_POSITION.ASIDEBAR\n })\n\n /* add setting morenda */\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>settings</md-icon> `,\n name: html` <ox-i18n msgid=\"label.setting\"></ox-i18n> `,\n action: () => {\n navigate('setting')\n }\n }\n })\n\n /* set auth management menus into more-panel */\n setAuthManagementMenus()\n\n if (\n await hasPrivilege({\n privilege: 'mutation',\n category: 'user',\n domainOwnerGranted: true,\n superUserGranted: true\n })\n ) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>vpn_key</md-icon> `,\n name: html` <ox-i18n msgid=\"text.oauth2-clients\"></ox-i18n> `,\n action: () => {\n navigate('oauth2-clients')\n }\n }\n })\n }\n\n if (\n await hasPrivilege({\n privilege: 'mutation',\n category: 'board',\n domainOwnerGranted: true,\n superUserGranted: true\n })\n ) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>font_download</md-icon> `,\n name: html` <ox-i18n msgid=\"menu.fonts\"></ox-i18n> `,\n action: () => {\n navigate('font-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>dvr</md-icon> `,\n name: html` <ox-i18n msgid=\"menu.board-list\"></ox-i18n> `,\n action: () => {\n navigate('board-list')\n }\n }\n })\n }\n\n if (\n await hasPrivilege({\n privilege: 'query',\n category: 'attachment',\n domainOwnerGranted: true,\n superUserGranted: true\n })\n ) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>attachment</md-icon> `,\n name: html` <ox-i18n msgid=\"menu.attachments\"></ox-i18n> `,\n action: () => {\n navigate('attachment-list')\n }\n }\n })\n }\n\n if (await hasPrivilege({ privilege: 'mutation', category: 'scenario', domainOwnerGranted: true })) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>dashboard</md-icon> `,\n name: html` <ox-i18n msgid=\"menu.board-template\"></ox-i18n> `,\n action: () => {\n navigate('board-template-list')\n }\n }\n })\n }\n if (\n await hasPrivilege({\n privilege: 'mutation',\n category: 'scenario',\n domainOwnerGranted: true,\n superUserGranted: true\n })\n ) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>device_hub</md-icon> `,\n name: html` <ox-i18n msgid=\"text.connection\"></ox-i18n> `,\n action: () => {\n navigate('connection')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>format_list_numbered</md-icon> `,\n name: html` <ox-i18n msgid=\"text.scenario\"></ox-i18n> `,\n action: () => {\n navigate('scenario')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>hub</md-icon> `,\n name: html` <ox-i18n msgid=\"text.integration analysis\"></ox-i18n>&nbsp;(beta)`,\n action: () => {\n navigate('integration-analysis')\n }\n }\n })\n }\n\n if (await hasPrivilege({ privilege: 'mutation', category: 'state-register', domainOwnerGranted: true })) {\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <md-icon>app_registration</md-icon> `,\n name: html` <ox-i18n msgid=\"title.state-register\"></ox-i18n> `,\n action: () => {\n navigate('state-register-page')\n }\n }\n })\n }\n\n store.dispatch({\n type: ADD_SETTING,\n setting: {\n seq: 10,\n template: html` <theme-mode-setting-let></theme-mode-setting-let> `\n }\n })\n\n store.dispatch({\n type: ADD_SETTING,\n setting: {\n seq: 20,\n template: html` <notification-setting-let></notification-setting-let> `\n }\n })\n\n appendViewpart({\n name: 'chatbot-widget-viewpart',\n viewpart: {\n show: true,\n template: html` <chatbot-widget></chatbot-widget> `\n },\n position: VIEWPART_POSITION.FOOTERBAR\n })\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import '@material/web/icon/icon.js';
2
+ import '@material/web/button/elevated-button.js';
3
+ import '@operato/lottie-player';
4
+ import { LitElement } from 'lit';
5
+ declare const AuthCheckIn_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
+ export declare class AuthCheckIn extends AuthCheckIn_base {
7
+ static styles: import("lit").CSSResult[];
8
+ data: any;
9
+ domains: any[];
10
+ domainTypes?: string[];
11
+ user: any;
12
+ searchValue: string;
13
+ collapsedSections: Record<string, boolean>;
14
+ private _applicationMeta?;
15
+ private redirectTo?;
16
+ render(): import("lit-html").TemplateResult<1>;
17
+ private _renderCategory;
18
+ /**
19
+ * groups 를 CATEGORY_ORDER 에 따라 정렬한 [category, items][] 로 반환.
20
+ * 정의된 순서대로 먼저 나열, 정의 안 된 카테고리는 마지막에 insertion 순으로 붙는다.
21
+ */
22
+ private _orderedEntries;
23
+ /**
24
+ * 도메인들을 extType 별로 그룹핑하고 검색어로 필터링한다.
25
+ * 매치 0건인 카테고리는 결과에서 자동 제외 — 빈 섹션은 화면에 노출되지 않는다.
26
+ */
27
+ private _groupAndFilter;
28
+ private _select;
29
+ private _toggleSection;
30
+ private _categoryLabel;
31
+ updated(changed: Map<string, unknown>): void;
32
+ get applicationMeta(): {
33
+ icon?: string;
34
+ title?: string;
35
+ description?: string;
36
+ };
37
+ }
38
+ export {};