@beweco/aurora-ui 1.0.0-beta.136 → 1.0.0-beta.137

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.js CHANGED
@@ -8588,9 +8588,9 @@ const SearchInput = ({ searchPlaceholder = "Buscar...", searchIcon = "solar:magn
8588
8588
  };
8589
8589
 
8590
8590
  /** El indicador ya montado a mano por el consumidor: no se duplica. */
8591
- function hasIndicator(children) {
8591
+ function hasIndicator$1(children) {
8592
8592
  if (Array.isArray(children)) {
8593
- return children.some(hasIndicator);
8593
+ return children.some(hasIndicator$1);
8594
8594
  }
8595
8595
  return $8WNJc$react.isValidElement(children) && children.type === react.ListBoxItem.Indicator;
8596
8596
  }
@@ -8626,7 +8626,7 @@ function withItemIndicator(children) {
8626
8626
  const next = (values) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [render(values), jsxRuntime.jsx(react.ListBoxItem.Indicator, {})] }));
8627
8627
  return $8WNJc$react.cloneElement(element, { children: next });
8628
8628
  }
8629
- if (hasIndicator(original)) {
8629
+ if (hasIndicator$1(original)) {
8630
8630
  return element;
8631
8631
  }
8632
8632
  const next = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [original, jsxRuntime.jsx(react.ListBoxItem.Indicator, {})] }));
@@ -9276,17 +9276,17 @@ const OWN_SCROLL = new Set([
9276
9276
  react.Table.ResizableContainer,
9277
9277
  ]);
9278
9278
  /** Identidad por `child.type` contra los objetos reales de HeroUI (mismo patrón que la fachada `Alert`). */
