@beweco/aurora-ui 0.6.76 → 0.6.78

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.
@@ -41,6 +41,17 @@ export declare const containerProps: {
41
41
  };
42
42
  /** `true` si el elemento es un control de cierre (o está dentro de uno). */
43
43
  export declare const isDismissControl: (element: Element | null | undefined) => boolean;
44
+ /**
45
+ * `true` si el elemento vive dentro de una superficie modal: un diálogo estándar
46
+ * o un contenedor marcado con `containerProps`.
47
+ *
48
+ * Es la condición que decide si un componente con popover no-modal necesita el
49
+ * predicado de más abajo. Fuera de una superficie así, HeroUI ya resuelve el
50
+ * caso por su cuenta (`ariaShouldCloseOnInteractOutside` cierra el desplegable
51
+ * y devuelve `false`, de modo que la pulsación llega a su destino); solo falla
52
+ * cuando hay un diálogo de por medio, y ahí entra el nuestro.
53
+ */
54
+ export declare const isInsideDismissContainer: (element: Element | null | undefined) => boolean;
44
55
  /**
45
56
  * Predicado listo para `popoverProps.shouldCloseOnInteractOutside` de un
46
57
  * componente con popover no-modal.
@@ -50,12 +61,47 @@ export declare const isDismissControl: (element: Element | null | undefined) =>
50
61
  * 1. Dentro del propio componente: el popover vive en un portal, así que el
51
62
  * campo de búsqueda queda fuera de él y una pulsación sobre el texto se
52
63
  * contaba como externa.
53
- * 2. Sobre un control de cierre del contenedor.
64
+ * 2. Sobre un control de cierre del contenedor propio.
54
65
  * 3. Dentro del mismo diálogo/contenedor que el componente: seguir rellenando
55
66
  * el formulario no es descartar el desplegable.
56
67
  *
68
+ * Las exenciones 2 y 3 se limitan al contenedor del propio componente. Un
69
+ * control de cierre suelto en la página —la X de un toast, la de un banner— no
70
+ * tiene nada que ver con este desplegable, así que sigue contando como externo
71
+ * y lo cierra.
72
+ *
57
73
  * @param element Elemento donde ha empezado la interacción.
58
74
  * @param root Raíz del componente.
59
75
  */
60
76
  export declare const shouldClosePopoverOnInteractOutside: (element: Element, root: Element | null | undefined) => boolean;
77
+ /**
78
+ * Forma mínima de `popoverProps` que consume este helper. Replica a mano el
79
+ * contrato de `PopoverProps["shouldCloseOnInteractOutside"]` de `@heroui/popover`
80
+ * para no arrastrar los tipos de HeroUI dentro de `utils`: si esa firma cambia,
81
+ * el error saldrá en el componente que llama, no aquí.
82
+ */
83
+ interface DismissAwarePopoverProps {
84
+ shouldCloseOnInteractOutside?: (element: Element) => boolean;
85
+ }
86
+ /**
87
+ * Mezcla las `popoverProps` de un consumidor con el predicado por defecto, para
88
+ * que un componente con popover no-modal no trate como "clic fuera" lo que no lo
89
+ * es (ver `shouldClosePopoverOnInteractOutside`).
90
+ *
91
+ * Llamar solo cuando el componente está dentro de una superficie modal
92
+ * (`isInsideDismissContainer`). Fuera de ella HeroUI trae su propio default y
93
+ * hay que dejárselo: instalar cualquier predicado lo desactiva, porque su mezcla
94
+ * es por truthiness (`@heroui/autocomplete` → `use-autocomplete`).
95
+ *
96
+ * El consumidor puede sustituir el predicado pasando el suyo — es la salida para
97
+ * casos a medida, no la puerta a `() => true`. Pasar `shouldCloseOnInteractOutside:
98
+ * undefined` NO desactiva el default: para eso hay que pasar un predicado propio.
99
+ *
100
+ * @param popoverProps Las que llegan del consumidor, si las hay.
101
+ * @param getRoot Lector de la raíz del componente. Es una función y no un
102
+ * valor porque el `ref` todavía es `null` en el primer
103
+ * render: hay que leerlo cuando ocurre la interacción.
104
+ */
105
+ export declare const withPopoverDismissDefaults: <P extends DismissAwarePopoverProps>(popoverProps: P | undefined, getRoot: () => Element | null) => P;
106
+ export {};
61
107
  //# sourceMappingURL=dismiss-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dismiss-control.d.ts","sourceRoot":"","sources":["../../../src/utils/dismiss-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D,uFAAuF;AACvF,eAAO,MAAM,mBAAmB;;CAEtB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,sEAAsE;AACtE,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAsBX,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,GAC5B,SAAS,OAAO,GAAG,IAAI,GAAG,SAAS,KACjC,OAA6D,CAAC;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mCAAmC,GAC/C,SAAS,OAAO,EAChB,MAAM,OAAO,GAAG,IAAI,GAAG,SAAS,KAC9B,OAaF,CAAC"}
1
+ {"version":3,"file":"dismiss-control.d.ts","sourceRoot":"","sources":["../../../src/utils/dismiss-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D,uFAAuF;AACvF,eAAO,MAAM,mBAAmB;;CAEtB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,sEAAsE;AACtE,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAsBX,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,GAC5B,SAAS,OAAO,GAAG,IAAI,GAAG,SAAS,KACjC,OAA6D,CAAC;AAEjE;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GACpC,SAAS,OAAO,GAAG,IAAI,GAAG,SAAS,KACjC,OAAuD,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,mCAAmC,GAC/C,SAAS,OAAO,EAChB,MAAM,OAAO,GAAG,IAAI,GAAG,SAAS,KAC9B,OAeF,CAAC;AAEF;;;;;GAKG;AACH,UAAU,wBAAwB;IACjC,4BAA4B,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,wBAAwB,EAC5E,cAAc,CAAC,GAAG,SAAS,EAC3B,SAAS,MAAM,OAAO,GAAG,IAAI,KAC3B,CAOK,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Comparación de texto para los buscadores de los desplegables (país, moneda).
3
+ *
4
+ * El problema que resuelve: los nombres de la lista de países mezclan idiomas y
5
+ * algunos llevan tilde ("Canadá", "República Dominicana"). Un `includes` crudo
6
+ * exige que quien busca escriba la tilde, así que teclear "canada" no encontraba
7
+ * Canadá y "republica" no encontraba República Dominicana — el desplegable
8
+ * respondía "No se encontraron países" con el país delante.
9
+ */
10
+ /** Minúsculas y sin diacríticos, para comparar lo que se escribe con lo que se muestra. */
11
+ export declare const normalizeForSearch: (value: string) => string;
12
+ /**
13
+ * `true` si el término aparece en alguno de los campos, ignorando tildes y
14
+ * mayúsculas. Los campos ausentes se descartan. Un término vacío casa siempre,
15
+ * igual que el `includes` que sustituye.
16
+ */
17
+ export declare const matchesSearchTerm: (fields: (string | undefined | null)[], term: string) => boolean;
18
+ //# sourceMappingURL=text-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-search.d.ts","sourceRoot":"","sources":["../../../src/utils/text-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,2FAA2F;AAC3F,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAMnC,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC7B,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EACrC,MAAM,MAAM,KACV,OAKF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beweco/aurora-ui",
3
- "version": "0.6.76",
3
+ "version": "0.6.78",
4
4
  "description": "Bewe Aurora UI Component Library",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",