@focus4/styling 12.9.0 → 12.10.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@focus4/styling",
3
- "version": "12.9.0",
3
+ "version": "12.10.0",
4
4
  "description": "Focus v4, styling module",
5
5
  "main": "lib/focus4.styling.js",
6
6
  "type": "module",
@@ -12,7 +12,7 @@
12
12
  "license": "MIT",
13
13
  "homepage": "https://github.com/klee-contrib/focus4/tree/master/packages/styling",
14
14
  "scripts": {
15
- "build": "rollup -cm --bundleConfigAsCjs",
15
+ "build": "tsdown",
16
16
  "postinstall": "node postinstall.js"
17
17
  },
18
18
  "dependencies": {
@@ -23,8 +23,7 @@
23
23
  "tslib": "^2.8.1"
24
24
  },
25
25
  "peerDependencies": {
26
- "react": ">= 19.0 < 20",
27
- "react-dom": ">= 19.0 < 20"
28
- },
29
- "gitHead": "fa2a850433c95d8f541379723dbaf54284e5eed7"
26
+ "react": ">= 19 < 20",
27
+ "react-dom": ">= 19 < 20"
28
+ }
30
29
  }
@@ -1,12 +0,0 @@
1
- /** Récupère les paramètres de transition par défaut, à partir des variables CSS correspondantes. */
2
- export declare function getDefaultTransition(): {
3
- readonly delay: number;
4
- readonly duration: number;
5
- readonly ease: [number, number, number, number] | undefined;
6
- };
7
- /** Récupère les paramètres de transition "spring" par défaut. */
8
- export declare function getSpringTransition(): {
9
- readonly type: "spring";
10
- readonly bounce: 0;
11
- readonly duration: number;
12
- };
package/lib/config.d.ts DELETED
@@ -1,7 +0,0 @@
1
- /** Config Focus de l'application */
2
- export declare const uiConfig: {
3
- /** Valeur de "autocomplete" sur les inputs pour lesquels on ne veut pas d'autocomplétion. */
4
- autocompleteOffValue: string;
5
- /** Classe CSS par défaut des icônes. */
6
- defaultIconClassName: string;
7
- };
@@ -1,24 +0,0 @@
1
- export type CSSElement<T> = T & string & {
2
- _element: void;
3
- };
4
- export type CSSMod<N extends string, T> = N & T & string & {
5
- _mod: void;
6
- };
7
- export type CSSToStrings<T> = {
8
- [P in keyof T]?: string;
9
- };
10
- export type Mods<CSS, E> = {
11
- [P in keyof CSS]: CSS[P] extends CSSMod<infer M, E> ? M : never;
12
- }[keyof CSS];
13
- export type ModNames<CSS, E> = {
14
- [P in keyof CSS]: CSS[P] extends CSSMod<infer _, E> ? P : never;
15
- }[keyof CSS];
16
- export type BemFunction<CSS = any, P extends number | string | symbol = any, E = any> = ((object: true) => {
17
- [_ in ModNames<CSS, E> | P]: string;
18
- }) & (Mods<CSS, E> extends never | undefined ? () => string : (mods?: {
19
- [_ in Mods<CSS, E>]?: boolean;
20
- }) => string);
21
- export interface CSSContext {
22
- [key: string]: {};
23
- }
24
- export declare const ThemeContext: import("react").Context<CSSContext>;
@@ -1,8 +0,0 @@
1
- export { ThemeContext } from "./common";
2
- export { themeable } from "./themeable";
3
- export { ThemeProvider } from "./theme-provider";
4
- export { fromBem, toBem } from "./to-bem";
5
- export { useTheme } from "./use-theme";
6
- export type { CSSContext, CSSElement, CSSMod, CSSToStrings } from "./common";
7
- export type { FocusCSSContext, ThemeProviderProps } from "./theme-provider";
8
- export type { CSSProp, ToBem } from "./to-bem";
@@ -1,73 +0,0 @@
1
- import { ReactNode } from "react";
2
- import { CSSContext } from "./common";
3
- /** Contient l'ensemble des classes CSS surchargeables (elles le sont toutes), regroupées par composant. */
4
- export interface FocusCSSContext extends CSSContext {
5
- actionBar: {};
6
- advancedSearch: {};
7
- contextualActions: {};
8
- facet: {};
9
- facetBox: {};
10
- group: {};
11
- list: {};
12
- listBase: {};
13
- searchBar: {};
14
- summary: {};
15
- table: {};
16
- timeline: {};
17
- booleanRadio: {};
18
- display: {};
19
- field: {};
20
- form: {};
21
- inputDate: {};
22
- inputFile: {};
23
- label: {};
24
- select: {};
25
- selectCheckbox: {};
26
- selectChips: {};
27
- selectRadio: {};
28
- dialog: {};
29
- filAriane: {};
30
- header: {};
31
- lateralMenu: {};
32
- layout: {};
33
- mainMenu: {};
34
- overlay: {};
35
- panel: {};
36
- popin: {};
37
- scrollable: {};
38
- scrollspy: {};
39
- autocomplete: {};
40
- button: {};
41
- calendar: {};
42
- checkbox: {};
43
- chip: {};
44
- dropdown: {};
45
- floatingActionButton: {};
46
- iconButton: {};
47
- menu: {};
48
- progressIndicator: {};
49
- radio: {};
50
- ripple: {};
51
- slider: {};
52
- snackbar: {};
53
- supportingText: {};
54
- switch: {};
55
- textField: {};
56
- tabs: {};
57
- tooltip: {};
58
- }
59
- /** Props du ThemeProvider. */
60
- export interface ThemeProviderProps {
61
- /** Objet faisant correspondre à un identifiant de composant son objet de classes CSS associé. */
62
- appTheme: Partial<FocusCSSContext>;
63
- /** Enfants. */
64
- children: ReactNode;
65
- }
66
- /**
67
- * Le `ThemeProvider` permet d'ajouter des classes CSS aux composants Focus (et autres composants utilisant `useTheme`) posés
68
- * à l'intérieur (via un context React).
69
- *
70
- * Les classes CSS ajoutées dans un `ThemeProvider` s'ajouteront aux éventuelles classes posées par un `ThemeProvider` parent,
71
- * y compris sur les mêmes composants.
72
- */
73
- export declare function ThemeProvider({ appTheme, children }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- /** Merges passed themes by concatenating string keys */
2
- export declare function themeable<T extends {}>(...themes: T[]): T;
@@ -1,39 +0,0 @@
1
- import { BemFunction, CSSElement, CSSMod, CSSToStrings } from "./common";
2
- export type AllMods<CSS> = {
3
- [P in keyof CSS]: CSS[P] extends CSSMod<infer _, infer __> ? P : never;
4
- }[keyof CSS];
5
- export type ToBem<CSS> = Omit<{
6
- [P in keyof CSS]-?: CSS[P] extends CSSElement<infer E> ? BemFunction<CSS, P, E> : CSS[P] extends CSSMod<infer __, infer ___> ? never : BemFunction<CSS, P, string>;
7
- }, AllMods<CSS>>;
8
- export type CSSProp<CSS> = CSSToStrings<CSS> | Partial<ToBem<CSS>>;
9
- /**
10
- * `toBem` permet de transformer un objet de classes CSS, tel que celui importé d'un module CSS, dont les noms respectent la convention BEM
11
- * en un objet contenant une fonction par "élément" à laquelle on peut appliquer ses "modificateurs".
12
- *
13
- * Par exemple, un objet contenant les classes
14
- * ```ts
15
- * ["panel", "panel--editing", "panel--loading", "title", "title--top", "title--bottom"]
16
- * ```
17
- * sera transformé en un objet avec 2 fonctions `panel` et `title` :
18
- * ```ts
19
- * {
20
- * panel({editing?: boolean; loading?: boolean}) => string;
21
- * title({top?: boolean; bottom?: boolean}) => string;
22
- * }
23
- * ```
24
- * Un appel à une fonction retournera la classe CSS de l'"élément", à laquelle seront ajoutées ou non les classes des différents "modificateurs",
25
- * selon les valeurs des différents booléens.
26
- *
27
- * Vous pouvez utiliser `toBem` pour éviter d'avoir à concaténer des classes CSS à la main et pour rendre vos composants et votre CSS plus propres.
28
- * Son usage est bien évidemment totalement facultatif et à utiliser si cela vous arrange.
29
- *
30
- * _Remarque 1 : Les modules CSS importés doivent avoir des définitions Typescript générés par la commande `focus4 cssgen` du module `@focus4/tooling`._
31
- *
32
- * _Remarque 2 : Les propriétés `theme` des différents composants Focus acceptent aussi bien un objet CSS classique ou un objet créé par `toBem`._
33
- */
34
- export declare function toBem<CSS>(css: CSS): ToBem<CSS>;
35
- /**
36
- * `fromBem` permet de faire la transformation inverse de `toBem`, à savoir prendre l'objet résultant d'un appel à `toBem` et de ressortir un objet
37
- * qui contient toutes les classes CSS qui le compose.
38
- */
39
- export declare function fromBem<T>(css: CSSToStrings<T> | Partial<ToBem<T>> | T): CSSToStrings<T>;
@@ -1,12 +0,0 @@
1
- import { CSSToStrings } from "./common";
2
- import { ToBem } from "./to-bem";
3
- /**
4
- * `useTheme` permet de récupérer les classes CSS passées dans un éventuel `ThemeProvider` parent et de les fusionner avec d'autres classes CSS
5
- * passées en paramètre.
6
- *
7
- * `useTheme` accepte aussi bien des objets de classes CSS classiques (importés d'un module CSS), que des objets créés avec `toBem`.
8
- *
9
- * @param name L'identifiant du composant dans le `appTheme` du `ThemeProvider`
10
- * @param themes Les objets de classes CSS à fusionner ensemble et avec celui du contexte.
11
- */
12
- export declare function useTheme<T>(name: string, ...themes: (CSSToStrings<T> | Partial<ToBem<T>> | T | undefined)[]): ToBem<T>;
@@ -1,2 +0,0 @@
1
- import "./colors.css";
2
- import "./variables.css";