9279
- function isPart$1(node, parts) {
9279
+ function isPart$2(node, parts) {
9280
9280
  return $8WNJc$react.isValidElement(node) && parts.has(node.type);
9281
9281
  }
9282
9282
  const TableFacade = ({ children, ...props }) => {
9283
9283
  const nodes = $8WNJc$react.Children.toArray(children);
9284
9284
  // Sin hijos, o con un contenedor de scroll ya montado a mano: el root tal cual.
9285
- if (nodes.length === 0 || nodes.some((node) => isPart$1(node, OWN_SCROLL))) {
9285
+ if (nodes.length === 0 || nodes.some((node) => isPart$2(node, OWN_SCROLL))) {
9286
9286
  return jsxRuntime.jsx(react.Table, { ...props, children: children });
9287
9287
  }
9288
- const scrollable = nodes.filter((node) => !isPart$1(node, OUTSIDE_SCROLL));
9289
- const outsideScroll = nodes.filter((node) => isPart$1(node, OUTSIDE_SCROLL));
9288
+ const scrollable = nodes.filter((node) => !isPart$2(node, OUTSIDE_SCROLL));
9289
+ const outsideScroll = nodes.filter((node) => isPart$2(node, OUTSIDE_SCROLL));
9290
9290
  return (jsxRuntime.jsxs(react.Table, { ...props, children: [jsxRuntime.jsx(react.Table.ScrollContainer, { children: scrollable }), outsideScroll] }));
9291
9291
  };
9292
9292
  TableFacade.displayName = "Aurora.Table";
@@ -14675,18 +14675,18 @@ const OWN_POPOVER = new Set([
14675
14675
  react.Dropdown.SubmenuTrigger,
14676
14676
  ]);
14677
14677
  /** Identidad por `child.type` contra los objetos reales de HeroUI (patrón de la fachada `Table`). */
14678
- function isPart(node, parts) {
14678
+ function isPart$1(node, parts) {
14679
14679
  return $8WNJc$react.isValidElement(node) && parts.has(node.type);
14680
14680
  }
14681
14681
  const DropdownFacade = ({ children, ...props }) => {
14682
14682
  const nodes = $8WNJc$react.Children.toArray(children);
14683
- const menus = nodes.filter((node) => isPart(node, INSIDE_POPOVER));
14683
+ const menus = nodes.filter((node) => isPart$1(node, INSIDE_POPOVER));
14684
14684
  // Nada que envolver (sin hijos, `children` como función, un popover ya montado a mano, o
14685
14685
  // simplemente ningún menú suelto): el root tal cual, byte a byte como el crudo de v3.
14686
- if (menus.length === 0 || nodes.some((node) => isPart(node, OWN_POPOVER))) {
14686
+ if (menus.length === 0 || nodes.some((node) => isPart$1(node, OWN_POPOVER))) {
14687
14687
  return jsxRuntime.jsx(react.Dropdown, { ...props, children: children });
14688
14688
  }
14689
- return (jsxRuntime.jsxs(react.Dropdown, { ...props, children: [nodes.filter((node) => !isPart(node, INSIDE_POPOVER)), jsxRuntime.jsx(react.Dropdown.Popover, { offset: 7, placement: "bottom", children: menus })] }));
14689
+ return (jsxRuntime.jsxs(react.Dropdown, { ...props, children: [nodes.filter((node) => !isPart$1(node, INSIDE_POPOVER)), jsxRuntime.jsx(react.Dropdown.Popover, { offset: 7, placement: "bottom", children: menus })] }));
14690
14690
  };
14691
14691
  DropdownFacade.displayName = "Aurora.Dropdown";
14692
14692
  /**
@@ -14717,6 +14717,229 @@ const Dropdown = Object.assign(DropdownFacade, {
14717
14717
  Trigger: react.Dropdown.Trigger,
14718
14718
  });
14719
14719
 
14720
+ // TECH-2459 — Fachada `Tabs` / `Tab`: monta las DOS piezas de la anatomía de v3 que, si la app
14721
+ // se las olvida, dejan la pestaña seleccionada sin distinguir. Hasta ahora `Tabs` y `Tab` eran
14722
+ // reexport crudo de v3 (`src/index.tsx`, bloque `from "@heroui/react"`) y no existía
14723
+ // `src/components/tabs/`: la anatomía entera quedaba a cargo de cada app.
14724
+ //
14725
+ // EL DEFECTO, medido por grep real en los repos de apps (no de memoria):
14726
+ //
14727
+ // | app | `<Tabs>` | `<Tabs.List>` | `<Tabs.ListContainer>` | tabs | `<Tabs.Indicator>` | resultado |
14728
+ // |-------------------|----------|---------------|------------------------|------|--------------------|-----------|
14729
+ // | beweosagency | 5 | 5 | 5 | 14 | **0** | la seleccionada sin píldora |
14730
+ // | backoffice-beweos | 5 | 5 | 5 | 18 | 18 (a mano) | bien |
14731
+ // | beweanalytics | 3 | 3 | 3 | 8 | 8 (a mano) | bien |
14732
+ // | beweossmbs / loginos / linda-business | 0 | 0 | 0 | 0 | 0 | no usan tabs |
14733
+ //
14734
+ // (conteo de tags de APERTURA; beweanalytics escribe `Tab` suelto en vez de `Tabs.Tab`.)
14735
+ // Dos lecturas que salen de esta tabla y que deciden el diseño:
14736
+ // · **26 indicadores montados a mano** contra 14 que faltan. La idempotencia no es un adorno:
14737
+ // sin ella esas 26 pestañas se quedarían con DOS indicadores.
14738
+ // · **`Tabs.List` y `Tabs.ListContainer` van 1:1 en las tres apps**, o sea que hoy NADIE usa la
14739
+ // forma delgada. Garantizar el carril es, para el código que existe hoy, un no-op medido; su
14740
+ // valor es que la próxima pantalla que se escriba no pueda caer en la forma delgada por
14741
+ // descuido.
14742
+ //
14743
+ // Las tres migraciones siguieron la misma guía; dos descubrieron que hacía falta el indicador y
14744
+ // una no, porque **nada en la API obliga a montarlo ni avisa**: compila en verde y se degrada en
14745
+ // silencio. Es el mismo patrón —y el mismo argumento— que ya justificó las fachadas `Table`
14746
+ // (`Table.ScrollContainer` ausente → columnas inalcanzables) y `Dropdown`
14747
+ // (`Dropdown.Popover` ausente → menú en línea).
14748
+ //
14749
+ // El criterio del usuario que lo convierte en trabajo de la librería y no de las apps:
14750
+ // «se supone que solo es llamar al componente dentro de la librería y ya se visualiza correcto;
14751
+ // asegúrate de que las apps no estén metiéndole fixes por separado».
14752
+ //
14753
+ // LAS DOS PIEZAS ESTÁN ACOPLADAS, y por eso la fachada monta las dos o ninguna:
14754
+ //
14755
+ // · `Tabs.Indicator` es quien pinta la píldora del seleccionado. Su CSS es
14756
+ // `.tabs__indicator { absolute start-0 top-0 size-full rounded-3xl bg-segment shadow-surface;
14757
+ // z-index:-1 }` (`@heroui/styles/dist/components/tabs.css:215-228`), y `--segment` es
14758
+ // `var(--white)` en claro y `oklch(39.64% .01 285.93)` (#46464c) en oscuro
14759
+ // (`@heroui/styles/dist/heroui.min.css`).
14760
+ // · `Tabs.ListContainer` es quien pinta el CARRIL sobre el que se ve esa píldora
14761
+ // (`.tabs__list-container { relative bg-default }`, `tabs.css:16-17`, que
14762
+ // `neutralize-v3.css` baja a `--color-default-100` = #f4f4f5 por contraste).
14763
+ // **Una píldora blanca sobre fondo blanco no se ve**, y el número: medido en Storybook, en
14764
+ // claro la píldora queda a **1.00:1** contra la página en la forma delgada y a **1.10:1**
14765
+ // contra el carril en la completa — sin carril lo único que sobrevive de ella es su sombra,
14766
+ // que en oscuro es transparente del todo. Garantizar solo el indicador cambiaría un defecto
14767
+ // por otro. La app que migró en la forma delgada ya lo documentó:
14768
+ // `beweanalytics/src/clientes/ui/pages/clientes.page.tsx:59-67`.
14769
+ //
14770
+ // Y `Tabs.Indicator` va DENTRO de cada `Tab`, nunca en la lista: `TabList` envuelve en
14771
+ // `SharedElementTransition` solo el `CollectionRoot`
14772
+ // (`react-aria-components/dist/private/Tabs.mjs:152`), así que un indicador suelto en la lista
14773
+ // lanza «<SharedElement> must be rendered inside a <SharedElementTransition>» y **la barra entera
14774
+ // desaparece del DOM**. De ahí que la inserción del indicador viva en la fachada del `Tab` y no
14775
+ // en la del root.
14776
+ //
14777
+ // LO QUE ESTA FACHADA NO HACE, y conste para que no se busque: no repone NADA del aspecto de v2
14778
+ // (radios, gap, padding, peso, la pastilla de v2). Eso se hizo en la `beta.132` y se retiró en la
14779
+ // `.133` por decisión del usuario (`.docs/migrate-heroui/DECISIONES.md` §9.1, «el objetivo NO es
14780
+ // identidad de píxel» y, sobre este componente, «a nivel visual debe verse como v3»); el mapa de
14781
+ // las 6 reglas retiradas sigue escrito al final de `src/styles/neutralize-v3.css`. La pieza que
14782
+ // aquí se monta es la de v3 —su propio `SelectionIndicator`, que además anima—, no una imitación
14783
+ // de v2 por CSS: es exactamente lo que la nota de esa retirada señala como la vía buena («la
14784
+ // pastilla de verdad, la que además anima, se tiene montando `Tabs.Indicator`, que es lo que v3
14785
+ // espera»). Lo que cambia es QUIÉN la monta: la librería en vez de cada app.
14786
+ /**
14787
+ * Identidad por `child.type` contra los objetos reales de HeroUI — mismo mecanismo que las
14788
+ * fachadas `Table` y `Dropdown`, y nunca por `displayName` ni por nombre de función (la
14789
+ * minificación los renombra y las piezas de v3 no declaran `displayName`).
14790
+ *
14791
+ * Es FIABLE para detectar lo que la app ya puso porque las apps tienen prohibido importar de
14792
+ * `@heroui/*` (regla de oro de la migración): su única vía para un `Tabs.List`/`Tabs.ListContainer`
14793
+ * es el estático de Aurora, que es **este mismo objeto** (los estáticos de abajo apuntan a los de
14794
+ * HeroUI, no a copias). El mismo argumento vale para el indicador, que tiene su propia función
14795
+ * (`hasIndicator`, más abajo) porque ahí además hay que descender por los Fragments.
14796
+ *
14797
+ * Se declara como predicado de tipo —y no `boolean` como en `Dropdown`— porque el mapeo en sitio
14798
+ * de la lista necesita la `key` del elemento.
14799
+ */
14800
+ function isPart(node, parts) {
14801
+ return $8WNJc$react.isValidElement(node) && parts.has(node.type);
14802
+ }
14803
+ // ---------------------------------------------------------------------------------------------
14804
+ // Fachada del `Tab`: inserta el `Tabs.Indicator` que falte
14805
+ // ---------------------------------------------------------------------------------------------
14806
+ /**
14807
+ * ¿Hay ya un `Tabs.Indicator` entre los hijos? **Desciende por los Fragments**, que es lo único
14808
+ * que `Children.toArray` no aplana (los arrays sí — un `.map()` queda cubierto, medido).
14809
+ *
14810
+ * POR QUÉ AQUÍ SÍ SE DESCIENDE Y EN EL ROOT NO, que es la asimetría deliberada de esta fachada:
14811
+ * aquí solo hace falta DETECTAR (el indicador se añade al nivel del propio `Tab`, como hermano);
14812
+ * en el root haría falta INSERTAR dentro del Fragment del consumidor, o sea reescribir su árbol,
14813
+ * que es una intervención de otro orden. Y los modos de fallo también son distintos:
14814
+ * · sin esto, un indicador oculto en un Fragment daba DOS. Medido en el navegador: cajas y
14815
+ * estilos computados idénticos (85.7×32 en x=20, las dos se mueven juntas a x=165.9 al
14816
+ * pulsar), consola limpia, geometría de la tira sin cambio — pero la SOMBRA se compone dos
14817
+ * veces y el halo de 1-3 px alrededor de la píldora se oscurece: comparación de píxeles
14818
+ * contra la referencia sana, 608 px distintos de 39200 (1.55%) con delta máximo 17/255 en
14819
+ * claro (`rgb(225,225,226)` → `rgb(208,208,209)`), y 112 px con delta máximo 8/255 en oscuro
14820
+ * (ahí la sombra de v3 es transparente, así que solo es antialias del borde redondeado).
14821
+ * Cosmético, pero medible, y evitarlo cuesta esta función.
14822
+ * · sin descender en el root, una lista oculta en un Fragment deja la FORMA DELGADA, que es
14823
+ * una forma legítima de v3 y además el comportamiento de hoy: no hay regresión que evitar.
14824
+ *
14825
+ * No desciende por componentes del consumidor —solo por Fragments— porque los hijos de un
14826
+ * componente cualquiera todavía no se han renderizado y puede que no los renderice nunca.
14827
+ */
14828
+ function hasIndicator(children) {
14829
+ return $8WNJc$react.Children.toArray(children).some((node) => {
14830
+ if (!$8WNJc$react.isValidElement(node)) {
14831
+ return false;
14832
+ }
14833
+ if (node.type === react.Tabs.Indicator) {
14834
+ return true;
14835
+ }
14836
+ return node.type === $8WNJc$react.Fragment && hasIndicator(node.props.children);
14837
+ });
14838
+ }
14839
+ const TabFacade = ({ children, ...props }) => {
14840
+ // `children` como función es la forma de render props de react-aria (`TabRenderProps`). No se
14841
+ // puede inspeccionar, y menos aún combinar con un hermano —React rechaza una función como
14842
+ // hijo junto a un elemento—, así que se pasa tal cual. Un consumidor que la use monta el
14843
+ // indicador él (es la vía de escape de este caso). Exposición hoy: 0 usos en los 6 repos.
14844
+ if (typeof children === "function") {
14845
+ return jsxRuntime.jsx(react.Tabs.Tab, { ...props, children: children });
14846
+ }
14847
+ if (hasIndicator(children)) {
14848
+ return jsxRuntime.jsx(react.Tabs.Tab, { ...props, children: children });
14849
+ }
14850
+ // El indicador va PRIMERO por legibilidad del marcado, no por efecto: es `position:absolute`
14851
+ // con `z-index:-1`, o sea fuera del flujo y detrás del texto, así que el orden no cambia el
14852
+ // render (las dos apps que lo montan a mano difieren —analytics lo pone antes de la etiqueta,
14853
+ // `AnalyticsCard.tsx:177` después— y se ven igual).
14854
+ //
14855
+ // `{children}` se pasa SIN normalizar (nada de `Children.toArray`) para no reescribir las
14856
+ // keys del consumidor: hacerlo cambiaría la reconciliación de una lista de pestañas
14857
+ // condicional. Verificado en el navegador que la anidación no produce aviso de key.
14858
+ return (jsxRuntime.jsxs(react.Tabs.Tab, { ...props, children: [jsxRuntime.jsx(react.Tabs.Indicator, {}), children] }));
14859
+ };
14860
+ TabFacade.displayName = "Aurora.Tab";
14861
+ /**
14862
+ * `Tab` de Aurora: el `Tabs.Tab` de v3 **con el `Tabs.Indicator` que faltaba**.
14863
+ *
14864
+ * Es el MISMO componente que `Tabs.Tab` (el estático de abajo apunta aquí). Las dos superficies
14865
+ * de entrada importan porque las apps usan las dos: beweanalytics importa `Tab` suelto
14866
+ * (`import { Tab, Tabs } from "@beweco/aurora-ui"`, 8 usos) y agency/backoffice escriben
14867
+ * `Tabs.Tab`. En v3 los dos nombres salen del mismo módulo y son el mismo objeto
14868
+ * (`@heroui/react/dist/components/tabs/index.js`: `Tabs = Object.assign(TabsRoot, { …, Tab })`,
14869
+ * y `dist/index.js:92-93` los exporta por separado), así que servir fachadas distintas por cada
14870
+ * nombre habría sido el «falso amigo» que ya costó rondas en Alert/Checkbox/Switch.
14871
+ */
14872
+ const Tab = TabFacade;
14873
+ // ---------------------------------------------------------------------------------------------
14874
+ // Fachada del root: inserta el `Tabs.ListContainer` que falte
14875
+ // ---------------------------------------------------------------------------------------------
14876
+ /** Lo que va DENTRO del contenedor: la lista. */
14877
+ const INSIDE_CONTAINER = new Set([react.Tabs.List]);
14878
+ /** Si el consumidor ya monta el contenedor, la fachada no envuelve nada. */
14879
+ const OWN_CONTAINER = new Set([react.Tabs.ListContainer]);
14880
+ const TabsFacade = ({ children, ...props }) => {
14881
+ const nodes = $8WNJc$react.Children.toArray(children);
14882
+ const needsContainer = nodes.some((node) => isPart(node, INSIDE_CONTAINER)) &&
14883
+ !nodes.some((node) => isPart(node, OWN_CONTAINER));
14884
+ // Nada que envolver (sin hijos, `children` como función, un contenedor ya montado a mano, o
14885
+ // ninguna lista suelta): el root tal cual, byte a byte como el crudo de v3.
14886
+ if (!needsContainer) {
14887
+ return jsxRuntime.jsx(react.Tabs, { ...props, children: children });
14888
+ }
14889
+ // Se envuelve EN SITIO, no reagrupando como hace `Dropdown` —única desviación deliberada
14890
+ // respecto a ese precedente—: el popover del dropdown es `position:absolute`, así que allí da
14891
+ // igual en qué orden queden los hijos del root. Aquí `.tabs` es `flex` + `flex-col` en
14892
+ // horizontal (`tabs.css:2-8`), de modo que el ORDEN EN EL DOM es el orden visual; react-aria
14893
+ // lo vigila además por su cuenta (con el panel antes de la lista avisa por consola «There is
14894
+ // no tab id, please check if you have rendered the tab panel before the tab list»). O sea que
14895
+ // el orden de los hijos del root es observable, y reagrupar lo cambiaría sin ganar nada:
14896
+ // envolver en sitio es la intervención estrictamente menor y deja la geometría idéntica en
14897
+ // todos los casos.
14898
+ return (jsxRuntime.jsx(react.Tabs, { ...props, children: nodes.map((node) => isPart(node, INSIDE_CONTAINER) ? (jsxRuntime.jsx(react.Tabs.ListContainer, { children: node }, node.key)) : (node)) }));
14899
+ };
14900
+ TabsFacade.displayName = "Aurora.Tabs";
14901
+ /**
14902
+ * `Tabs` de Aurora: el root de v3 **más el `Tabs.ListContainer` que faltaba**, con el compound
14903
+ * completo colgado como estáticos y `Tabs.Tab` apuntando a la FACHADA del tab.
14904
+ *
14905
+ * ```tsx
14906
+ * // Mínimo: la fachada monta el carril y el indicador, y se ve correcto sin añadir nada.
14907
+ * <Tabs>
14908
+ * <Tabs.List aria-label="Vista">
14909
+ * <Tabs.Tab id="a">Alfa</Tabs.Tab>
14910
+ * </Tabs.List>
14911
+ * </Tabs>
14912
+ *
14913
+ * // Anatomía completa a mano: la fachada la respeta y no duplica nada.
14914
+ * <Tabs>
14915
+ * <Tabs.ListContainer>
14916
+ * <Tabs.List aria-label="Vista">
14917
+ * <Tabs.Tab id="a"><Tabs.Indicator />Alfa</Tabs.Tab>
14918
+ * </Tabs.List>
14919
+ * </Tabs.ListContainer>
14920
+ * </Tabs>
14921
+ * ```
14922
+ *
14923
+ * `Tabs.Root` queda deliberadamente crudo (el root pelado de v3, sin contenedor), igual que en
14924
+ * `Table` y `Dropdown`: vía de escape para la **forma delgada** de v3 (lista sin contenedor, sin
14925
+ * scroller ni chevrones), que sigue alcanzable y a la que `neutralize-v3.css` dedica su regla
14926
+ * `:not(:has(.tabs__list-container))`. Ojo: en la forma delgada el `variant="secondary"` de v3 no
14927
+ * pinta —todas sus reglas cuelgan de `> .tabs__list-container` (`tabs.css:234-282`)—, así que
14928
+ * pasar por la fachada es además lo que hace funcionar esa variante.
14929
+ *
14930
+ * `Tabs.Indicator` se conserva exportado (como estático y vía `Tab`) para quien quiera componerlo
14931
+ * a mano: es el objeto EXACTO de `@heroui/react`.
14932
+ */
14933
+ const Tabs = Object.assign(TabsFacade, {
14934
+ Indicator: react.Tabs.Indicator,
14935
+ List: react.Tabs.List,
14936
+ ListContainer: react.Tabs.ListContainer,
14937
+ Panel: react.Tabs.Panel,
14938
+ Root: react.Tabs.Root,
14939
+ Separator: react.Tabs.Separator,
14940
+ Tab: TabFacade,
14941
+ });
14942
+
14720
14943
  /**
14721
14944
  * Tooltip - Componente BeweOS basado en HeroUI.
14722
14945
  *
@@ -15617,10 +15840,6 @@ Object.defineProperty(exports, "Spinner", {
15617
15840
  enumerable: true,
15618
15841
  get: function () { return react.Spinner; }
15619
15842
  });
15620
- Object.defineProperty(exports, "Tab", {
15621
- enumerable: true,
15622
- get: function () { return react.Tab; }
15623
- });
15624
15843
  Object.defineProperty(exports, "TableBody", {
15625
15844
  enumerable: true,
15626
15845
  get: function () { return react.TableBody; }
@@ -15641,10 +15860,6 @@ Object.defineProperty(exports, "TableRow", {
15641
15860
  enumerable: true,
15642
15861
  get: function () { return react.TableRow; }
15643
15862
  });
15644
- Object.defineProperty(exports, "Tabs", {
15645
- enumerable: true,
15646
- get: function () { return react.Tabs; }
15647
- });
15648
15863
  Object.defineProperty(exports, "cn", {
15649
15864
  enumerable: true,
15650
15865
  get: function () { return react.cn; }
@@ -15746,7 +15961,9 @@ exports.StepIndicator = StepIndicator;
15746
15961
  exports.Switch = Switch;
15747
15962
  exports.SwitchComponent = Switch;
15748
15963
  exports.THEME_COLOR_HEX_MAP = THEME_COLOR_HEX_MAP;
15964
+ exports.Tab = Tab;
15749
15965
  exports.Table = Table;
15966
+ exports.Tabs = Tabs;
15750
15967
  exports.TagsFilter = TagsFilter;
15751
15968
  exports.Textarea = Textarea;
15752
15969
  exports.ThemeContext = ThemeContext;
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
- import { Card as Card$1, Breadcrumbs, ListBoxSection, ListBoxItem, Separator, ProgressBar, useOverlayState, Spinner, Button as Button$1, Chip as Chip$1, cn, CloseButton, Pagination as Pagination$1, Skeleton, Accordion, DatePicker as DatePicker$1, Label, DateField, Description, Calendar, FieldError, DateRangePicker as DateRangePicker$1, RangeCalendar, TextField, InputGroup, RadioGroup, Radio, Tabs, Dropdown as Dropdown$1, ComboBox, Input as Input$1, ListBox, Tooltip as Tooltip$2, DropdownTrigger, DropdownPopover, DropdownMenu, DropdownSection as DropdownSection$1, DropdownItem, Badge as Badge$1, Popover, PopoverTrigger, PopoverContent, Header, Avatar, Link, Switch as Switch$1, TimeField, Select as Select$1, Table as Table$1, TextArea, toastVariants, WarningIcon, SuccessIcon, InfoIcon, DangerIcon, Modal as Modal$1, Slider, Drawer, Checkbox as Checkbox$1, ModalHeader as ModalHeader$1, ModalBody as ModalBody$1, ModalFooter as ModalFooter$1, Alert as Alert$1 } from '@heroui/react';
2
- export { Accordion, AccordionItem, Avatar, Breadcrumbs, CardFooter, CardHeader, CheckboxGroup, CloseButton, Drawer, DrawerBody, DrawerContent, DrawerFooter, DrawerHeader, DropdownItem, DropdownMenu, DropdownTrigger, Link, Popover, PopoverContent, PopoverTrigger, Radio, RadioGroup, Skeleton, Slider, Spinner, Tab, TableBody, TableCell, TableColumn, TableHeader, TableRow, Tabs, cn } from '@heroui/react';
1
+ import { Card as Card$1, Breadcrumbs, ListBoxSection, ListBoxItem, Separator, ProgressBar, useOverlayState, Spinner, Button as Button$1, Chip as Chip$1, cn, CloseButton, Pagination as Pagination$1, Skeleton, Accordion, DatePicker as DatePicker$1, Label, DateField, Description, Calendar, FieldError, DateRangePicker as DateRangePicker$1, RangeCalendar, TextField, InputGroup, RadioGroup, Radio, Tabs as Tabs$1, Dropdown as Dropdown$1, ComboBox, Input as Input$1, ListBox, Tooltip as Tooltip$2, DropdownTrigger, DropdownPopover, DropdownMenu, DropdownSection as DropdownSection$1, DropdownItem, Badge as Badge$1, Popover, PopoverTrigger, PopoverContent, Header, Avatar, Link, Switch as Switch$1, TimeField, Select as Select$1, Table as Table$1, TextArea, toastVariants, WarningIcon, SuccessIcon, InfoIcon, DangerIcon, Modal as Modal$1, Slider, Drawer, Checkbox as Checkbox$1, ModalHeader as ModalHeader$1, ModalBody as ModalBody$1, ModalFooter as ModalFooter$1, Alert as Alert$1 } from '@heroui/react';
2
+ export { Accordion, AccordionItem, Avatar, Breadcrumbs, CardFooter, CardHeader, CheckboxGroup, CloseButton, Drawer, DrawerBody, DrawerContent, DrawerFooter, DrawerHeader, DropdownItem, DropdownMenu, DropdownTrigger, Link, Popover, PopoverContent, PopoverTrigger, Radio, RadioGroup, Skeleton, Slider, Spinner, TableBody, TableCell, TableColumn, TableHeader, TableRow, cn } from '@heroui/react';
3
3
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
4
4
  import $8WNJc$react, { useState, useRef, useCallback, useEffect, useId, forwardRef, useMemo, isValidElement, cloneElement, useImperativeHandle, createContext, useContext, useLayoutEffect, memo, useReducer, Children, Fragment as Fragment$1 } from 'react';
5
5
  import { Icon } from '@iconify/react';
@@ -1966,7 +1966,7 @@ const AnalyticsCard = ({ data, showTimePeriods = true, showDropdownMenu = true,
1966
1966
  // Card.types.ts) — se pierde el `as="dl"` semántico de v2. No había `<dt>`/`<dd>` reales dentro
1967
1967
  // (siempre fue un `<dl>` "vacío" de esa semántica), así que el cambio a `<div>` no pierde
1968
1968
  // estructura real.
1969
- return (jsx(Card, { className: "dark:border-default-100 border border-transparent", ...props, children: jsxs("section", { className: "flex flex-col flex-nowrap", children: [jsx("div", { className: "flex flex-col justify-between gap-y-2", children: jsxs("div", { className: "flex flex-col gap-y-2", children: [jsxs("div", { className: "flex flex-col gap-y-0", children: [jsx(H2, { children: t.title }), jsx(P, { children: t.description })] }), jsx("div", { className: "h-2", "aria-hidden": "true" }), showTimePeriods && (jsx(Tabs, { className: "self-end", onSelectionChange: (key) => handleTimePeriodChange(String(key)), children: jsx(Tabs.ListContainer, { className: "bg-default-100", children: jsxs(Tabs.List, { "aria-label": t.title, children: [jsxs(Tabs.Tab, { id: "6-months", className: "whitespace-nowrap", children: [t.months6, jsx(Tabs.Indicator, {})] }), jsxs(Tabs.Tab, { id: "3-months", className: "whitespace-nowrap", children: [t.months3, jsx(Tabs.Indicator, {})] }), jsxs(Tabs.Tab, { id: "30-days", className: "whitespace-nowrap", children: [t.days30, jsx(Tabs.Indicator, {})] }), jsxs(Tabs.Tab, { id: "7-days", className: "whitespace-nowrap", children: [t.days7, jsx(Tabs.Indicator, {})] }), jsxs(Tabs.Tab, { id: "24-hours", className: "whitespace-nowrap", children: [t.hours24, jsx(Tabs.Indicator, {})] })] }) }) })), showMetricCards && (jsx("div", { className: "mt-2 flex w-full items-center", children: jsx("div", { className: "-my-3 flex w-full max-w-[800px] items-center gap-x-3 overflow-x-auto py-3", children: data.map(({ key, change, changeType, type, value, title }) => (jsxs("button", { type: "button", className: cn("rounded-[12px] flex w-full flex-col gap-2 p-3 transition-colors", {
1969
+ return (jsx(Card, { className: "dark:border-default-100 border border-transparent", ...props, children: jsxs("section", { className: "flex flex-col flex-nowrap", children: [jsx("div", { className: "flex flex-col justify-between gap-y-2", children: jsxs("div", { className: "flex flex-col gap-y-2", children: [jsxs("div", { className: "flex flex-col gap-y-0", children: [jsx(H2, { children: t.title }), jsx(P, { children: t.description })] }), jsx("div", { className: "h-2", "aria-hidden": "true" }), showTimePeriods && (jsx(Tabs$1, { className: "self-end", onSelectionChange: (key) => handleTimePeriodChange(String(key)), children: jsx(Tabs$1.ListContainer, { className: "bg-default-100", children: jsxs(Tabs$1.List, { "aria-label": t.title, children: [jsxs(Tabs$1.Tab, { id: "6-months", className: "whitespace-nowrap", children: [t.months6, jsx(Tabs$1.Indicator, {})] }), jsxs(Tabs$1.Tab, { id: "3-months", className: "whitespace-nowrap", children: [t.months3, jsx(Tabs$1.Indicator, {})] }), jsxs(Tabs$1.Tab, { id: "30-days", className: "whitespace-nowrap", children: [t.days30, jsx(Tabs$1.Indicator, {})] }), jsxs(Tabs$1.Tab, { id: "7-days", className: "whitespace-nowrap", children: [t.days7, jsx(Tabs$1.Indicator, {})] }), jsxs(Tabs$1.Tab, { id: "24-hours", className: "whitespace-nowrap", children: [t.hours24, jsx(Tabs$1.Indicator, {})] })] }) }) })), showMetricCards && (jsx("div", { className: "mt-2 flex w-full items-center", children: jsx("div", { className: "-my-3 flex w-full max-w-[800px] items-center gap-x-3 overflow-x-auto py-3", children: data.map(({ key, change, changeType, type, value, title }) => (jsxs("button", { type: "button", className: cn("rounded-[12px] flex w-full flex-col gap-2 p-3 transition-colors", {
1970
1970
  "bg-default-100": activeChart === key,
1971
1971
  }), onClick: () => handleChartChange(key), children: [jsx("span", { className: cn("text-sm text-default-500 font-medium transition-colors", {
1972
1972
  "text-primary": activeChart === key,
@@ -8588,9 +8588,9 @@ const SearchInput = ({ searchPlaceholder = "Buscar...", searchIcon = "solar:magn
8588
8588
  };
8589
8589
 
8590
8590
  /** El indicador ya montado a mano por el consumidor: no se duplica. */
8591
- function hasIndicator(children) {
8591
+ function hasIndicator$1(children) {
8592
8592
  if (Array.isArray(children)) {
8593
- return children.some(hasIndicator);
8593
+ return children.some(hasIndicator$1);
8594
8594
  }
8595
8595
  return isValidElement(children) && children.type === ListBoxItem.Indicator;
8596
8596
  }
@@ -8626,7 +8626,7 @@ function withItemIndicator(children) {
8626
8626
  const next = (values) => (jsxs(Fragment, { children: [render(values), jsx(ListBoxItem.Indicator, {})] }));
8627
8627
  return cloneElement(element, { children: next });
8628
8628
  }
8629
- if (hasIndicator(original)) {
8629
+ if (hasIndicator$1(original)) {
8630
8630
  return element;
8631
8631
  }
8632
8632
  const next = (jsxs(Fragment, { children: [original, jsx(ListBoxItem.Indicator, {})] }));
@@ -9276,17 +9276,17 @@ const OWN_SCROLL = new Set([
9276
9276
  Table$1.ResizableContainer,
9277
9277
  ]);
9278
9278
  /** Identidad por `child.type` contra los objetos reales de HeroUI (mismo patrón que la fachada `Alert`). */
9279
- function isPart$1(node, parts) {
9279
+ function isPart$2(node, parts) {
9280
9280
  return isValidElement(node) && parts.has(node.type);
9281
9281
  }
9282
9282
  const TableFacade = ({ children, ...props }) => {
9283
9283
  const nodes = Children.toArray(children);
9284
9284
  // Sin hijos, o con un contenedor de scroll ya montado a mano: el root tal cual.
9285
- if (nodes.length === 0 || nodes.some((node) => isPart$1(node, OWN_SCROLL))) {
9285
+ if (nodes.length === 0 || nodes.some((node) => isPart$2(node, OWN_SCROLL))) {
9286
9286
  return jsx(Table$1, { ...props, children: children });
9287
9287
  }
9288
- const scrollable = nodes.filter((node) => !isPart$1(node, OUTSIDE_SCROLL));
9289
- const outsideScroll = nodes.filter((node) => isPart$1(node, OUTSIDE_SCROLL));
9288
+ const scrollable = nodes.filter((node) => !isPart$2(node, OUTSIDE_SCROLL));
9289
+ const outsideScroll = nodes.filter((node) => isPart$2(node, OUTSIDE_SCROLL));
9290
9290
  return (jsxs(Table$1, { ...props, children: [jsx(Table$1.ScrollContainer, { children: scrollable }), outsideScroll] }));
9291
9291
  };
9292
9292
  TableFacade.displayName = "Aurora.Table";
@@ -14675,18 +14675,18 @@ const OWN_POPOVER = new Set([
14675
14675
  Dropdown$1.SubmenuTrigger,
14676
14676
  ]);
14677
14677
  /** Identidad por `child.type` contra los objetos reales de HeroUI (patrón de la fachada `Table`). */
14678
- function isPart(node, parts) {
14678
+ function isPart$1(node, parts) {
14679
14679
  return isValidElement(node) && parts.has(node.type);
14680
14680
  }
14681
14681
  const DropdownFacade = ({ children, ...props }) => {
14682
14682
  const nodes = Children.toArray(children);
14683
- const menus = nodes.filter((node) => isPart(node, INSIDE_POPOVER));
14683
+ const menus = nodes.filter((node) => isPart$1(node, INSIDE_POPOVER));
14684
14684
  // Nada que envolver (sin hijos, `children` como función, un popover ya montado a mano, o
14685
14685
  // simplemente ningún menú suelto): el root tal cual, byte a byte como el crudo de v3.
14686
- if (menus.length === 0 || nodes.some((node) => isPart(node, OWN_POPOVER))) {
14686
+ if (menus.length === 0 || nodes.some((node) => isPart$1(node, OWN_POPOVER))) {
14687
14687
  return jsx(Dropdown$1, { ...props, children: children });
14688
14688
  }
14689
- return (jsxs(Dropdown$1, { ...props, children: [nodes.filter((node) => !isPart(node, INSIDE_POPOVER)), jsx(Dropdown$1.Popover, { offset: 7, placement: "bottom", children: menus })] }));
14689
+ return (jsxs(Dropdown$1, { ...props, children: [nodes.filter((node) => !isPart$1(node, INSIDE_POPOVER)), jsx(Dropdown$1.Popover, { offset: 7, placement: "bottom", children: menus })] }));
14690
14690
  };
14691
14691
  DropdownFacade.displayName = "Aurora.Dropdown";
14692
14692
  /**
@@ -14717,6 +14717,229 @@ const Dropdown = Object.assign(DropdownFacade, {
14717
14717
  Trigger: Dropdown$1.Trigger,
14718
14718
  });
14719
14719
 
14720
+ // TECH-2459 — Fachada `Tabs` / `Tab`: monta las DOS piezas de la anatomía de v3 que, si la app
14721
+ // se las olvida, dejan la pestaña seleccionada sin distinguir. Hasta ahora `Tabs` y `Tab` eran
14722
+ // reexport crudo de v3 (`src/index.tsx`, bloque `from "@heroui/react"`) y no existía
14723
+ // `src/components/tabs/`: la anatomía entera quedaba a cargo de cada app.
14724
+ //
14725
+ // EL DEFECTO, medido por grep real en los repos de apps (no de memoria):
14726
+ //
14727
+ // | app | `<Tabs>` | `<Tabs.List>` | `<Tabs.ListContainer>` | tabs | `<Tabs.Indicator>` | resultado |
14728
+ // |-------------------|----------|---------------|------------------------|------|--------------------|-----------|
14729
+ // | beweosagency | 5 | 5 | 5 | 14 | **0** | la seleccionada sin píldora |
14730
+ // | backoffice-beweos | 5 | 5 | 5 | 18 | 18 (a mano) | bien |
14731
+ // | beweanalytics | 3 | 3 | 3 | 8 | 8 (a mano) | bien |
14732
+ // | beweossmbs / loginos / linda-business | 0 | 0 | 0 | 0 | 0 | no usan tabs |
14733
+ //
14734
+ // (conteo de tags de APERTURA; beweanalytics escribe `Tab` suelto en vez de `Tabs.Tab`.)
14735
+ // Dos lecturas que salen de esta tabla y que deciden el diseño:
14736
+ // · **26 indicadores montados a mano** contra 14 que faltan. La idempotencia no es un adorno:
14737
+ // sin ella esas 26 pestañas se quedarían con DOS indicadores.
14738
+ // · **`Tabs.List` y `Tabs.ListContainer` van 1:1 en las tres apps**, o sea que hoy NADIE usa la
14739
+ // forma delgada. Garantizar el carril es, para el código que existe hoy, un no-op medido; su
14740
+ // valor es que la próxima pantalla que se escriba no pueda caer en la forma delgada por
14741
+ // descuido.
14742
+ //
14743
+ // Las tres migraciones siguieron la misma guía; dos descubrieron que hacía falta el indicador y
14744
+ // una no, porque **nada en la API obliga a montarlo ni avisa**: compila en verde y se degrada en
14745
+ // silencio. Es el mismo patrón —y el mismo argumento— que ya justificó las fachadas `Table`
14746
+ // (`Table.ScrollContainer` ausente → columnas inalcanzables) y `Dropdown`
14747
+ // (`Dropdown.Popover` ausente → menú en línea).
14748
+ //
14749
+ // El criterio del usuario que lo convierte en trabajo de la librería y no de las apps:
14750
+ // «se supone que solo es llamar al componente dentro de la librería y ya se visualiza correcto;
14751
+ // asegúrate de que las apps no estén metiéndole fixes por separado».
14752
+ //
14753
+ // LAS DOS PIEZAS ESTÁN ACOPLADAS, y por eso la fachada monta las dos o ninguna:
14754
+ //
14755
+ // · `Tabs.Indicator` es quien pinta la píldora del seleccionado. Su CSS es
14756
+ // `.tabs__indicator { absolute start-0 top-0 size-full rounded-3xl bg-segment shadow-surface;
14757
+ // z-index:-1 }` (`@heroui/styles/dist/components/tabs.css:215-228`), y `--segment` es
14758
+ // `var(--white)` en claro y `oklch(39.64% .01 285.93)` (#46464c) en oscuro
14759
+ // (`@heroui/styles/dist/heroui.min.css`).
14760
+ // · `Tabs.ListContainer` es quien pinta el CARRIL sobre el que se ve esa píldora
14761
+ // (`.tabs__list-container { relative bg-default }`, `tabs.css:16-17`, que
14762
+ // `neutralize-v3.css` baja a `--color-default-100` = #f4f4f5 por contraste).
14763
+ // **Una píldora blanca sobre fondo blanco no se ve**, y el número: medido en Storybook, en
14764
+ // claro la píldora queda a **1.00:1** contra la página en la forma delgada y a **1.10:1**
14765
+ // contra el carril en la completa — sin carril lo único que sobrevive de ella es su sombra,
14766
+ // que en oscuro es transparente del todo. Garantizar solo el indicador cambiaría un defecto
14767
+ // por otro. La app que migró en la forma delgada ya lo documentó:
14768
+ // `beweanalytics/src/clientes/ui/pages/clientes.page.tsx:59-67`.
14769
+ //
14770
+ // Y `Tabs.Indicator` va DENTRO de cada `Tab`, nunca en la lista: `TabList` envuelve en
14771
+ // `SharedElementTransition` solo el `CollectionRoot`
14772
+ // (`react-aria-components/dist/private/Tabs.mjs:152`), así que un indicador suelto en la lista
14773
+ // lanza «<SharedElement> must be rendered inside a <SharedElementTransition>» y **la barra entera
14774
+ // desaparece del DOM**. De ahí que la inserción del indicador viva en la fachada del `Tab` y no
14775
+ // en la del root.
14776
+ //
14777
+ // LO QUE ESTA FACHADA NO HACE, y conste para que no se busque: no repone NADA del aspecto de v2
14778
+ // (radios, gap, padding, peso, la pastilla de v2). Eso se hizo en la `beta.132` y se retiró en la
14779
+ // `.133` por decisión del usuario (`.docs/migrate-heroui/DECISIONES.md` §9.1, «el objetivo NO es
14780
+ // identidad de píxel» y, sobre este componente, «a nivel visual debe verse como v3»); el mapa de
14781
+ // las 6 reglas retiradas sigue escrito al final de `src/styles/neutralize-v3.css`. La pieza que
14782
+ // aquí se monta es la de v3 —su propio `SelectionIndicator`, que además anima—, no una imitación
14783
+ // de v2 por CSS: es exactamente lo que la nota de esa retirada señala como la vía buena («la
14784
+ // pastilla de verdad, la que además anima, se tiene montando `Tabs.Indicator`, que es lo que v3
14785
+ // espera»). Lo que cambia es QUIÉN la monta: la librería en vez de cada app.
14786
+ /**
14787
+ * Identidad por `child.type` contra los objetos reales de HeroUI — mismo mecanismo que las
14788
+ * fachadas `Table` y `Dropdown`, y nunca por `displayName` ni por nombre de función (la
14789
+ * minificación los renombra y las piezas de v3 no declaran `displayName`).
14790
+ *
14791
+ * Es FIABLE para detectar lo que la app ya puso porque las apps tienen prohibido importar de
14792
+ * `@heroui/*` (regla de oro de la migración): su única vía para un `Tabs.List`/`Tabs.ListContainer`
14793
+ * es el estático de Aurora, que es **este mismo objeto** (los estáticos de abajo apuntan a los de
14794
+ * HeroUI, no a copias). El mismo argumento vale para el indicador, que tiene su propia función
14795
+ * (`hasIndicator`, más abajo) porque ahí además hay que descender por los Fragments.
14796
+ *
14797
+ * Se declara como predicado de tipo —y no `boolean` como en `Dropdown`— porque el mapeo en sitio
14798
+ * de la lista necesita la `key` del elemento.
14799
+ */
14800
+ function isPart(node, parts) {
14801
+ return isValidElement(node) && parts.has(node.type);
14802
+ }
14803
+ // ---------------------------------------------------------------------------------------------
14804
+ // Fachada del `Tab`: inserta el `Tabs.Indicator` que falte
14805
+ // ---------------------------------------------------------------------------------------------
14806
+ /**
14807
+ * ¿Hay ya un `Tabs.Indicator` entre los hijos? **Desciende por los Fragments**, que es lo único
14808
+ * que `Children.toArray` no aplana (los arrays sí — un `.map()` queda cubierto, medido).
14809
+ *
14810
+ * POR QUÉ AQUÍ SÍ SE DESCIENDE Y EN EL ROOT NO, que es la asimetría deliberada de esta fachada:
14811
+ * aquí solo hace falta DETECTAR (el indicador se añade al nivel del propio `Tab`, como hermano);
14812
+ * en el root haría falta INSERTAR dentro del Fragment del consumidor, o sea reescribir su árbol,
14813
+ * que es una intervención de otro orden. Y los modos de fallo también son distintos:
14814
+ * · sin esto, un indicador oculto en un Fragment daba DOS. Medido en el navegador: cajas y
14815
+ * estilos computados idénticos (85.7×32 en x=20, las dos se mueven juntas a x=165.9 al
14816
+ * pulsar), consola limpia, geometría de la tira sin cambio — pero la SOMBRA se compone dos
14817
+ * veces y el halo de 1-3 px alrededor de la píldora se oscurece: comparación de píxeles
14818
+ * contra la referencia sana, 608 px distintos de 39200 (1.55%) con delta máximo 17/255 en
14819
+ * claro (`rgb(225,225,226)` → `rgb(208,208,209)`), y 112 px con delta máximo 8/255 en oscuro
14820
+ * (ahí la sombra de v3 es transparente, así que solo es antialias del borde redondeado).
14821
+ * Cosmético, pero medible, y evitarlo cuesta esta función.
14822
+ * · sin descender en el root, una lista oculta en un Fragment deja la FORMA DELGADA, que es
14823
+ * una forma legítima de v3 y además el comportamiento de hoy: no hay regresión que evitar.
14824
+ *
14825
+ * No desciende por componentes del consumidor —solo por Fragments— porque los hijos de un
14826
+ * componente cualquiera todavía no se han renderizado y puede que no los renderice nunca.
14827
+ */
14828
+ function hasIndicator(children) {
14829
+ return Children.toArray(children).some((node) => {
14830
+ if (!isValidElement(node)) {
14831
+ return false;
14832
+ }
14833
+ if (node.type === Tabs$1.Indicator) {
14834
+ return true;
14835
+ }
14836
+ return node.type === Fragment$1 && hasIndicator(node.props.children);
14837
+ });
14838
+ }
14839
+ const TabFacade = ({ children, ...props }) => {
14840
+ // `children` como función es la forma de render props de react-aria (`TabRenderProps`). No se
14841
+ // puede inspeccionar, y menos aún combinar con un hermano —React rechaza una función como
14842
+ // hijo junto a un elemento—, así que se pasa tal cual. Un consumidor que la use monta el
14843
+ // indicador él (es la vía de escape de este caso). Exposición hoy: 0 usos en los 6 repos.
14844
+ if (typeof children === "function") {
14845
+ return jsx(Tabs$1.Tab, { ...props, children: children });
14846
+ }
14847
+ if (hasIndicator(children)) {
14848
+ return jsx(Tabs$1.Tab, { ...props, children: children });
14849
+ }
14850
+ // El indicador va PRIMERO por legibilidad del marcado, no por efecto: es `position:absolute`
14851
+ // con `z-index:-1`, o sea fuera del flujo y detrás del texto, así que el orden no cambia el
14852
+ // render (las dos apps que lo montan a mano difieren —analytics lo pone antes de la etiqueta,
14853
+ // `AnalyticsCard.tsx:177` después— y se ven igual).
14854
+ //
14855
+ // `{children}` se pasa SIN normalizar (nada de `Children.toArray`) para no reescribir las
14856
+ // keys del consumidor: hacerlo cambiaría la reconciliación de una lista de pestañas
14857
+ // condicional. Verificado en el navegador que la anidación no produce aviso de key.
14858
+ return (jsxs(Tabs$1.Tab, { ...props, children: [jsx(Tabs$1.Indicator, {}), children] }));
14859
+ };
14860
+ TabFacade.displayName = "Aurora.Tab";
14861
+ /**
14862
+ * `Tab` de Aurora: el `Tabs.Tab` de v3 **con el `Tabs.Indicator` que faltaba**.
14863
+ *
14864
+ * Es el MISMO componente que `Tabs.Tab` (el estático de abajo apunta aquí). Las dos superficies
14865
+ * de entrada importan porque las apps usan las dos: beweanalytics importa `Tab` suelto
14866
+ * (`import { Tab, Tabs } from "@beweco/aurora-ui"`, 8 usos) y agency/backoffice escriben
14867
+ * `Tabs.Tab`. En v3 los dos nombres salen del mismo módulo y son el mismo objeto
14868
+ * (`@heroui/react/dist/components/tabs/index.js`: `Tabs = Object.assign(TabsRoot, { …, Tab })`,
14869
+ * y `dist/index.js:92-93` los exporta por separado), así que servir fachadas distintas por cada
14870
+ * nombre habría sido el «falso amigo» que ya costó rondas en Alert/Checkbox/Switch.
14871
+ */
14872
+ const Tab = TabFacade;
14873
+ // ---------------------------------------------------------------------------------------------
14874
+ // Fachada del root: inserta el `Tabs.ListContainer` que falte
14875
+ // ---------------------------------------------------------------------------------------------
14876
+ /** Lo que va DENTRO del contenedor: la lista. */
14877
+ const INSIDE_CONTAINER = new Set([Tabs$1.List]);
14878
+ /** Si el consumidor ya monta el contenedor, la fachada no envuelve nada. */
14879
+ const OWN_CONTAINER = new Set([Tabs$1.ListContainer]);
14880
+ const TabsFacade = ({ children, ...props }) => {
14881
+ const nodes = Children.toArray(children);
14882
+ const needsContainer = nodes.some((node) => isPart(node, INSIDE_CONTAINER)) &&
14883
+ !nodes.some((node) => isPart(node, OWN_CONTAINER));
14884
+ // Nada que envolver (sin hijos, `children` como función, un contenedor ya montado a mano, o
14885
+ // ninguna lista suelta): el root tal cual, byte a byte como el crudo de v3.
14886
+ if (!needsContainer) {
14887
+ return jsx(Tabs$1, { ...props, children: children });
14888
+ }
14889
+ // Se envuelve EN SITIO, no reagrupando como hace `Dropdown` —única desviación deliberada
14890
+ // respecto a ese precedente—: el popover del dropdown es `position:absolute`, así que allí da
14891
+ // igual en qué orden queden los hijos del root. Aquí `.tabs` es `flex` + `flex-col` en
14892
+ // horizontal (`tabs.css:2-8`), de modo que el ORDEN EN EL DOM es el orden visual; react-aria
14893
+ // lo vigila además por su cuenta (con el panel antes de la lista avisa por consola «There is
14894
+ // no tab id, please check if you have rendered the tab panel before the tab list»). O sea que
14895
+ // el orden de los hijos del root es observable, y reagrupar lo cambiaría sin ganar nada:
14896
+ // envolver en sitio es la intervención estrictamente menor y deja la geometría idéntica en
14897
+ // todos los casos.
14898
+ return (jsx(Tabs$1, { ...props, children: nodes.map((node) => isPart(node, INSIDE_CONTAINER) ? (jsx(Tabs$1.ListContainer, { children: node }, node.key)) : (node)) }));
14899
+ };
14900
+ TabsFacade.displayName = "Aurora.Tabs";
14901
+ /**
14902
+ * `Tabs` de Aurora: el root de v3 **más el `Tabs.ListContainer` que faltaba**, con el compound
14903
+ * completo colgado como estáticos y `Tabs.Tab` apuntando a la FACHADA del tab.
14904
+ *
14905
+ * ```tsx
14906
+ * // Mínimo: la fachada monta el carril y el indicador, y se ve correcto sin añadir nada.
14907
+ * <Tabs>
14908
+ * <Tabs.List aria-label="Vista">
14909
+ * <Tabs.Tab id="a">Alfa</Tabs.Tab>
14910
+ * </Tabs.List>
14911
+ * </Tabs>
14912
+ *
14913
+ * // Anatomía completa a mano: la fachada la respeta y no duplica nada.
14914
+ * <Tabs>
14915
+ * <Tabs.ListContainer>
14916
+ * <Tabs.List aria-label="Vista">
14917
+ * <Tabs.Tab id="a"><Tabs.Indicator />Alfa</Tabs.Tab>
14918
+ * </Tabs.List>
14919
+ * </Tabs.ListContainer>
14920
+ * </Tabs>
14921
+ * ```
14922
+ *
14923
+ * `Tabs.Root` queda deliberadamente crudo (el root pelado de v3, sin contenedor), igual que en
14924
+ * `Table` y `Dropdown`: vía de escape para la **forma delgada** de v3 (lista sin contenedor, sin
14925
+ * scroller ni chevrones), que sigue alcanzable y a la que `neutralize-v3.css` dedica su regla
14926
+ * `:not(:has(.tabs__list-container))`. Ojo: en la forma delgada el `variant="secondary"` de v3 no
14927
+ * pinta —todas sus reglas cuelgan de `> .tabs__list-container` (`tabs.css:234-282`)—, así que
14928
+ * pasar por la fachada es además lo que hace funcionar esa variante.
14929
+ *
14930
+ * `Tabs.Indicator` se conserva exportado (como estático y vía `Tab`) para quien quiera componerlo
14931
+ * a mano: es el objeto EXACTO de `@heroui/react`.
14932
+ */
14933
+ const Tabs = Object.assign(TabsFacade, {
14934
+ Indicator: Tabs$1.Indicator,
14935
+ List: Tabs$1.List,
14936
+ ListContainer: Tabs$1.ListContainer,
14937
+ Panel: Tabs$1.Panel,
14938
+ Root: Tabs$1.Root,
14939
+ Separator: Tabs$1.Separator,
14940
+ Tab: TabFacade,
14941
+ });
14942
+
14720
14943
  /**
14721
14944
  * Tooltip - Componente BeweOS basado en HeroUI.
14722
14945
  *
@@ -15517,4 +15740,4 @@ const NavigationLoadingProvider = ({ children, }) => {
15517
15740
  return (jsxs(NavigationLoadingContext.Provider, { value: value, children: [children, jsx(NavigationLoadingOverlay, { isVisible: isVisible })] }));
15518
15741
  };
15519
15742
 
15520
- export { ALL_THEMES, AURORA_THEME_FAMILIES, AURORA_THEME_REGISTRY, AccordionList, AddHolidayForm, Alert, AnalyticsCard, AreaLineChart, AuraAutocomplete, AuraTable, AuraToastProvider, AuraAutocomplete as Autocomplete, AutocompleteItem, BEWEOS_THEME_MODE_COOKIE_NAME, Badge, BreadcrumbItem, BreadcrumbsComponent, Button, CONTAINER_ATTRIBUTE, Card, CardBody, Checkbox, Chip, ColorPicker, ColorSelector, ContentCarousel, Currency, DEFAULT_DONUT_COLORS, DEFAULT_PREDEFINED_COLORS, DEFAULT_RANKED_BAR_COLORS, DISMISS_CONTROL_ATTRIBUTE, DatePicker, DateRangePicker, DateSelector, Divider, DonutChart, DrawerFilters, Dropdown, DropdownSection, EmailPreview, EnumMenuNavListItem, GlobalToast, H1, H2, H3, H4, HeaderComponent, HeroUIProvider, HolidayType, IconComponent, Image$1 as Image, ImagePreview, Input, InputPassword, Kanban, KanbanCard, KanbanColumn, LINDA_TONE_PROPERTIES, LindaIcon, MenuClaw, MenuComponent, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, MultiStepWizard, NavigationLoadingContext, NavigationLoadingOverlay, NavigationLoadingProvider, P, Pagination, Phone, Progress, PromotionalBanner, REGISTERED_THEME_COLORS, RangeFilter, RankedBarList, RowSteps, DEFAULT_TRANSLATIONS$2 as SEGMENTATION_DEFAULT_TRANSLATIONS, ScheduleRow, SearchInput, SegmentationBuilder, Select, SelectItem, SelectSection, SimpleLineChart, SocialMediaBar, SocialMediaCarousel, SocialMediaPreview, StatTile, StepIndicator, Switch, Switch as SwitchComponent, THEME_COLOR_HEX_MAP, Table, TagsFilter, Textarea, ThemeContext, ThemePicker, ThemeProvider, TimeInput, TimeInput as TimeInputComponent, ToastContext, Tooltip, TwoColumnLayoutAgent, UploadFile, VerticalSteps, ViolinPlot, WhatsAppPreview, Wizard, WizardNavigation, WizardSidebar, applyCustomPrimaryColor, applyLindaTones, computeBars, computeMax, computeSlices, computeTotal, containerProps, createCurrencyFormatter, uniqueCountries as defaultCountries, defaultCurrencyOptions, defaultTranslations$5 as defaultTranslations, deriveLindaTones, dismissControlProps, forceLightOnlyThemeBeforeReact, formatAuroraThemeTooltip, formatDonutPercent, generateThemeColorScale, getContrastForeground, getRegisteredThemeColorBases, getSelectedKeyFromPath, hexToHsl, hexToThemeColor, hslToCssValue, isAuroraFullThemeId, isDismissControl, isDonutEmpty, isExactThemeColor, isGroupState, isHexColor, isRankedBarListEmpty, isSegmentationGroup, parseColorToHsl, removeCustomPrimaryColor, removeLindaTones, shouldClosePopoverOnInteractOutside, sizeMap, themeColors, useAuraToast, useCloseOnAncestorScroll, useDisclosure, useMediaQuery, useNavigationLoading, useThemeContext };
15743
+ export { ALL_THEMES, AURORA_THEME_FAMILIES, AURORA_THEME_REGISTRY, AccordionList, AddHolidayForm, Alert, AnalyticsCard, AreaLineChart, AuraAutocomplete, AuraTable, AuraToastProvider, AuraAutocomplete as Autocomplete, AutocompleteItem, BEWEOS_THEME_MODE_COOKIE_NAME, Badge, BreadcrumbItem, BreadcrumbsComponent, Button, CONTAINER_ATTRIBUTE, Card, CardBody, Checkbox, Chip, ColorPicker, ColorSelector, ContentCarousel, Currency, DEFAULT_DONUT_COLORS, DEFAULT_PREDEFINED_COLORS, DEFAULT_RANKED_BAR_COLORS, DISMISS_CONTROL_ATTRIBUTE, DatePicker, DateRangePicker, DateSelector, Divider, DonutChart, DrawerFilters, Dropdown, DropdownSection, EmailPreview, EnumMenuNavListItem, GlobalToast, H1, H2, H3, H4, HeaderComponent, HeroUIProvider, HolidayType, IconComponent, Image$1 as Image, ImagePreview, Input, InputPassword, Kanban, KanbanCard, KanbanColumn, LINDA_TONE_PROPERTIES, LindaIcon, MenuClaw, MenuComponent, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, MultiStepWizard, NavigationLoadingContext, NavigationLoadingOverlay, NavigationLoadingProvider, P, Pagination, Phone, Progress, PromotionalBanner, REGISTERED_THEME_COLORS, RangeFilter, RankedBarList, RowSteps, DEFAULT_TRANSLATIONS$2 as SEGMENTATION_DEFAULT_TRANSLATIONS, ScheduleRow, SearchInput, SegmentationBuilder, Select, SelectItem, SelectSection, SimpleLineChart, SocialMediaBar, SocialMediaCarousel, SocialMediaPreview, StatTile, StepIndicator, Switch, Switch as SwitchComponent, THEME_COLOR_HEX_MAP, Tab, Table, Tabs, TagsFilter, Textarea, ThemeContext, ThemePicker, ThemeProvider, TimeInput, TimeInput as TimeInputComponent, ToastContext, Tooltip, TwoColumnLayoutAgent, UploadFile, VerticalSteps, ViolinPlot, WhatsAppPreview, Wizard, WizardNavigation, WizardSidebar, applyCustomPrimaryColor, applyLindaTones, computeBars, computeMax, computeSlices, computeTotal, containerProps, createCurrencyFormatter, uniqueCountries as defaultCountries, defaultCurrencyOptions, defaultTranslations$5 as defaultTranslations, deriveLindaTones, dismissControlProps, forceLightOnlyThemeBeforeReact, formatAuroraThemeTooltip, formatDonutPercent, generateThemeColorScale, getContrastForeground, getRegisteredThemeColorBases, getSelectedKeyFromPath, hexToHsl, hexToThemeColor, hslToCssValue, isAuroraFullThemeId, isDismissControl, isDonutEmpty, isExactThemeColor, isGroupState, isHexColor, isRankedBarListEmpty, isSegmentationGroup, parseColorToHsl, removeCustomPrimaryColor, removeLindaTones, shouldClosePopoverOnInteractOutside, sizeMap, themeColors, useAuraToast, useCloseOnAncestorScroll, useDisclosure, useMediaQuery, useNavigationLoading, useThemeContext };
@@ -0,0 +1,65 @@
1
+ import type React from "react";
2
+ import type { TabProps, TabsProps } from "./Tabs.types";
3
+ /**
4
+ * `Tab` de Aurora: el `Tabs.Tab` de v3 **con el `Tabs.Indicator` que faltaba**.
5
+ *
6
+ * Es el MISMO componente que `Tabs.Tab` (el estático de abajo apunta aquí). Las dos superficies
7
+ * de entrada importan porque las apps usan las dos: beweanalytics importa `Tab` suelto
8
+ * (`import { Tab, Tabs } from "@beweco/aurora-ui"`, 8 usos) y agency/backoffice escriben
9
+ * `Tabs.Tab`. En v3 los dos nombres salen del mismo módulo y son el mismo objeto
10
+ * (`@heroui/react/dist/components/tabs/index.js`: `Tabs = Object.assign(TabsRoot, { …, Tab })`,
11
+ * y `dist/index.js:92-93` los exporta por separado), así que servir fachadas distintas por cada
12
+ * nombre habría sido el «falso amigo» que ya costó rondas en Alert/Checkbox/Switch.
13
+ */
14
+ export declare const Tab: {
15
+ ({ children, ...props }: TabProps): React.JSX.Element;
16
+ displayName: string;
17
+ };
18
+ /**
19
+ * `Tabs` de Aurora: el root de v3 **más el `Tabs.ListContainer` que faltaba**, con el compound
20
+ * completo colgado como estáticos y `Tabs.Tab` apuntando a la FACHADA del tab.
21
+ *
22
+ * ```tsx
23
+ * // Mínimo: la fachada monta el carril y el indicador, y se ve correcto sin añadir nada.
24
+ * <Tabs>
25
+ * <Tabs.List aria-label="Vista">
26
+ * <Tabs.Tab id="a">Alfa</Tabs.Tab>
27
+ * </Tabs.List>
28
+ * </Tabs>
29
+ *
30
+ * // Anatomía completa a mano: la fachada la respeta y no duplica nada.
31
+ * <Tabs>
32
+ * <Tabs.ListContainer>
33
+ * <Tabs.List aria-label="Vista">
34
+ * <Tabs.Tab id="a"><Tabs.Indicator />Alfa</Tabs.Tab>
35
+ * </Tabs.List>
36
+ * </Tabs.ListContainer>
37
+ * </Tabs>
38
+ * ```
39
+ *
40
+ * `Tabs.Root` queda deliberadamente crudo (el root pelado de v3, sin contenedor), igual que en
41
+ * `Table` y `Dropdown`: vía de escape para la **forma delgada** de v3 (lista sin contenedor, sin
42
+ * scroller ni chevrones), que sigue alcanzable y a la que `neutralize-v3.css` dedica su regla
43
+ * `:not(:has(.tabs__list-container))`. Ojo: en la forma delgada el `variant="secondary"` de v3 no
44
+ * pinta —todas sus reglas cuelgan de `> .tabs__list-container` (`tabs.css:234-282`)—, así que
45
+ * pasar por la fachada es además lo que hace funcionar esa variante.
46
+ *
47
+ * `Tabs.Indicator` se conserva exportado (como estático y vía `Tab`) para quien quiera componerlo
48
+ * a mano: es el objeto EXACTO de `@heroui/react`.
49
+ */
50
+ export declare const Tabs: {
51
+ ({ children, ...props }: TabsProps): React.JSX.Element;
52
+ displayName: string;
53
+ } & {
54
+ Indicator: ({ className, ...props }: import("@heroui/react").TabIndicatorProps) => import("react/jsx-runtime").JSX.Element;
55
+ List: ({ children, className, ...props }: import("@heroui/react").TabListProps) => import("react/jsx-runtime").JSX.Element;
56
+ ListContainer: <E extends keyof React.JSX.IntrinsicElements = "div">({ children, className, render, ...containerProps }: import("@heroui/react").TabListContainerProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof import("@heroui/react").TabListContainerProps<E>>) => import("react/jsx-runtime").JSX.Element;
57
+ Panel: ({ children, className, ...props }: import("@heroui/react").TabPanelProps) => import("react/jsx-runtime").JSX.Element;
58
+ Root: ({ children, className, orientation, variant, ...props }: import("@heroui/react").TabsRootProps) => import("react/jsx-runtime").JSX.Element;
59
+ Separator: <E extends keyof React.JSX.IntrinsicElements = "span">({ className, ...props }: import("@heroui/react").TabSeparatorProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof import("@heroui/react").TabSeparatorProps<E>>) => import("react/jsx-runtime").JSX.Element;
60
+ Tab: {
61
+ ({ children, ...props }: TabProps): React.JSX.Element;
62
+ displayName: string;
63
+ };
64
+ };
65
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/tabs/Tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA+JxD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG;6BA1C2B,QAAQ;;CA0CvB,CAAC;AAkD7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,IAAI;6BAtE2B,SAAS;;;;;;;;;;iCAtDV,QAAQ;;;CAoIjD,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { TabProps as HeroUITabProps, TabsRootProps } from "@heroui/react";
2
+ /**
3
+ * Props de la fachada `Tabs`: **las del root de HeroUI v3 tal cual**, sin quitar ni añadir nada.
4
+ *
5
+ * Se alias en vez de recomponerse a propósito. La fachada no introduce ninguna prop propia —solo
6
+ * inserta una pieza que faltaba en el árbol— así que cualquier `Omit`/`&` aquí sería una
7
+ * divergencia de la superficie que las apps ya compilan hoy contra el root crudo. `TabsRootProps`
8
+ * ya trae `children`/`className`/`variant`/`orientation` y las de `Tabs` de react-aria
9
+ * (`selectedKey`, `defaultSelectedKey`, `onSelectionChange`, `aria-label`…), que es todo lo que
10
+ * las apps pasan (verificado por grep en beweosagency, backoffice-beweos y beweanalytics).
11
+ *
12
+ * El nombre `TabsProps` no existía en la superficie pública de Aurora: `src/index.tsx` exportaba
13
+ * el valor `Tabs` pero ningún tipo, así que esto además cubre un hueco.
14
+ */
15
+ export type TabsProps = TabsRootProps;
16
+ /**
17
+ * Props de la fachada `Tab`: las de `Tabs.Tab` de HeroUI v3 tal cual, por el mismo motivo.
18
+ *
19
+ * Incluye `children` con la forma de react-aria (`ReactNode | ((renderProps) => ReactNode)`) —
20
+ * la variante función importa, porque es el único caso en el que la fachada NO puede inspeccionar
21
+ * los hijos y se aparta (ver `Tabs.tsx`).
22
+ */
23
+ export type TabProps = HeroUITabProps;
24
+ //# sourceMappingURL=Tabs.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.types.d.ts","sourceRoot":"","sources":["../../../../src/components/tabs/Tabs.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Tab, Tabs } from "./Tabs";
2
+ export type { TabProps, TabsProps } from "./Tabs.types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import "./styles/globals.css";
2
2
  import "./styles/linda-aura.css";
3
- export { Accordion, AccordionItem, Avatar, Breadcrumbs, CardFooter, CardHeader, CheckboxGroup, CloseButton, cn, type DateValue, Drawer, DrawerBody, DrawerContent, DrawerFooter, DrawerHeader, DropdownItem, DropdownMenu, DropdownTrigger, Link, Popover, PopoverContent, PopoverTrigger, Radio, RadioGroup, type RangeValue, Skeleton, Slider, Spinner, Tab, TableBody, TableCell, TableColumn, TableHeader, TableRow, Tabs, } from "@heroui/react";
3
+ export { Accordion, AccordionItem, Avatar, Breadcrumbs, CardFooter, CardHeader, CheckboxGroup, CloseButton, cn, type DateValue, Drawer, DrawerBody, DrawerContent, DrawerFooter, DrawerHeader, DropdownItem, DropdownMenu, DropdownTrigger, Link, Popover, PopoverContent, PopoverTrigger, Radio, RadioGroup, type RangeValue, Skeleton, Slider, Spinner, TableBody, TableCell, TableColumn, TableHeader, TableRow, } from "@heroui/react";
4
4
  export { AutocompleteItem, BreadcrumbItem, CardBody, Divider, HeroUIProvider, Image, Progress, SelectItem, SelectSection, useDisclosure, type Selection, type SortDescriptor, type TextAreaProps, } from "./compat/heroui-v2-shims";
5
5
  export * from "./components/accordion-list";
6
6
  export * from "./components/add-holiday-form";
@@ -76,6 +76,7 @@ export { SearchInput, type SearchInputProps } from "./components/search-input";
76
76
  export { Select, type SelectProps, type SelectTranslations, } from "./components/select";
77
77
  export { Table, type TableProps } from "./components/table";
78
78
  export { Dropdown, DropdownSection, type DropdownProps, type DropdownSectionClassNames, type DropdownSectionProps, } from "./components/dropdown";
79
+ export { Tab, Tabs, type TabProps, type TabsProps, } from "./components/tabs";
79
80
  export { Textarea, type TextareaProps } from "./components/textarea";
80
81
  export { DatePicker, type DatePickerProps, } from "./components/datepicker";
81
82
  export { DateRangePicker, type DateRangePickerProps, } from "./components/daterangepicker";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beweco/aurora-ui",
3
- "version": "1.0.0-beta.136",
3
+ "version": "1.0.0-beta.137",
4
4
  "description": "Bewe Aurora UI Component Library",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",