@vector-business-services/cristal-ds-web 0.13.1 → 0.14.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.
package/dist/index.cjs CHANGED
@@ -156,14 +156,18 @@ var AutoComplete = react.forwardRef(function AutoComplete2({
156
156
  },
157
157
  // O Prime mostra um spinner próprio enquanto busca; o Figma não define esse estado.
158
158
  loadingIcon: { className: "cr-autocomplete__loader" },
159
- panel: { className: "cr-autocomplete__panel" },
159
+ panel: { className: "cr-lista cr-autocomplete__panel" },
160
160
  // Lado da lista (acima ou abaixo do campo), medido logo depois de o Prime posicionar.
161
161
  transition: aoPosicionar(() => {
162
162
  const campo = document.getElementById(id);
163
163
  seguirLado(painelDoCampo(campo, ".cr-autocomplete__panel"), campo);
164
164
  }),
165
- list: { className: "cr-autocomplete__list" },
166
- item: { className: "cr-autocomplete__item" }
165
+ // A área que rola (o Prime aceita listWrapper no pt, mas o d.ts não declara).
166
+ ...{ listWrapper: { className: "cr-lista__rolagem" } },
167
+ list: { className: "cr-lista__itens" },
168
+ item: ({ context }) => ({
169
+ className: `cr-lista__item cr-autocomplete__item${context.selected ? " cr-lista__item--selecionado" : ""}`
170
+ })
167
171
  },
168
172
  ...props
169
173
  }
@@ -539,7 +543,7 @@ function Chart({
539
543
  s.label
540
544
  ] }, s.label)) })
541
545
  ] }),
