@seniorsistemas/data-seniorx-core 3.3.0 → 3.4.0-main-e91c7773

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 (32) hide show
  1. package/core/constants/nested-table.const.d.ts +3 -0
  2. package/core/constants/table.const.d.ts +2 -0
  3. package/core/types/nested-table.type.d.ts +18 -0
  4. package/esm2022/core/constants/nested-table.const.mjs +4 -0
  5. package/esm2022/core/constants/table.const.mjs +15 -1
  6. package/esm2022/core/types/nested-table.type.mjs +2 -0
  7. package/esm2022/features/datepicker/datepicker.component.mjs +179 -9
  8. package/esm2022/features/nested-table/nested-table.component.mjs +132 -0
  9. package/esm2022/features/panel/panel.component.mjs +3 -3
  10. package/esm2022/features/table/components/table-actions-menu.component.mjs +47 -6
  11. package/esm2022/features/table/components/table-cell-content.component.mjs +3 -3
  12. package/esm2022/features/table/table.component.mjs +17 -67
  13. package/esm2022/features/table/utils/table-data.util.mjs +40 -1
  14. package/esm2022/locales/en.json +5 -0
  15. package/esm2022/locales/es-CO.json +5 -0
  16. package/esm2022/locales/pt.json +5 -0
  17. package/esm2022/providers/features.provider.mjs +3 -1
  18. package/esm2022/public-api.mjs +2 -1
  19. package/features/datepicker/datepicker.component.d.ts +14 -1
  20. package/features/nested-table/nested-table.component.d.ts +47 -0
  21. package/features/table/components/table-actions-menu.component.d.ts +16 -1
  22. package/features/table/table.component.d.ts +0 -1
  23. package/features/table/utils/table-data.util.d.ts +7 -1
  24. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +435 -83
  25. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  26. package/package.json +1 -1
  27. package/public-api.d.ts +2 -0
  28. package/src/locales/en.json +5 -0
  29. package/src/locales/es-CO.json +5 -0
  30. package/src/locales/pt.json +5 -0
  31. package/styles/accessibility.scss +92 -0
  32. package/styles.css +89 -1
package/package.json CHANGED
@@ -100,5 +100,5 @@
100
100
  ],
101
101
  "style": "./styles.css",
102
102
  "typings": "index.d.ts",
103
- "version": "3.3.0"
103
+ "version": "3.4.0-main-e91c7773"
104
104
  }
