@axa-fr/canopee-react 2.0.0-alpha.74 → 2.0.0-alpha.76

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 (179) hide show
  1. package/dist/distributeur/Accordion/Accordion.d.ts +1 -3
  2. package/dist/distributeur/Accordion/Accordion.js +2 -5
  3. package/dist/distributeur/Accordion/CollapseCard.d.ts +1 -3
  4. package/dist/distributeur/Accordion/CollapseCard.js +2 -4
  5. package/dist/distributeur/Accordion/Header.d.ts +1 -3
  6. package/dist/distributeur/Accordion/Header.js +1 -2
  7. package/dist/distributeur/Action/Action.d.ts +1 -3
  8. package/dist/distributeur/Action/Action.js +2 -3
  9. package/dist/distributeur/Form/Checkbox/Checkbox.d.ts +1 -1
  10. package/dist/distributeur/Form/Checkbox/Checkbox.js +9 -4
  11. package/dist/distributeur/Form/Checkbox/CheckboxInput.js +2 -2
  12. package/dist/distributeur/Form/Checkbox/CheckboxItem.d.ts +1 -3
  13. package/dist/distributeur/Form/Checkbox/CheckboxItem.js +2 -2
  14. package/dist/distributeur/Form/Choice/Choice.d.ts +0 -2
  15. package/dist/distributeur/Form/Choice/ChoiceInput.js +1 -1
  16. package/dist/distributeur/Form/Date/Date.d.ts +2 -3
  17. package/dist/distributeur/Form/Date/Date.js +3 -3
  18. package/dist/distributeur/Form/Date/DateInput.js +1 -1
  19. package/dist/distributeur/Form/File/File.d.ts +1 -3
  20. package/dist/distributeur/Form/File/File.js +1 -2
  21. package/dist/distributeur/Form/File/FileInput.d.ts +3 -1
  22. package/dist/distributeur/Form/File/FileInput.js +2 -2
  23. package/dist/distributeur/Form/File/FileLine.d.ts +1 -2
  24. package/dist/distributeur/Form/File/FileLine.js +6 -3
  25. package/dist/distributeur/Form/File/FileTable.d.ts +1 -2
  26. package/dist/distributeur/Form/File/FileTable.js +6 -3
  27. package/dist/distributeur/Form/MultiSelect/MultiSelectInput.js +1 -1
  28. package/dist/distributeur/Form/NestedQuestion/NestedQuestion.js +7 -3
  29. package/dist/distributeur/Form/Number/Number.d.ts +4 -7
  30. package/dist/distributeur/Form/Number/Number.js +4 -5
  31. package/dist/distributeur/Form/Number/NumberInput.js +1 -1
  32. package/dist/distributeur/Form/Radio/Radio.d.ts +1 -1
  33. package/dist/distributeur/Form/Radio/RadioInput.js +1 -1
  34. package/dist/distributeur/Form/Radio/RadioItem.d.ts +1 -3
  35. package/dist/distributeur/Form/Radio/RadioItem.js +2 -2
  36. package/dist/distributeur/Form/Select/Select.d.ts +3 -19
  37. package/dist/distributeur/Form/Select/Select.js +3 -4
  38. package/dist/distributeur/Form/Select/SelectBase.d.ts +3 -24
  39. package/dist/distributeur/Form/Select/SelectBase.js +2 -7
  40. package/dist/distributeur/Form/Select/SelectDefault.d.ts +3 -3
  41. package/dist/distributeur/Form/Select/SelectInput.js +1 -1
  42. package/dist/distributeur/Form/Select/index.d.ts +0 -1
  43. package/dist/distributeur/Form/Select/index.js +0 -1
  44. package/dist/distributeur/Form/Text/Text.d.ts +2 -3
  45. package/dist/distributeur/Form/Text/Text.js +3 -3
  46. package/dist/distributeur/Form/Text/TextInput.js +1 -1
  47. package/dist/distributeur/Form/Textarea/Textarea.d.ts +2 -3
  48. package/dist/distributeur/Form/Textarea/Textarea.js +3 -3
  49. package/dist/distributeur/Form/Textarea/TextareaInput.js +1 -1
  50. package/dist/distributeur/Form/core/Field.d.ts +4 -23
  51. package/dist/distributeur/Form/core/Field.js +25 -16
  52. package/dist/distributeur/Form/core/FieldError.js +5 -2
  53. package/dist/distributeur/Form/core/getOptionClassName.d.ts +1 -1
  54. package/dist/distributeur/Form/core/getOptionClassName.js +2 -6
  55. package/dist/distributeur/Form/core/index.d.ts +0 -8
  56. package/dist/distributeur/Form/core/index.js +0 -4
  57. package/dist/distributeur/HelpButton/index.d.ts +1 -1
  58. package/dist/distributeur/HelpButton/index.js +4 -6
  59. package/dist/distributeur/Layout/Header/Header.d.ts +1 -3
  60. package/dist/distributeur/Layout/Header/Header.js +1 -2
  61. package/dist/distributeur/Layout/Header/HeaderTitle/HeaderTitle.d.ts +1 -2
  62. package/dist/distributeur/Layout/Header/HeaderTitle/HeaderTitle.js +7 -4
  63. package/dist/distributeur/Layout/Header/Infos/Infos.d.ts +1 -3
  64. package/dist/distributeur/Layout/Header/Infos/Infos.js +1 -2
  65. package/dist/distributeur/Layout/Header/Name/Name.d.ts +1 -3
  66. package/dist/distributeur/Layout/Header/Name/Name.js +1 -2
  67. package/dist/distributeur/Layout/Header/NavBar/NavBar.js +1 -6
  68. package/dist/distributeur/Layout/Header/NavBar/NavBarBase.d.ts +1 -3
  69. package/dist/distributeur/Layout/Header/NavBar/NavBarBase.js +7 -3
  70. package/dist/distributeur/Layout/Header/NavBar/NavBarItem/NavBarItem.d.ts +2 -2
  71. package/dist/distributeur/Layout/Header/NavBar/NavBarItem/NavBarItem.js +10 -3
  72. package/dist/distributeur/Layout/Header/NavBar/NavBarItem/NavBarItemBase.d.ts +1 -2
  73. package/dist/distributeur/Layout/Header/NavBar/NavBarItem/NavBarItemBase.js +6 -3
  74. package/dist/distributeur/Layout/Header/User/User.d.ts +1 -11
  75. package/dist/distributeur/Layout/Header/User/User.js +1 -2
  76. package/dist/distributeur/Messages/Message.d.ts +2 -6
  77. package/dist/distributeur/Messages/Message.js +3 -14
  78. package/dist/distributeur/ModalAgent/BooleanModal.d.ts +1 -6
  79. package/dist/distributeur/ModalAgent/BooleanModal.js +7 -4
  80. package/dist/distributeur/ModalAgent/Modal.d.ts +2 -7
  81. package/dist/distributeur/ModalAgent/Modal.js +7 -16
  82. package/dist/distributeur/ModalAgent/components/Body.d.ts +2 -5
  83. package/dist/distributeur/ModalAgent/components/Body.js +1 -2
  84. package/dist/distributeur/ModalAgent/components/Footer.d.ts +2 -5
  85. package/dist/distributeur/ModalAgent/components/Footer.js +1 -2
  86. package/dist/distributeur/ModalAgent/components/Header.d.ts +1 -11
  87. package/dist/distributeur/ModalAgent/components/Header.js +2 -3
  88. package/dist/distributeur/ModalAgent/components/HeaderBase.d.ts +2 -5
  89. package/dist/distributeur/ModalAgent/components/HeaderBase.js +1 -2
  90. package/dist/distributeur/Popover/AnimatedPopover.d.ts +1 -3
  91. package/dist/distributeur/Popover/AnimatedPopover.js +1 -2
  92. package/dist/distributeur/Popover/Popover.d.ts +1 -3
  93. package/dist/distributeur/Popover/Popover.js +2 -2
  94. package/dist/distributeur/Popover/Popover.types.d.ts +0 -2
  95. package/dist/distributeur/Popover/PopoverBase.d.ts +1 -3
  96. package/dist/distributeur/Popover/PopoverBase.js +2 -2
  97. package/dist/distributeur/Popover/PopoverClick.d.ts +1 -1
  98. package/dist/distributeur/Popover/PopoverClick.js +2 -2
  99. package/dist/distributeur/Popover/PopoverOver.d.ts +1 -1
  100. package/dist/distributeur/Popover/PopoverOver.js +2 -2
  101. package/dist/distributeur/Restitution/ArticleRestitution.d.ts +2 -5
  102. package/dist/distributeur/Restitution/ArticleRestitution.js +1 -2
  103. package/dist/distributeur/Restitution/HeaderRestitution.d.ts +1 -3
  104. package/dist/distributeur/Restitution/HeaderRestitution.js +1 -2
  105. package/dist/distributeur/Restitution/Restitution.d.ts +1 -3
  106. package/dist/distributeur/Restitution/Restitution.js +2 -2
  107. package/dist/distributeur/Restitution/SectionRestitution.d.ts +1 -3
  108. package/dist/distributeur/Restitution/SectionRestitution.js +1 -2
  109. package/dist/distributeur/Restitution/SectionRestitutionColumn.d.ts +1 -3
  110. package/dist/distributeur/Restitution/SectionRestitutionColumn.js +1 -2
  111. package/dist/distributeur/Restitution/SectionRestitutionRow.d.ts +1 -3
  112. package/dist/distributeur/Restitution/SectionRestitutionRow.js +5 -9
  113. package/dist/distributeur/Restitution/SectionRestitutionTitle.d.ts +1 -3
  114. package/dist/distributeur/Restitution/SectionRestitutionTitle.js +1 -2
  115. package/dist/distributeur/Steps/Step.d.ts +1 -1
  116. package/dist/distributeur/Steps/Step.js +4 -4
  117. package/dist/distributeur/Steps/StepBase.d.ts +1 -3
  118. package/dist/distributeur/Steps/StepBase.js +1 -2
  119. package/dist/distributeur/Steps/Steps.d.ts +1 -3
  120. package/dist/distributeur/Steps/Steps.js +1 -2
  121. package/dist/distributeur/Summary/index.d.ts +1 -1
  122. package/dist/distributeur/Summary/index.js +1 -2
  123. package/dist/distributeur/Table/Pagination/Items.d.ts +1 -2
  124. package/dist/distributeur/Table/Pagination/Items.js +8 -8
  125. package/dist/distributeur/Table/Pagination/Pager.d.ts +1 -2
  126. package/dist/distributeur/Table/Pagination/Pager.js +6 -3
  127. package/dist/distributeur/Table/Pagination/Paging.d.ts +1 -1
  128. package/dist/distributeur/Table/Pagination/Paging.js +6 -3
  129. package/dist/distributeur/Table/TBody.d.ts +1 -5
  130. package/dist/distributeur/Table/TBody.js +1 -2
  131. package/dist/distributeur/Table/THead.d.ts +2 -5
  132. package/dist/distributeur/Table/THead.js +1 -2
  133. package/dist/distributeur/Table/Table.d.ts +6 -33
  134. package/dist/distributeur/Table/Table.js +1 -10
  135. package/dist/distributeur/Table/Td.d.ts +1 -5
  136. package/dist/distributeur/Table/Td.js +1 -2
  137. package/dist/distributeur/Table/Th.d.ts +2 -4
  138. package/dist/distributeur/Table/Th.js +2 -2
  139. package/dist/distributeur/Table/Tr.d.ts +2 -5
  140. package/dist/distributeur/Table/Tr.js +1 -2
  141. package/dist/distributeur/Table/index.d.ts +1 -1
  142. package/dist/distributeur/Tabs/components/Tab.d.ts +0 -4
  143. package/dist/distributeur/Tabs/components/TabsStateless.d.ts +3 -7
  144. package/dist/distributeur/Tabs/components/TabsStateless.js +2 -2
  145. package/dist/distributeur/Tag/Tag.d.ts +1 -6
  146. package/dist/distributeur/Tag/Tag.js +2 -2
  147. package/dist/distributeur/Title/Title.d.ts +1 -3
  148. package/dist/distributeur/Title/Title.js +2 -2
  149. package/dist/distributeur/utilities.d.ts +1 -1
  150. package/dist/distributeur/utilities.js +1 -1
  151. package/dist/distributeur.d.ts +5 -24
  152. package/dist/distributeur.js +5 -17
  153. package/package.json +2 -2
  154. package/dist/distributeur/Form/Pass/Pass.d.ts +0 -15
  155. package/dist/distributeur/Form/Pass/Pass.js +0 -13
  156. package/dist/distributeur/Form/Pass/PassInput.d.ts +0 -13
  157. package/dist/distributeur/Form/Pass/PassInput.js +0 -34
  158. package/dist/distributeur/Form/Pass/index.d.ts +0 -2
  159. package/dist/distributeur/Form/Pass/index.js +0 -2
  160. package/dist/distributeur/Form/Select/SelectDefaultWithOptions.d.ts +0 -26
  161. package/dist/distributeur/Form/Select/SelectDefaultWithOptions.js +0 -32
  162. package/dist/distributeur/Form/Slider/Slider.d.ts +0 -28
  163. package/dist/distributeur/Form/Slider/Slider.js +0 -40
  164. package/dist/distributeur/Form/Slider/SliderInput.d.ts +0 -9
  165. package/dist/distributeur/Form/Slider/SliderInput.js +0 -11
  166. package/dist/distributeur/Form/Slider/index.d.ts +0 -3
  167. package/dist/distributeur/Form/Slider/index.js +0 -3
  168. package/dist/distributeur/Form/core/Deprecated/Field.d.ts +0 -21
  169. package/dist/distributeur/Form/core/Deprecated/Field.js +0 -20
  170. package/dist/distributeur/Form/core/Deprecated/FieldForm.d.ts +0 -103
  171. package/dist/distributeur/Form/core/Deprecated/FieldForm.js +0 -162
  172. package/dist/distributeur/Form/core/Deprecated/FieldInput.d.ts +0 -16
  173. package/dist/distributeur/Form/core/Deprecated/FieldInput.js +0 -14
  174. package/dist/distributeur/Form/core/useInputClassModifier.d.ts +0 -4
  175. package/dist/distributeur/Form/core/useInputClassModifier.js +0 -13
  176. package/dist/distributeur/Layout/Header/HeaderTitle/HeaderTitle.helpers.d.ts +0 -1
  177. package/dist/distributeur/Layout/Header/HeaderTitle/HeaderTitle.helpers.js +0 -6
  178. package/dist/distributeur/utilities/helpers/getComponentClassName.d.ts +0 -20
  179. package/dist/distributeur/utilities/helpers/getComponentClassName.js +0 -54