542
- /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "cr-chart__table", children: [
546
+ /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "cr-so-leitor cr-chart__table", children: [
543
547
  title && /* @__PURE__ */ jsxRuntime.jsx("caption", { children: title }),
544
548
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
545
549
  /* @__PURE__ */ jsxRuntime.jsx("td", {}),
@@ -622,7 +626,7 @@ var Checkbox = react.forwardRef(function Checkbox2({
622
626
  /* @__PURE__ */ jsxRuntime.jsx(
623
627
  "label",
624
628
  {
625
- className: `cr-checkbox__label${showLabel ? "" : " cr-checkbox__label--hidden"}`,
629
+ className: `cr-checkbox__label${showLabel ? "" : " cr-checkbox__label--hidden cr-so-leitor"}`,
626
630
  htmlFor: inputId,
627
631
  children: label
628
632
  }
@@ -853,7 +857,7 @@ function Drawer({
853
857
  panelRef.current = element;
854
858
  if (behavior === "full") setRolagem(element);
855
859
  },
856
- className: "cr-drawer__panel",
860
+ className: "cr-rolagem-fina cr-drawer__panel",
857
861
  tabIndex: behavior === "full" && rolavel ? 0 : void 0,
858
862
  children: [
859
863
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cr-drawer__header", children: [
@@ -876,7 +880,7 @@ function Drawer({
876
880
  "div",
877
881
  {
878
882
  ref: behavior === "fixed" ? setRolagem : void 0,
879
- className: "cr-drawer__body",
883
+ className: "cr-rolagem-fina cr-drawer__body",
880
884
  tabIndex: behavior === "fixed" && rolavel ? 0 : void 0,
881
885
  children
882
886
  }
@@ -1002,7 +1006,7 @@ var Menu = react.forwardRef(function Menu2({
1002
1006
  className: [item.selected && "cr-menu__item--selected", item.className].filter(Boolean).join(" "),
1003
1007
  data: { selected: item.selected }
1004
1008
  }));
1005
- const classes = ["cr-menu", `cr-menu--${density}`, popup && "cr-menu--popup", className].filter(Boolean).join(" ");
1009
+ const classes = ["cr-lista cr-menu", `cr-menu--${density}`, popup && "cr-menu--popup", className].filter(Boolean).join(" ");
1006
1010
  const pt = {
1007
1011
  // O nome acessível vai na lista (role=menu); o Prime lê `ariaLabel`, mas não o declara no tipo.
1008
1012
  menu: {
@@ -1025,7 +1029,7 @@ var Menu = react.forwardRef(function Menu2({
1025
1029
  transition: aoPosicionar(
1026
1030
  () => queueMicrotask(() => seguirLado(primeRef.current?.getElement(), alvo.current))
1027
1031
  ),
1028
- action: { className: "cr-menu__action" },
1032
+ action: { className: "cr-lista__item cr-menu__action" },
1029
1033
  label: { className: "cr-menu__label" }
1030
1034
  };
1031
1035
  const menu$1 = /* @__PURE__ */ jsxRuntime.jsx(
@@ -1327,7 +1331,15 @@ var MenuPrincipal = react.forwardRef(
1327
1331
  item.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cr-menu-principal__description", children: item.description })
1328
1332
  ] }),
1329
1333
  " ",
1330
- item.tag && /* @__PURE__ */ jsxRuntime.jsx(Tag, { className: "cr-menu-principal__tag", variant: "warning", icon: /* @__PURE__ */ jsxRuntime.jsx(react$1.DribbbleLogo, {}), children: item.tag })
1334
+ item.tag && /* @__PURE__ */ jsxRuntime.jsx(
1335
+ Tag,
1336
+ {
1337
+ className: "cr-menu-principal__tag",
1338
+ variant: "warning",
1339
+ icon: item.tagIcon ?? /* @__PURE__ */ jsxRuntime.jsx(react$1.DribbbleLogo, {}),
1340
+ children: item.tag
1341
+ }
1342
+ )
1331
1343
  ]
1332
1344
  }
1333
1345
  )
@@ -1345,7 +1357,10 @@ var MenuPrincipal = react.forwardRef(
1345
1357
  const pt = {
1346
1358
  menu: { className: "cr-menu-principal__list", "aria-label": ariaLabel },
1347
1359
  submenuHeader: { className: "cr-menu-principal__group" },
1348
- separator: { className: "cr-menu-principal__separator" },
1360
+ // O divisor tracejado é o Divider do Cristal (dashed).
1361
+ separator: {
1362
+ className: "cr-divider cr-divider--horizontal cr-divider--dashed cr-menu-principal__separator"
1363
+ },
1349
1364
  menuitem: { className: "cr-menu-principal__item" },
1350
1365
  // Lado do popup, medido logo depois de o Prime posicionar.
1351
1366
  // Numa microtarefa: no onEnter o Prime ainda está religando a ref (como no Menu).
@@ -1485,7 +1500,7 @@ function Modal({
1485
1500
  "div",
1486
1501
  {
1487
1502
  ref: setBody,
1488
- className: "cr-modal__body",
1503
+ className: "cr-rolagem-fina cr-modal__body",
1489
1504
  tabIndex: rolavel ? 0 : void 0,
1490
1505
  children
1491
1506
  }
@@ -1582,9 +1597,9 @@ var MultiSelect = react.forwardRef(function MultiSelect2({
1582
1597
  );
1583
1598
  };
1584
1599
  const checkbox = {
1585
- root: { className: "cr-multiselect__checkbox" },
1586
- box: { className: "cr-multiselect__checkbox-box" },
1587
- input: { className: "cr-multiselect__checkbox-input" }
1600
+ root: { className: "cr-checkbox__control cr-multiselect__checkbox" },
1601
+ box: { className: "cr-checkbox__box cr-multiselect__checkbox-box" },
1602
+ input: { className: "cr-checkbox__input cr-multiselect__checkbox-input" }
1588
1603
  };
1589
1604
  const pt = {
1590
1605
  // Com a lista aberta o foco vai para a busca (no body), fora da caixa: o estado Focused do
@@ -1595,7 +1610,7 @@ var MultiSelect = react.forwardRef(function MultiSelect2({
1595
1610
  className: `cr-field__control cr-multiselect__control${open ? " cr-multiselect__control--open" : ""}`
1596
1611
  };
1597
1612
  },
1598
- hiddenInputWrapper: { className: "cr-multiselect__hidden" },
1613
+ hiddenInputWrapper: { className: "cr-so-leitor cr-multiselect__hidden" },
1599
1614
  input: {
1600
1615
  "aria-describedby": supportText ? hintId : void 0,
1601
1616
  "aria-invalid": error ? true : void 0,
@@ -1604,7 +1619,7 @@ var MultiSelect = react.forwardRef(function MultiSelect2({
1604
1619
  labelContainer: { className: "cr-multiselect__value" },
1605
1620
  label: { className: "cr-multiselect__chips" },
1606
1621
  trigger: { className: "cr-field__icon cr-multiselect__trigger" },
1607
- panel: { className: `cr-multiselect__panel cr-multiselect__panel--${density}` },
1622
+ panel: { className: `cr-lista cr-multiselect__panel cr-multiselect__panel--${density}` },
1608
1623
  header: { className: "cr-multiselect__header" },
1609
1624
  headerCheckboxContainer: { className: "cr-multiselect__select-all" },
1610
1625
  // O Prime repete role=checkbox na <div> em volta do <input>: o leitor de tela veria dois.
@@ -1619,13 +1634,13 @@ var MultiSelect = react.forwardRef(function MultiSelect2({
1619
1634
  root: { className: "cr-multiselect__search-input", "aria-label": filterPlaceholder }
1620
1635
  },
1621
1636
  closeButton: { className: "cr-multiselect__close" },
1622
- wrapper: { className: "cr-multiselect__wrapper" },
1623
- list: { className: "cr-multiselect__list" },
1637
+ wrapper: { className: "cr-lista__rolagem" },
1638
+ list: { className: "cr-lista__itens" },
1624
1639
  item: (options2) => {
1625
1640
  const context = options2?.context;
1626
1641
  const focused = context !== void 0 && context.focusedIndex === context.index;
1627
1642
  return {
1628
- className: `cr-multiselect__item${focused ? " cr-multiselect__item--focused" : ""}`
1643
+ className: `cr-lista__item cr-multiselect__item${focused ? " cr-multiselect__item--focused" : ""}`
1629
1644
  };
1630
1645
  },
1631
1646
  checkboxContainer: { className: "cr-multiselect__item-checkbox" },
@@ -1833,11 +1848,11 @@ var Select = react.forwardRef(function Select2({
1833
1848
  },
1834
1849
  // O <select> escondido do Prime só existe para formulários: fora da árvore de acessibilidade.
1835
1850
  select: { "aria-hidden": true },
1836
- hiddenSelectedMessage: { className: "cr-select__hidden" },
1851
+ hiddenSelectedMessage: { className: "cr-so-leitor cr-select__hidden" },
1837
1852
  // O Prime usa a mesma chave no texto do campo e no combobox escondido.
1838
1853
  input: { className: "cr-select__value" },
1839
1854
  trigger: { className: "cr-field__icon cr-select__trigger", "aria-hidden": true },
1840
- panel: { className: "cr-select__panel" },
1855
+ panel: { className: "cr-lista cr-select__panel" },
1841
1856
  // Lado da lista (acima ou abaixo do campo), medido logo depois de o Prime posicionar.
1842
1857
  transition: aoPosicionar(
1843
1858
  () => seguirLado(
@@ -1845,17 +1860,17 @@ var Select = react.forwardRef(function Select2({
1845
1860
  document.getElementById(inputId)?.closest(".cr-select__control")
1846
1861
  )
1847
1862
  ),
1848
- wrapper: { className: "cr-select__wrapper" },
1849
- list: { className: "cr-select__list", id: listId },
1863
+ wrapper: { className: "cr-lista__rolagem cr-select__wrapper" },
1864
+ list: { className: "cr-lista__itens cr-select__list", id: listId },
1850
1865
  // Selecionado e em foco (teclado) pelo contexto do pt, a API pública do Prime (não data-p-*).
1851
1866
  item: ({ context }) => ({
1852
1867
  className: [
1853
- "cr-select__item",
1854
- context.selected && "cr-select__item--selected",
1855
- context.focused && "cr-select__item--focused"
1868
+ "cr-lista__item cr-select__item",
1869
+ context.selected && "cr-lista__item--selecionado",
1870
+ context.focused && "cr-lista__item--focado"
1856
1871
  ].filter(Boolean).join(" ")
1857
1872
  }),
1858
- emptyMessage: { className: "cr-select__item cr-select__empty" }
1873
+ emptyMessage: { className: "cr-lista__item cr-select__item cr-select__empty" }
1859
1874
  };
1860
1875
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes, children: [
1861
1876
  label && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "cr-field__label", htmlFor: inputId, children: [
@@ -2053,7 +2068,7 @@ var Radio = react.forwardRef(function Radio2({
2053
2068
  /* @__PURE__ */ jsxRuntime.jsx(
2054
2069
  "label",
2055
2070
  {
2056
- className: `cr-radio__label${showLabel ? "" : " cr-radio__label--hidden"}`,
2071
+ className: `cr-radio__label${showLabel ? "" : " cr-radio__label--hidden cr-so-leitor"}`,
2057
2072
  htmlFor: inputId,
2058
2073
  children: label
2059
2074
  }
@@ -2197,7 +2212,7 @@ var Switch = react.forwardRef(function Switch2({
2197
2212
  /* @__PURE__ */ jsxRuntime.jsx(
2198
2213
  "label",
2199
2214
  {
2200
- className: `cr-switch__label${showLabel ? "" : " cr-switch__label--hidden"}`,
2215
+ className: `cr-switch__label${showLabel ? "" : " cr-switch__label--hidden cr-so-leitor"}`,
2201
2216
  htmlFor: inputId,
2202
2217
  children: label
2203
2218
  }