package/public-api.d.ts CHANGED
@@ -129,6 +129,7 @@ export type { NumberInputAlignment, NumberInputParseResult, NumberInputSeparator
129
129
  export { mockRowCardList } from './core/types/row-card.type';
130
130
  export type { OptionsRowCard, RowCard, RowCardListOptions } from './core/types/row-card.type';
131
131
  export type { ActionMenuItem, ActionMenuItemDisabled, ActionsCellOptions, ButtonCellOptions, CheckboxCellOptions, IconCellOptions, IconTitleCellOptions, RowBase, SortOrder, TableActionMenuItem, TableBaseVisualConfig, TableCellConfig, TableCellConfigKey, TableCellConfigMap, TableCellTag, TableColumn, TableColumnAlignment, TableColumnContent, TableColumnType, TableIconConfig, TableIconConfigInput, TableOpenMenuState, TableOptions, TableRowIdentity, TableSearchEvent, TableTagConfig, TableTagConfigInput, TableTextOverflow, TableTitleIconConfig, TableTitleIconConfigInput, TableVisualConfigInput, TableVisualConfigResolver, TagCellOptions } from './core/types/table.type';
132
+ export type { NestedTableActionEvent, NestedTableGroup, NestedTableOptions } from './core/types/nested-table.type';
132
133
  export type { FieldAccessor, FilterableRecord, FilterDef, FiltersConfig, FilterSelection, FiltersState, FilterType, LabelAccessor, ValueAccessor } from './core/types/filters.type';
133
134
  export type { RenderableIconType } from './core/types/icon.type';
134
135
  export type { LoadingStateDirectiveValue, LoadingStateIndicator } from './core/types/loading-state.type';
@@ -211,6 +212,7 @@ export { LocalizedNumberInputComponent } from './features/localized-number-input
211
212
  export { ListComponent } from './features/list/list.component';
212
213
  export { MaskComponent } from './features/mask/mask.component';
213
214
  export { TableComponent } from './features/table/table.component';
215
+ export { NestedTableComponent } from './features/nested-table/nested-table.component';
214
216
  export { TabComponent } from './features/tab/tab.component';
215
217
  export { TabItemComponent } from './features/tab/components/tab-item/tab-item.component';
216
218
  export { SidebarComponent } from './features/sidebar/sidebar.component';
@@ -178,6 +178,9 @@
178
178
  "platform.datacore.accessibility_panel_content_field": "Panel content text",
179
179
  "platform.datacore.accessibility_panel_toggleable_toggle": "Toggle panel collapsible option",
180
180
  "platform.datacore.accessibility_panel_collapsed_toggle": "Toggle panel collapsed state",
181
+ "platform.datacore.accessibility_nested_table_group_toggle": "Toggle group row",
182
+ "platform.datacore.accessibility_nested_table_hint": "Information",
183
+ "platform.datacore.accessibility_nested_table_row": "group",
181
184
  "platform.datacore.accessibility_code_editor_demo_tabs": "Code editor component demonstration tabs",
182
185
  "platform.datacore.accessibility_code_editor_language_field": "Programming language selection",
183
186
  "platform.datacore.accessibility_code_editor_width_field": "Code editor width",
@@ -361,6 +364,8 @@
361
364
  "platform.datacore.showcase_demos_pick_list_description": "Standard list",
362
365
  "platform.datacore.showcase_demos_table_label": "Table",
363
366
  "platform.datacore.showcase_demos_table_description": "Table and filters",
367
+ "platform.datacore.showcase_demos_nested_table_label": "Nested Table",
368
+ "platform.datacore.showcase_demos_nested_table_description": "Two-level table with row expansion",
364
369
  "platform.datacore.showcase_demos_card_list_label": "Card List",
365
370
  "platform.datacore.showcase_demos_card_list_description": "Grid cards",
366
371
  "platform.datacore.showcase_demos_row_card_list_label": "Row Card List",
@@ -178,6 +178,9 @@
178
178
  "platform.datacore.accessibility_panel_content_field": "Texto del contenido del panel",
179
179
  "platform.datacore.accessibility_panel_toggleable_toggle": "Alternar opción colapsable del panel",
180
180
  "platform.datacore.accessibility_panel_collapsed_toggle": "Alternar estado colapsado del panel",
181
+ "platform.datacore.accessibility_nested_table_group_toggle": "Expandir o contraer fila de grupo",
182
+ "platform.datacore.accessibility_nested_table_hint": "Información",
183
+ "platform.datacore.accessibility_nested_table_row": "grupo",
181
184
  "platform.datacore.accessibility_code_editor_demo_tabs": "Pestañas de demostración del componente editor de código",
182
185
  "platform.datacore.accessibility_code_editor_language_field": "Selección de lenguaje de programación",
183
186
  "platform.datacore.accessibility_code_editor_width_field": "Ancho del editor de código",
@@ -360,6 +363,8 @@
360
363
  "platform.datacore.showcase_demos_pick_list_description": "Lista estándar",
361
364
  "platform.datacore.showcase_demos_table_label": "Table",
362
365
  "platform.datacore.showcase_demos_table_description": "Tabla y filtros",
366
+ "platform.datacore.showcase_demos_nested_table_label": "Nested Table",
367
+ "platform.datacore.showcase_demos_nested_table_description": "Tabla de dos niveles con expansión de fila",
363
368
  "platform.datacore.showcase_demos_card_list_label": "Card List",
364
369
  "platform.datacore.showcase_demos_card_list_description": "Tarjetas en cuadrícula",
365
370
  "platform.datacore.showcase_demos_row_card_list_label": "Row Card List",
@@ -178,6 +178,9 @@
178
178
  "platform.datacore.accessibility_panel_content_field": "Texto do conteúdo do painel",
179
179
  "platform.datacore.accessibility_panel_toggleable_toggle": "Alternar opção colapsável do painel",
180
180
  "platform.datacore.accessibility_panel_collapsed_toggle": "Alternar estado colapsado do painel",
181
+ "platform.datacore.accessibility_nested_table_group_toggle": "Expandir ou recolher linha de grupo",
182
+ "platform.datacore.accessibility_nested_table_hint": "Informação",
183
+ "platform.datacore.accessibility_nested_table_row": "grupo",
181
184
  "platform.datacore.accessibility_code_editor_demo_tabs": "Abas de demonstração do componente editor de código",
182
185
  "platform.datacore.accessibility_code_editor_language_field": "Seleção de linguagem de programação",
183
186
  "platform.datacore.accessibility_code_editor_width_field": "Largura do editor de código",
@@ -361,6 +364,8 @@
361
364
  "platform.datacore.showcase_demos_pick_list_description": "Listagem padrão",
362
365
  "platform.datacore.showcase_demos_table_label": "Table",
363
366
  "platform.datacore.showcase_demos_table_description": "Tabela e filtros",
367
+ "platform.datacore.showcase_demos_nested_table_label": "Nested Table",
368
+ "platform.datacore.showcase_demos_nested_table_description": "Tabela de duas camadas com expansão de linha",
364
369
  "platform.datacore.showcase_demos_card_list_label": "Card List",
365
370
  "platform.datacore.showcase_demos_card_list_description": "Cards em grade",
366
371
  "platform.datacore.showcase_demos_row_card_list_label": "Row Card List",
@@ -339,3 +339,95 @@
339
339
  border-color: var(--sdc-focus-border-color, #428bca);
340
340
  }
341
341
  }
