@sankhyalabs/sankhyablocks-docs 0.0.0-feat-dev-kb-4158.0

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 (41) hide show
  1. package/components/snk-actions-button/readme.md +33 -0
  2. package/components/snk-actions-button/subcomponents/readme.md +33 -0
  3. package/components/snk-application/readme.md +502 -0
  4. package/components/snk-attach/readme.md +55 -0
  5. package/components/snk-configurator/readme.md +68 -0
  6. package/components/snk-crud/readme.md +148 -0
  7. package/components/snk-crud/subcomponents/readme.md +120 -0
  8. package/components/snk-crud/subcomponents/snk-detail-view/readme.md +126 -0
  9. package/components/snk-data-exporter/exporter-email-sender/readme.md +53 -0
  10. package/components/snk-data-exporter/readme.md +46 -0
  11. package/components/snk-data-unit/readme.md +78 -0
  12. package/components/snk-entity-list/readme.md +40 -0
  13. package/components/snk-filter-bar/filter-item/editors/readme.md +25 -0
  14. package/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/readme.md +43 -0
  15. package/components/snk-filter-bar/filter-item/readme.md +67 -0
  16. package/components/snk-filter-bar/filter-list/readme.md +43 -0
  17. package/components/snk-filter-bar/filter-modal/readme.md +36 -0
  18. package/components/snk-filter-bar/filter-modal/subcomponents/readme.md +40 -0
  19. package/components/snk-filter-bar/readme.md +63 -0
  20. package/components/snk-filter-field-search/readme.md +65 -0
  21. package/components/snk-form/readme.md +66 -0
  22. package/components/snk-form/subcomponents/snk-config-options/readme.md +40 -0
  23. package/components/snk-form/subcomponents/snk-field-config/readme.md +41 -0
  24. package/components/snk-form/subcomponents/snk-form-config/readme.md +51 -0
  25. package/components/snk-form/subcomponents/snk-tab-config/readme.md +46 -0
  26. package/components/snk-grid/readme.md +123 -0
  27. package/components/snk-grid/subcomponents/snk-grid-config/readme.md +47 -0
  28. package/components/snk-grid/subcomponents/snk-select-box/readme.md +37 -0
  29. package/components/snk-personalized-filter/readme.md +70 -0
  30. package/components/snk-personalized-filter/subcomponents/snk-expression-group/readme.md +65 -0
  31. package/components/snk-personalized-filter/subcomponents/snk-expression-item/readme.md +48 -0
  32. package/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/readme.md +38 -0
  33. package/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/readme.md +50 -0
  34. package/components/snk-personalized-filter/subcomponents/snk-filter-param-config/readme.md +53 -0
  35. package/components/snk-pesquisa/readme.md +32 -0
  36. package/components/snk-print-selector/readme.md +23 -0
  37. package/components/snk-simple-bar/readme.md +42 -0
  38. package/components/snk-simple-crud/readme.md +105 -0
  39. package/components/snk-taskbar/readme.md +59 -0
  40. package/components/teste-pesquisa/readme.md +24 -0
  41. package/package.json +14 -0