@@ -1,162 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Children, cloneElement, isValidElement, useEffect, useRef, useState, } from "react";
3
- import { getComponentClassName } from "../../../utilities";
4
- import { FormClassManager } from "../FormClassManager";
5
- import { MessageTypes } from "../MessageTypes";
6
- const defaultClassName = "md-10";
7
- const INITIAL_STATE = {
8
- hasLostFocusOnce: false,
9
- hasFocus: false,
10
- hasChange: false,
11
- memory: { message: "", messageType: MessageTypes.error },
12
- };
13
- export const setStateMemory = ({ message, messageType = MessageTypes.error }) => (prevState) => ({
14
- ...prevState,
15
- memory: {
16
- message,
17
- messageType,
18
- },
19
- });
20
- export const setStateHasChange = () => (prevState) => ({
21
- ...prevState,
22
- hasChange: true,
23
- });
24
- export const onChangeByState = (setState, stateHasChange, setStateHasChangeFn = setStateHasChange) => !stateHasChange && setState(setStateHasChangeFn());
25
- export const setStateOnBlur = () => (prevState) => ({
26
- ...prevState,
27
- hasLostFocusOnce: true,
28
- hasFocus: false,
29
- });
30
- export const setStateOnFocus = ({ message, messageType = MessageTypes.error }) => (prevState) => ({
31
- ...prevState,
32
- hasFocus: true,
33
- memory: { message, messageType },
34
- });
35
- export const getMessageInfo = ({ forceDisplayMessage, hasLostFocusOnce, hasFocus, memory, hasChange, message, messageType, }) => {
36
- const isDisplayMessage = hasLostFocusOnce || forceDisplayMessage || (hasChange && !hasFocus);
37
- if (!isDisplayMessage) {
38
- return {
39
- message: "",
40
- messageType: "",
41
- };
42
- }
43
- return hasFocus
44
- ? memory
45
- : {
46
- message,
47
- messageType,
48
- };
49
- };
50
- export const eventWrapper = ({ wrapper, props }) => ({
51
- onChange: (ev) => {
52
- wrapper?.onChange?.(ev);
53
- if (props.onChange) {
54
- props.onChange(ev);
55
- }
56
- },
57
- onBlur: (ev) => {
58
- wrapper?.onBlur?.(ev);
59
- if (props.onBlur) {
60
- props.onBlur(ev);
61
- }
62
- },
63
- onFocus: (ev) => {
64
- wrapper?.onFocus?.(ev);
65
- if (props.onFocus) {
66
- props.onFocus(ev);
67
- }
68
- },
69
- });
70
- export const addPropsClone = ({ message, messageType, classModifier, wrapper, child, name, getMessageClassModifierFn = FormClassManager.getMessageClassModifier, eventWrapperFn = eventWrapper, }) => {
71
- const messageClassModifier = getMessageClassModifierFn(messageType, message, classModifier);
72
- const displayName = child.type.displayName ?? name;
73
- switch (displayName) {
74
- case "HelpMessage":
75
- return { isVisible: !message };
76
- case "FieldError":
77
- return { message };
78
- case "FieldInput":
79
- return { classModifier: messageClassModifier };
80
- case "EnhancedInputRadio":
81
- case "EnhancedInputCheckbox":
82
- return {
83
- ...eventWrapperFn({ wrapper, props: child.props }),
84
- classModifier: messageClassModifier,
85
- };
86
- case "EnhancedInput":
87
- return {
88
- ...eventWrapperFn({ wrapper, props: child.props }),
89
- };
90
- default:
91
- return {};
92
- }
93
- };
94
- export const renderedChildren = ({ children, wrapper, message, messageType, }) => Children.map(children, (child) => {
95
- if (!isValidElement(child) || typeof child.type === "string") {
96
- return child;
97
- }
98
- const props = {
99
- ...child.props,
100
- };
101
- if (child.props.children) {
102
- const subChildren = renderedChildren({
103
- children: child.props
104
- .children,
105
- wrapper,
106
- message,
107
- messageType,
108
- });
109
- if (subChildren !== null) {
110
- props.children = subChildren;
111
- }
112
- }
113
- return cloneElement(child, {
114
- ...props,
115
- ...addPropsClone({
116
- ...child.type,
117
- name: child.type.name,
118
- message,
119
- messageType,
120
- classModifier: props.classModifier,
121
- wrapper,
122
- child: child,
123
- }),
124
- });
125
- });
126
- /**
127
- * @deprecated This component is deprecated and will be removed in future versions.
128
- * This was an internal component used to manage the state of the form fields.
129
- * It is not recommended to use it directly in your code as it is not a public API.
130
- */
131
- export const FieldForm = ({ children, message = "", messageType = MessageTypes.error, className = defaultClassName, classModifier = "", forceDisplayMessage = false, setStateMemoryFn = setStateMemory, onChangeByStateFn = onChangeByState, setStateOnBlurFn = setStateOnBlur, setStateOnFocusFn = setStateOnFocus, initialState = INITIAL_STATE, }) => {
132
- const [state, setState] = useState(initialState);
133
- const previousForceDisplayMessage = useRef(forceDisplayMessage);
134
- useEffect(() => {
135
- if (previousForceDisplayMessage.current !== forceDisplayMessage) {
136
- setState(setStateMemoryFn({ message, messageType }));
137
- }
138
- }, [
139
- forceDisplayMessage,
140
- message,
141
- messageType,
142
- previousForceDisplayMessage,
143
- setState,
144
- setStateMemoryFn,
145
- ]);
146
- // for particular case on particular browers which does not throw onFocus or onBlur event
147
- const onChange = () => onChangeByStateFn(setState, state?.hasChange);
148
- const onBlur = () => setState(setStateOnBlurFn());
149
- const onFocus = () => setState(setStateOnFocusFn({ message, messageType }));
150
- const childrenCloned = renderedChildren({
151
- children,
152
- wrapper: { onFocus, onChange, onBlur },
153
- ...getMessageInfo({
154
- ...state,
155
- forceDisplayMessage,
156
- message,
157
- messageType,
158
- }),
159
- });
160
- const subComponentClassName = getComponentClassName(className, classModifier, defaultClassName);
161
- return _jsx("div", { className: subComponentClassName, children: childrenCloned });
162
- };
@@ -1,16 +0,0 @@
1
- import type { ReactNode } from "react";
2
- type FieldProps = {
3
- isVisible?: boolean;
4
- className?: string;
5
- classModifier?: string;
6
- children?: ReactNode;
7
- };
8
- /**
9
- * @deprecated This component is deprecated and will be removed in future versions.
10
- * This was an internal component and it is not recommended to use it directly in your code as it is not a public API.
11
- */
12
- export declare const FieldInput: {
13
- ({ children, className, classModifier, isVisible, }: FieldProps): import("react/jsx-runtime").JSX.Element | null;
14
- displayName: string;
15
- };
16
- export {};
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { getComponentClassName } from "../../../utilities";
3
- /**
4
- * @deprecated This component is deprecated and will be removed in future versions.
5
- * This was an internal component and it is not recommended to use it directly in your code as it is not a public API.
6
- */
7
- export const FieldInput = ({ children, className = "", classModifier = "", isVisible = true, }) => {
8
- if (!isVisible) {
9
- return null;
10
- }
11
- const newClassName = getComponentClassName(className, classModifier, "");
12
- return _jsx("div", { className: newClassName, children: children });
13
- };
14
- FieldInput.displayName = "FieldInput";
@@ -1,4 +0,0 @@
1
- export declare function useInputClassModifier(classModifier: string, disabled: boolean, hasChildren: boolean, required?: boolean): {
2
- inputClassModifier: string;
3
- inputFieldClassModifier: string;
4
- };
@@ -1,13 +0,0 @@
1
- export function useInputClassModifier(classModifier, disabled, hasChildren, required = false) {
2
- return {
3
- inputClassModifier: [
4
- classModifier ?? "",
5
- hasChildren ? "hasinfobulle" : "",
6
- ].join(" "),
7
- inputFieldClassModifier: [
8
- classModifier ?? "",
9
- disabled ? "disabled" : "",
10
- required ? "required" : "",
11
- ].join(" "),
12
- };
13
- }
@@ -1 +0,0 @@
1
- export declare const getClassModifier: (classModifier?: string, isSticky?: boolean) => string | undefined;
@@ -1,6 +0,0 @@
1
- export const getClassModifier = (classModifier, isSticky) => {
2
- if (isSticky) {
3
- return !classModifier ? "sticky" : `${classModifier} sticky`.trim();
4
- }
5
- return classModifier;
6
- };
@@ -1,20 +0,0 @@
1
- /**
2
- * @deprecated This function is deprecated and will be removed in a future release. Use getClassName instead.
3
- * Generates a component class name string based on provided class names and modifiers.
4
- *
5
- * @param {string} [className] - The base class name.
6
- * @param {string} [classModifier] - A space-separated string of class modifiers.
7
- * @param {string} [defaultClassName] - The default class name to use if className is not provided.
8
- * @returns {string} The generated class name string.
9
- */
10
- export declare const getComponentClassName: (className?: string, classModifier?: string, defaultClassName?: string) => string;
11
- type getComponentClassNameWithUserClassnameParams = {
12
- userClassName?: string;
13
- classModifier?: string;
14
- componentClassName: string;
15
- };
16
- /**
17
- * @deprecated This function is deprecated and will be removed in a future release. Use getClassName instead.
18
- */
19
- export declare const getComponentClassNameWithUserClassname: ({ componentClassName, userClassName, classModifier, }: getComponentClassNameWithUserClassnameParams) => string;
20
- export {};
@@ -1,54 +0,0 @@
1
- import classNames from "classnames";
2
- const getLastClassName = (classNameToUse) => {
3
- if (!classNameToUse) {
4
- return null;
5
- }
6
- return classNameToUse.split(" ").filter(Boolean).at(-1);
7
- };
8
- const listClassModifier = (classModifier) => {
9
- if (!classModifier) {
10
- return [];
11
- }
12
- return classModifier.split(" ");
13
- };
14
- /**
15
- * @deprecated This function is deprecated and will be removed in a future release. Use getClassName instead.
16
- * Generates a component class name string based on provided class names and modifiers.
17
- *
18
- * @param {string} [className] - The base class name.
19
- * @param {string} [classModifier] - A space-separated string of class modifiers.
20
- * @param {string} [defaultClassName] - The default class name to use if className is not provided.
21
- * @returns {string} The generated class name string.
22
- */
23
- export const getComponentClassName = (className, classModifier, defaultClassName) => {
24
- const classNameToUse = className || defaultClassName;
25
- // Fail fast, when no className or defaultClassName we don't want to loop on modifier
26
- if (!classNameToUse) {
27
- return "";
28
- }
29
- const classWithoutModifier = getLastClassName(classNameToUse);
30
- const modifiers = listClassModifier(classModifier);
31
- const modifiersObject = modifiers
32
- .filter((it) => /\S/.test(it))
33
- .map((it) => {
34
- return `${classWithoutModifier}--${it}`;
35
- });
36
- return classNames(classNameToUse, modifiersObject);
37
- };
38
- /**
39
- * @deprecated This function is deprecated and will be removed in a future release. Use getClassName instead.
40
- */
41
- export const getComponentClassNameWithUserClassname = ({ componentClassName, userClassName, classModifier, }) => {
42
- // Fail fast, when no className or componentClassName we don't want to loop on modifier
43
- if (!componentClassName) {
44
- return "";
45
- }
46
- const classWithoutModifier = getLastClassName(componentClassName);
47
- const modifiers = listClassModifier(classModifier);
48
- const modifiersObject = modifiers
49
- .filter((it) => /\S/.test(it))
50
- .map((it) => {
51
- return `${classWithoutModifier}--${it}`;
52
- });
53
- return classNames(componentClassName, modifiersObject, userClassName);
54
- };