342
+
343
+
344
+
345
+ /* ========================================
346
+ Área de toque em aparelho de toque (44px)
347
+ ========================================
348
+
349
+ ATENÇÃO para quem for mexer neste arquivo: as regras ACIMA estão dentro de blocos
350
+ `::ng-deep`. Isto aqui é uma folha de estilo GLOBAL, compilada direto para o
351
+ styles.css publicado - não é o estilo de um componente Angular, onde o compilador
352
+ remove esse pseudo-seletor. No CSS publicado ele chega literal, o navegador não o
353
+ reconhece e DESCARTA a regra inteira. Medido no bundle: 99 ocorrências de
354
+ ::ng-deep, nenhuma com efeito. Dá pra ver pelo resultado: o bloco acima exige 24x24
355
+ em qualquer botão, e mesmo assim `sdc-info-sign__icon` media 18x18 no celular.
356
+
357
+ Retirar os ::ng-deep de uma vez reanimaria as 99 regras ao mesmo tempo - altura de
358
+ campo, padding de célula de tabela, anel de foco e cor de link mudariam juntos, em
359
+ todos os produtos. Precisa ser feito, mas com teste visual próprio.
360
+
361
+ O bloco abaixo é escrito sem ::ng-deep, então vale de verdade.
362
+
363
+ --------------------------------------------------------------------------------
364
+ POR QUE ÁREA DE TOQUE E NÃO TAMANHO
365
+
366
+ A primeira versão disto crescia a CAIXA dos elementos (min-width/min-height: 44px).
367
+ Funcionava na métrica e estragava o desenho: o breadcrumb virava uma fileira de
368
+ caixas de 44px e desalinhava do título, o ícone de informação inchava na linha do
369
+ rótulo, e a tag de filtro ficava enorme ao lado da tag de status, que continuava
370
+ pequena. Feedback do time, com razão: o layout anterior já estava bom.
371
+
372
+ O dedo não precisa que o BOTÃO seja grande - precisa que a REGIÃO QUE RECEBE O
373
+ TOQUE seja. Um ::after absoluto e centrado, sem pintura nenhuma, leva essa região a
374
+ 44x44 e não ocupa espaço no layout, porque sai do fluxo. O elemento continua
375
+ exatamente do tamanho que era.
376
+ */
377
+
378
+ @mixin area-de-toque($tamanho: 44px) {
379
+ position: relative;
380
+
381
+ &::after {
382
+ content: '';
383
+ position: absolute;
384
+ top: 50%;
385
+ left: 50%;
386
+ width: $tamanho;
387
+ height: $tamanho;
388
+ min-width: 100%;
389
+ min-height: 100%;
390
+ transform: translate(-50%, -50%);
391
+ }
392
+ }
393
+
394
+ @media (pointer: coarse) {
395
+ :root {
396
+ /* Único tamanho que de fato muda: campo de formulário. 34px num dedo é pouco e
397
+ 44px é o padrão em celular - aqui crescer é o comportamento esperado, não um
398
+ efeito colateral. Alimenta textbox, combobox, autocomplete, chips e afins. */
399
+ --sdc-formfield-default-height: 44px;
400
+
401
+ /* O paginador anda colado ao combobox de "itens por página", e os dois precisam
402
+ ter a mesma altura - lado a lado, a diferença salta à vista. O combobox segue
403
+ a variável acima e foi pra 44px; as páginas do paginador ficavam nos 34px de
404
+ sempre. Agora acompanham. */
405
+ --sdc-table-paginator-size: 44px;
406
+ }
407
+
408
+ /* Botao com rotulo e caso diferente dos de cima: ali crescer desalinhava o layout,
409
+ aqui 44px de altura e o esperado num celular - o tem 25px e some debaixo
410
+ do dedo. vence o fixo da lib sem disputar especificidade,
411
+ porque a propriedade e outra. */
412
+ .s-button,
413
+ .sdc-button {
414
+ min-height: 44px;
415
+ }
416
+
417
+ .sdc-breadcrumb-link,
418
+ .sdc-info-sign__icon,
419
+ .sdc-panel__toggle,
420
+ .sdc-panel__border-button,
421
+ .sdc-page,
422
+ .sdc-modal__icon-button,
423
+ .sdc-table-expandable-toggle,
424
+ .sdc-table-actions-trigger,
425
+ .sdc-combobox__icon-button {
426
+ @include area-de-toque;
427
+ }
428
+ }
429
+
430
+ /* NAO incluido de proposito: --sdc-form-tooltip-size. Chips, color-picker, combobox,
431
+ mask e number-input usam essa variavel em `width`/`height` FIXOS do icone de ajuda,
432
+ nao em minimo - leva-la a 44px quase dobra um icone que fica na linha do rotulo e
433
+ empurra o formulario. Vale revisar, mas com teste visual dessas cinco telas. */
package/styles.css CHANGED
@@ -21205,4 +21205,92 @@
21205
21205
  ::ng-deep select:focus,