@@ -0,0 +1,33 @@
1
+ # snk-actions-button
2
+
3
+
4
+
5
+ <!-- Auto Generated Below -->
6
+
7
+
8
+ ## Dependencies
9
+
10
+ ### Used by
11
+
12
+ - [snk-crud](../snk-crud)
13
+ - [snk-detail-view](../snk-crud/subcomponents/snk-detail-view)
14
+ - [snk-grid](../snk-grid)
15
+ - [snk-guides-viewer](../snk-crud/subcomponents)
16
+ - [snk-simple-crud](../snk-simple-crud)
17
+ - [snk-taskbar](../snk-taskbar)
18
+
19
+ ### Graph
20
+ ```mermaid
21
+ graph TD;
22
+ snk-crud --> snk-actions-button
23
+ snk-detail-view --> snk-actions-button
24
+ snk-grid --> snk-actions-button
25
+ snk-guides-viewer --> snk-actions-button
26
+ snk-simple-crud --> snk-actions-button
27
+ snk-taskbar --> snk-actions-button
28
+ style snk-actions-button fill:#f9f,stroke:#333,stroke-width:4px
29
+ ```
30
+
31
+ ----------------------------------------------
32
+
33
+
@@ -0,0 +1,33 @@
1
+ # snk-client-confirm
2
+
3
+
4
+
5
+ <!-- Auto Generated Below -->
6
+
7
+
8
+ ## Properties
9
+
10
+ | Property | Attribute | Description | Type | Default |
11
+ | -------------- | --------------- | --------------------------------- | ------------ | ----------- |
12
+ | `accept` | -- | Retorno quando usuário confirmar. | `() => void` | `undefined` |
13
+ | `cancel` | -- | Retorno quando usuário cancelar. | `() => void` | `undefined` |
14
+ | `message` | `message` | Mensagem da popup. | `string` | `undefined` |
15
+ | `titleMessage` | `title-message` | Título da popup. | `string` | `undefined` |
16
+
17
+
18
+ ## Methods
19
+
20
+ ### `openPopup() => Promise<void>`
21
+
22
+ Responsável por abrir a popup.
23
+
24
+ #### Returns
25
+
26
+ Type: `Promise<void>`
27
+
28
+
29
+
30
+
31
+ ----------------------------------------------
32
+
33
+
@@ -0,0 +1,502 @@
1
+ # snk-application
2
+
3
+
4
+
5
+ <!-- Auto Generated Below -->
6
+
7
+
8
+ ## Properties
9
+
10
+ | Property | Attribute | Description | Type | Default |
11
+ | ----------------- | ------------- | ------------------------------------------------------------ | ------------------- | ----------- |
12
+ | `configName` | `config-name` | Usado para salvar as configurações dos blocos de construção. | `string` | `undefined` |
13
+ | `messagesBuilder` | -- | | `SnkMessageBuilder` | `undefined` |
14
+
15
+
16
+ ## Events
17
+
18
+ | Event | Description | Type |
19
+ | -------------------- | ----------------------------------------- | ---------------------- |
20
+ | `applicationLoaded` | Emitido quando a aplicação for carregada. | `CustomEvent<boolean>` |
21
+ | `applicationLoading` | Emitido ao iniciar a carga do componente. | `CustomEvent<boolean>` |
22
+
23
+
24
+ ## Methods
25
+
26
+ ### `addClientEvent(eventID: String, handler: (clientEvent: IClientEventResponse, dataFetcherReacaller: IDataFetcherRecaller) => void) => Promise<void>`
27
+
28
+ Registra um client event para o DataFetcher da aplicação.
29
+
30
+ #### Returns
31
+
32
+ Type: `Promise<void>`
33
+
34
+
35
+
36
+ ### `addSearchListener(entityName: string, dataUnit: DataUnit, listener: ISearchListener) => Promise<IRemoveSearchListener>`
37
+
38
+ Adiciona um listener no fetcher de Pesquisa
39
+
40
+ #### Returns
41
+
42
+ Type: `Promise<IRemoveSearchListener>`
43
+
44
+
45
+
46
+ ### `alert(title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>`
47
+
48
+ Exibe o diálogo de alerta de acordo com os parâmetros passados.
49
+
50
+ #### Returns
51
+
52
+ Type: `Promise<boolean>`
53
+
54
+
55
+
56
+ ### `callServiceBroker(serviceName: string, payload: string | Object, options?: Options) => Promise<any>`
57
+
58
+ Realiza a chamada ao Service Broker conforme o nome do serviço.
59
+
60
+ #### Returns
61
+
62
+ Type: `Promise<any>`
63
+
64
+
65
+
66
+ ### `closeModal() => Promise<void>`
67
+
68
+ Fecha o Modal e limpa o conteúdo.
69
+
70
+ #### Returns
71
+
72
+ Type: `Promise<void>`
73
+
74
+
75
+
76
+ ### `closePopUp() => Promise<void>`
77
+
78
+ Fecha o Popup e limpa o conteúdo.
79
+
80
+ #### Returns
81
+
82
+ Type: `Promise<void>`
83
+
84
+
85
+
86
+ ### `confirm(title: string, message: string, icon?: string, dialogType?: DialogType, options?: MessageOptions) => Promise<boolean>`
87
+
88
+ Exibe um diálogo de confirmação
89
+
90
+ #### Returns
91
+
92
+ Type: `Promise<boolean>`
93
+
94
+
95
+
96
+ ### `createDataunit(entityName: string, dataUnitName?: string, parentDataUnit?: DataUnit, configName?: string) => Promise<DataUnit>`
97
+
98
+ Cria o DataUnit a partir do nome da entidade. É possível armazená-lo no cache
99
+ passando o dataUnitName, assim, se mais de uma chamada for feita, o mesmo DataUnit será usado.
100
+
101
+ #### Returns
102
+
103
+ Type: `Promise<DataUnit>`
104
+
105
+
106
+
107
+ ### `error(title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>`
108
+
109
+ Exibe o diálogo de erro de acordo com os parâmetros passados.
110
+
111
+ #### Returns
112
+
113
+ Type: `Promise<boolean>`
114
+
115
+
116
+
117
+ ### `executePreparedSearch(mode: string, argument: string, options: any) => Promise<Array<IOption> | IOption>`
118
+
119
+ Obtém as opções em componentes de pesquisa
120
+ Ex.: snk-config-options
121
+
122
+ #### Returns
123
+
124
+ Type: `Promise<IOption | IOption[]>`
125
+
126
+
127
+
128
+ ### `executeSearch(searchArgument: ISearchArgument, fieldName: string, dataUnit: DataUnit) => Promise<Array<IOption> | IOption>`
129
+
130
+ Obtém as opções em componentes de pesquisa
131
+ Ex.: snk-config-options
132
+
133
+ #### Returns
134
+
135
+ Type: `Promise<IOption | IOption[]>`
136
+
137
+
138
+
139
+ ### `executeSelectDistinct(dataUnit: DataUnit, fieldName: string, argument: string) => Promise<Array<any>>`
140
+
141
+ Com base em um campo realiza um "select distinct" respeitando os
142
+ filtros atuais do dataUnit e um critério de filtro para a própria
143
+ coluna.
144
+
145
+ #### Returns
146
+
147
+ Type: `Promise<any[]>`
148
+
149
+
150
+
151
+ ### `getAllAccess() => Promise<any>`
152
+
153
+ Obtém todos os acessos do usuário logado.
154
+
155
+ #### Returns
156
+
157
+ Type: `Promise<any>`
158
+
159
+
160
+
161
+ ### `getAppLabel() => Promise<string>`
162
+
163
+ Obtém o nome das telas da aplicação
164
+
165
+ #### Returns
166
+
167
+ Type: `Promise<string>`
168
+
169
+
170
+
171
+ ### `getApplicationPath() => Promise<string>`
172
+
173
+ Retorna o path relativo da aplicação.
174
+
175
+ #### Returns
176
+
177
+ Type: `Promise<string>`
178
+
179
+
180
+
181
+ ### `getAttributeFromHTMLWrapper(attribName: string) => Promise<string>`
182
+
183
+ Acessa informações de contexto "empurrados" na abertura da tela.
184
+
185
+ #### Returns
186
+
187
+ Type: `Promise<string>`
188
+
189
+
190
+
191
+ ### `getBooleanParam(name: string) => Promise<boolean>`
192
+
193
+ Obtém o valor de um parâmetro do tipo booleano.
194
+
195
+ #### Returns
196
+
197
+ Type: `Promise<boolean>`
198
+
199
+
200
+
201
+ ### `getConfig(key: string) => Promise<any>`
202
+
203
+ Obtém a configuração de um recurso por service broker
204
+
205
+ #### Returns
206
+
207
+ Type: `Promise<any>`
208
+
209
+
210
+
211
+ ### `getDataFetcher() => Promise<DataFetcher>`
212
+
213
+ Retorna a instancia do DataFetcher utilizado pelo application
214
+
215
+ #### Returns
216
+
217
+ Type: `Promise<DataFetcher>`
218
+
219
+ DataFetcher do application
220
+
221
+ ### `getDataUnit(entityName: string, dataUnitName: string, parentDataUnit?: DataUnit, configName?: string) => Promise<DataUnit>`
222
+
223
+ Obtem um DataUnit do cache ou cria um caso ainda não tenha sido criado.
224
+
225
+ #### Returns
226
+
227
+ Type: `Promise<DataUnit>`
228
+
229
+
230
+
231
+ ### `getDateParam(name: string) => Promise<Date>`
232
+
233
+ Obtém o valor de um parâmetro do tipo data.
234
+
235
+ #### Returns
236
+
237
+ Type: `Promise<Date>`
238
+
239
+
240
+
241
+ ### `getFloatParam(name: string) => Promise<number>`
242
+
243
+ Obtém o valor de um parâmetro do tipo Decimal.
244
+
245
+ #### Returns
246
+
247
+ Type: `Promise<number>`
248
+
249
+
250
+
251
+ ### `getIntParam(name: string) => Promise<number>`
252
+
253
+ Obtém o valor de um parâmetro do tipo Inteiro.
254
+
255
+ #### Returns
256
+
257
+ Type: `Promise<number>`
258
+
259
+
260
+
261
+ ### `getResourceID() => Promise<string>`
262
+
263
+ Obtém o resourceID da tela em questão.
264
+
265
+ #### Returns
266
+
267
+ Type: `Promise<string>`
268
+
269
+
270
+
271
+ ### `getStringParam(name: string) => Promise<string>`
272
+
273
+ Obtém o valor de um parâmetro do tipo string.
274
+
275
+ #### Returns
276
+
277
+ Type: `Promise<string>`
278
+
279
+
280
+
281
+ ### `getUserID() => Promise<string>`
282
+
283
+ Obtém o UserId da tela em questão.
284
+
285
+ #### Returns
286
+
287
+ Type: `Promise<string>`
288
+
289
+
290
+
291
+ ### `hasAccess(access: AutorizationType) => Promise<boolean>`
292
+
293
+ Obtém `true` caso o usuário logado tem permissão pra determinada ação.
294
+
295
+ #### Returns
296
+
297
+ Type: `Promise<boolean>`
298
+
299
+
300
+
301
+ ### `hasClientEvent(eventID: String) => Promise<boolean>`
302
+
303
+ Verfica se um client event está registrado no DataFetcher da aplicação.
304
+
305
+ #### Returns
306
+
307
+ Type: `Promise<boolean>`
308
+
309
+
310
+
311
+ ### `importScript(relativePath: string | Array<string>) => Promise<void>`
312
+
313
+ Realiza o import de um JavaScript que está disponivel dentro da pasta /public da aplicação.
314
+
315
+ #### Returns
316
+
317
+ Type: `Promise<void>`
318
+
319
+
320
+
321
+ ### `info(message: string, options?: MessageOptions) => Promise<void>`
322
+
323
+ Exibe uma informação efêmera (de segundo plano).
324
+
325
+ #### Returns
326
+
327
+ Type: `Promise<void>`
328
+
329
+
330
+
331
+ ### `initOnboarding(onboardingKey: string) => Promise<void>`
332
+
333
+
334
+
335
+ #### Returns
336
+
337
+ Type: `Promise<void>`
338
+
339
+
340
+
341
+ ### `isDebugMode() => Promise<boolean>`
342
+
343
+ Obtém `true` caso a tela esteja em modo de debug.
344
+
345
+ #### Returns
346
+
347
+ Type: `Promise<boolean>`
348
+
349
+
350
+
351
+ ### `isUserSup() => Promise<boolean>`
352
+
353
+ Obtém `true` caso o usuário logado seja o SUP.
354
+
355
+ #### Returns
356
+
357
+ Type: `Promise<boolean>`
358
+
359
+
360
+
361
+ ### `loadGridConfig(name: string) => Promise<IGridConfig>`
362
+
363
+ Obtém a configuração de grade.
364
+
365
+ #### Returns
366
+
367
+ Type: `Promise<IGridConfig>`
368
+
369
+
370
+
371
+ ### `loadTotals(name: string, resourceID: string, filters: Array<Filter>) => Promise<Map<string, number>>`
372
+
373
+ Obtém os totalizadores da grade.
374
+
375
+ #### Returns
376
+
377
+ Type: `Promise<Map<string, number>>`
378
+
379
+
380
+
381
+ ### `message(title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>`
382
+
383
+ Exibe um diálogo de mensagem comum
384
+
385
+ #### Returns
386
+
387
+ Type: `Promise<boolean>`
388
+
389
+
390
+
391
+ ### `openApp(resourceId: string, pkObject: Object) => Promise<void>`
392
+
393
+ Abre determinada tela, repassando pkObject.
394
+
395
+ #### Returns
396
+
397
+ Type: `Promise<void>`
398
+
399
+
400
+
401
+ ### `removeClientEvent(eventID: String) => Promise<void>`
402
+
403
+ Remove um client event para o DataFetcher da aplicação.
404
+
405
+ #### Returns
406
+
407
+ Type: `Promise<void>`
408
+
409
+
410
+
411
+ ### `saveConfig(key: string, data: Object) => Promise<any>`
412
+
413
+ Salva a configuração de determinado recurso.
414
+
415
+ #### Returns
416
+
417
+ Type: `Promise<any>`
418
+
419
+
420
+
421
+ ### `showModal(content: HTMLElement) => Promise<void>`
422
+
423
+ Exibe o conteúdo passado em um Modal.
424
+
425
+ #### Returns
426
+
427
+ Type: `Promise<void>`
428
+
429
+
430
+
431
+ ### `showPopUp(content: HTMLElement, size?: "auto" | "full", useHeader?: boolean) => Promise<void>`
432
+
433
+ Exibe o conteúdo passado em um Popup.
434
+
435
+ #### Returns
436
+
437
+ Type: `Promise<void>`
438
+
439
+
440
+
441
+ ### `success(title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>`
442
+
443
+ Exibe o diálogo de sucesso de acordo com os parâmetros passados.
444
+
445
+ #### Returns
446
+
447
+ Type: `Promise<boolean>`
448
+
449
+
450
+
451
+ ### `temOpcional(opcional: string) => Promise<boolean>`
452
+
453
+ Verifica se a licença do cliente tem determinado opcional (produto)
454
+
455
+ #### Returns
456
+
457
+ Type: `Promise<boolean>`
458
+
459
+
460
+
461
+ ### `updateDataunitCache(oldName: string, dataUnitName: string, dataUnit: DataUnit) => Promise<void>`
462
+
463
+ Atualiza o cache de dataunits da aplicação.
464
+
465
+ #### Returns
466
+
467
+ Type: `Promise<void>`
468
+
469
+
470
+
471
+ ### `webConnection(keyPort: string, methodName: string, params: IAppletCallerParams) => Promise<void>`
472
+
473
+ Realiza a chamada do WebConnection para realizar a exportação de arquivo.
474
+
475
+ #### Returns
476
+
477
+ Type: `Promise<void>`
478
+
479
+
480
+
481
+
482
+ ## Dependencies
483
+
484
+ ### Used by
485
+
486
+ - [teste-pesquisa](../teste-pesquisa)
487
+
488
+ ### Depends on
489
+
490
+ - [snk-pesquisa](../snk-pesquisa)
491
+
492
+ ### Graph
493
+ ```mermaid
494
+ graph TD;
495
+ snk-application --> snk-pesquisa
496
+ teste-pesquisa --> snk-application
497
+ style snk-application fill:#f9f,stroke:#333,stroke-width:4px
498
+ ```
499
+
500
+ ----------------------------------------------
501
+
502
+
@@ -0,0 +1,55 @@
1
+ # snk-attach
2
+
3
+
4
+
5
+ <!-- Auto Generated Below -->
6
+
7
+
8
+ ## Properties
9
+
10
+ | Property | Attribute | Description | Type | Default |
11
+ | -------------------------- | -------------- | -------------------------------------------------------------------------------------- | ------------------- | ----------- |
12
+ | `entityName` _(required)_ | `entity-name` | Nome da entidade à ser utilizada para relacionar o anexo ao DataUnit pai. | `string` | `undefined` |
13
+ | `messagesBuilder` | -- | Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção. | `SnkMessageBuilder` | `undefined` |
14
+ | `registerKey` _(required)_ | `register-key` | Identificação do registro pai. | `string` | `undefined` |
15
+
16
+
17
+ ## Events
18
+
19
+ | Event | Description | Type |
20
+ | ------ | -------------------------------------------------------- | ------------------- |
21
+ | `back` | Evento disparado quando o usuário clica no botão voltar. | `CustomEvent<void>` |
22
+
23
+
24
+ ## Dependencies
25
+
26
+ ### Used by
27
+
28
+ - [snk-crud](../snk-crud)
29
+ - [snk-detail-view](../snk-crud/subcomponents/snk-detail-view)
30
+
31
+ ### Depends on
32
+
33
+ - [snk-simple-bar](../snk-simple-bar)
34
+ - [snk-simple-crud](../snk-simple-crud)
35
+
36
+ ### Graph
37
+ ```mermaid
38
+ graph TD;
39
+ snk-attach --> snk-simple-bar
40
+ snk-attach --> snk-simple-crud
41
+ snk-simple-crud --> snk-data-unit
42
+ snk-simple-crud --> snk-taskbar
43
+ snk-simple-crud --> snk-data-exporter
44
+ snk-simple-crud --> snk-actions-button
45
+ snk-taskbar --> snk-data-exporter
46
+ snk-taskbar --> snk-actions-button
47
+ snk-data-exporter --> snk-exporter-email-sender
48
+ snk-crud --> snk-attach
49
+ snk-detail-view --> snk-attach
50
+ style snk-attach fill:#f9f,stroke:#333,stroke-width:4px
51
+ ```
52
+
53
+ ----------------------------------------------
54
+
55
+
@@ -0,0 +1,68 @@
1
+ # snk-configurator
2
+
3
+
4
+
5
+ <!-- Auto Generated Below -->
6
+
7
+
8
+ ## Properties
9
+
10
+ | Property | Attribute | Description | Type | Default |
11
+ | ------------------- | --------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------- |
12
+ | `configName` | `config-name` | Usado para guardar ou recuperar as configurações do formulário. | `string` | `undefined` |
13
+ | `messagesBuilder` | -- | Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção. | `SnkMessageBuilder` | `undefined` |
14
+ | `showActionButtons` | `show-action-buttons` | Usado para exibir os botões de ação | `boolean` | `false` |
15
+ | `viewMode` | `view-mode` | Define qual modo de visualização está ativo. | `VIEW_MODE.ATTACHMENT \| VIEW_MODE.FORM \| VIEW_MODE.GRID` | `VIEW_MODE.GRID` |
16
+
17
+
18
+ ## Events
19
+
20
+ | Event | Description | Type |
21
+ | ---------------- | ---------------------------------------------------- | ----------------------------------------------------------------------- |
22
+ | `cancel` | Emitido quando cancela o salvamento da configuração. | `CustomEvent<void>` |
23
+ | `configSelected` | Emitido quando seleciona o modo de visualização. | `CustomEvent<VIEW_MODE.ATTACHMENT \| VIEW_MODE.FORM \| VIEW_MODE.GRID>` |
24
+ | `openConfig` | Emitido quando clica para abrir a configuração. | `CustomEvent<VIEW_MODE.ATTACHMENT \| VIEW_MODE.FORM \| VIEW_MODE.GRID>` |
25
+ | `save` | Emitido quando salva a configuração. | `CustomEvent<void>` |
26
+
27
+
28
+ ## Methods
29
+
30
+ ### `close() => Promise<void>`
31
+
32
+ Fecha a janela de configuração.
33
+
34
+ #### Returns
35
+
36
+ Type: `Promise<void>`
37
+
38
+
39
+
40
+ ### `open() => Promise<void>`
41
+
42
+ Exibe a janela de configuração.
43
+
44
+ #### Returns
45
+
46
+ Type: `Promise<void>`
47
+
48
+
49
+
50
+
51
+ ## Dependencies
52
+
53
+ ### Used by
54
+
55
+ - [snk-crud](../snk-crud)
56
+ - [snk-guides-viewer](../snk-crud/subcomponents)
57
+
58
+ ### Graph
59
+ ```mermaid
60
+ graph TD;
61
+ snk-crud --> snk-configurator
62
+ snk-guides-viewer --> snk-configurator
63
+ style snk-configurator fill:#f9f,stroke:#333,stroke-width:4px
64
+ ```
65
+
66
+ ----------------------------------------------
67
+
68
+