21206
21206
  ::ng-deep textarea:focus {
21207
21207
  border-color: var(--sdc-focus-border-color, #428bca);
21208
- }
21208
+ }
21209
+
21210
+ /* ========================================
21211
+ Área de toque em aparelho de toque (44px)
21212
+ ========================================
21213
+
21214
+ ATENÇÃO para quem for mexer neste arquivo: as regras ACIMA estão dentro de blocos
21215
+ `::ng-deep`. Isto aqui é uma folha de estilo GLOBAL, compilada direto para o
21216
+ styles.css publicado - não é o estilo de um componente Angular, onde o compilador
21217
+ remove esse pseudo-seletor. No CSS publicado ele chega literal, o navegador não o
21218
+ reconhece e DESCARTA a regra inteira. Medido no bundle: 99 ocorrências de
21219
+ ::ng-deep, nenhuma com efeito. Dá pra ver pelo resultado: o bloco acima exige 24x24
21220
+ em qualquer botão, e mesmo assim `sdc-info-sign__icon` media 18x18 no celular.
21221
+
21222
+ Retirar os ::ng-deep de uma vez reanimaria as 99 regras ao mesmo tempo - altura de
21223
+ campo, padding de célula de tabela, anel de foco e cor de link mudariam juntos, em
21224
+ todos os produtos. Precisa ser feito, mas com teste visual próprio.
21225
+
21226
+ O bloco abaixo é escrito sem ::ng-deep, então vale de verdade.
21227
+
21228
+ --------------------------------------------------------------------------------
21229
+ POR QUE ÁREA DE TOQUE E NÃO TAMANHO
21230
+
21231
+ A primeira versão disto crescia a CAIXA dos elementos (min-width/min-height: 44px).
21232
+ Funcionava na métrica e estragava o desenho: o breadcrumb virava uma fileira de
21233
+ caixas de 44px e desalinhava do título, o ícone de informação inchava na linha do
21234
+ rótulo, e a tag de filtro ficava enorme ao lado da tag de status, que continuava
21235
+ pequena. Feedback do time, com razão: o layout anterior já estava bom.
21236
+
21237
+ O dedo não precisa que o BOTÃO seja grande - precisa que a REGIÃO QUE RECEBE O
21238
+ TOQUE seja. Um ::after absoluto e centrado, sem pintura nenhuma, leva essa região a
21239
+ 44x44 e não ocupa espaço no layout, porque sai do fluxo. O elemento continua
21240
+ exatamente do tamanho que era.
21241
+ */
21242
+ @media (pointer: coarse) {
21243
+ :root {
21244
+ /* Único tamanho que de fato muda: campo de formulário. 34px num dedo é pouco e
21245
+ 44px é o padrão em celular - aqui crescer é o comportamento esperado, não um
21246
+ efeito colateral. Alimenta textbox, combobox, autocomplete, chips e afins. */
21247
+ --sdc-formfield-default-height: 44px;
21248
+ /* O paginador anda colado ao combobox de "itens por página", e os dois precisam
21249
+ ter a mesma altura - lado a lado, a diferença salta à vista. O combobox segue
21250
+ a variável acima e foi pra 44px; as páginas do paginador ficavam nos 34px de
21251
+ sempre. Agora acompanham. */
21252
+ --sdc-table-paginator-size: 44px;
21253
+ }
21254
+ /* Botao com rotulo e caso diferente dos de cima: ali crescer desalinhava o layout,
21255
+ aqui 44px de altura e o esperado num celular - o tem 25px e some debaixo
21256
+ do dedo. vence o fixo da lib sem disputar especificidade,
21257
+ porque a propriedade e outra. */
21258
+ .s-button,
21259
+ .sdc-button {
21260
+ min-height: 44px;
21261
+ }
21262
+ .sdc-breadcrumb-link,
21263
+ .sdc-info-sign__icon,
21264
+ .sdc-panel__toggle,
21265
+ .sdc-panel__border-button,
21266
+ .sdc-page,
21267
+ .sdc-modal__icon-button,
21268
+ .sdc-table-expandable-toggle,
21269
+ .sdc-table-actions-trigger,
21270
+ .sdc-combobox__icon-button {
21271
+ position: relative;
21272
+ }
21273
+ .sdc-breadcrumb-link::after,
21274
+ .sdc-info-sign__icon::after,
21275
+ .sdc-panel__toggle::after,
21276
+ .sdc-panel__border-button::after,
21277
+ .sdc-page::after,
21278
+ .sdc-modal__icon-button::after,
21279
+ .sdc-table-expandable-toggle::after,
21280
+ .sdc-table-actions-trigger::after,
21281
+ .sdc-combobox__icon-button::after {
21282
+ content: "";
21283
+ position: absolute;
21284
+ top: 50%;
21285
+ left: 50%;
21286
+ width: 44px;
21287
+ height: 44px;
21288
+ min-width: 100%;
21289
+ min-height: 100%;
21290
+ transform: translate(-50%, -50%);
21291
+ }
21292
+ }
21293
+ /* NAO incluido de proposito: --sdc-form-tooltip-size. Chips, color-picker, combobox,
21294
+ mask e number-input usam essa variavel em `width`/`height` FIXOS do icone de ajuda,
21295
+ nao em minimo - leva-la a 44px quase dobra um icone que fica na linha do rotulo e
21296
+ empurra o formulario. Vale revisar, mas com teste visual dessas cinco telas. */