@e1011/es-kit 1.0.168 → 1.0.170
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/hooks/esm/index.css +39 -39
- package/dist/hooks/esm/src/core/hooks/index.js +1 -1
- package/dist/hooks/esm/src/core/hooks/useThemePreference.js +2 -0
- package/dist/hooks/esm/src/core/hooks/useThemePreference.js.map +1 -0
- package/dist/hooks/index.css +39 -39
- package/dist/hooks/src/core/hooks/index.js +1 -1
- package/dist/hooks/src/core/hooks/useThemePreference.js +2 -0
- package/dist/hooks/src/core/hooks/useThemePreference.js.map +1 -0
- package/dist/lib/cjs/src/core/hooks/useThemePreference.js +2 -0
- package/dist/lib/cjs/src/core/hooks/useThemePreference.js.map +1 -0
- package/dist/lib/cjs/src/core/ui/components/container/CollapsibleContainer.js +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/LayoutBox.js +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/LayoutBox.js.map +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/ResizableContainer.js +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/layoutBox.types.js +2 -0
- package/dist/lib/cjs/src/core/ui/components/container/layoutBox.types.js.map +1 -0
- package/dist/lib/cjs/src/core/ui/components/dividers/DividerLine.js +1 -1
- package/dist/lib/cjs/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/lib/cjs/src/core/ui/components/icon/IconBase.js +1 -1
- package/dist/lib/cjs/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/lib/cjs/src/core/ui/components/icon/unifyIconUrl.js +2 -0
- package/dist/lib/cjs/src/core/ui/components/icon/unifyIconUrl.js.map +1 -0
- package/dist/lib/cjs/src/index.js +1 -1
- package/dist/lib/esm/src/core/hooks/useThemePreference.js +2 -0
- package/dist/lib/esm/src/core/hooks/useThemePreference.js.map +1 -0
- package/dist/lib/esm/src/core/ui/components/container/CollapsibleContainer.js +1 -1
- package/dist/lib/esm/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/container/LayoutBox.js +1 -1
- package/dist/lib/esm/src/core/ui/components/container/LayoutBox.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/container/ResizableContainer.js +1 -1
- package/dist/lib/esm/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/container/layoutBox.types.js +2 -0
- package/dist/lib/esm/src/core/ui/components/container/layoutBox.types.js.map +1 -0
- package/dist/lib/esm/src/core/ui/components/dividers/DividerLine.js +1 -1
- package/dist/lib/esm/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/icon/IconBase.js +1 -1
- package/dist/lib/esm/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/icon/unifyIconUrl.js +2 -0
- package/dist/lib/esm/src/core/ui/components/icon/unifyIconUrl.js.map +1 -0
- package/dist/lib/esm/src/index.js +1 -1
- package/dist/lib/src/core/hooks/index.js +1 -0
- package/dist/lib/src/core/hooks/index.js.map +1 -1
- package/dist/lib/src/core/ui/components/container/CollapsibleContainer.js +11 -2
- package/dist/lib/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/lib/src/core/ui/components/container/LayoutBox.js +39 -4
- package/dist/lib/src/core/ui/components/container/LayoutBox.js.map +1 -1
- package/dist/lib/src/core/ui/components/container/ResizableContainer.js +4 -36
- package/dist/lib/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/lib/src/core/ui/components/container/layoutBox.types.js +8 -1
- package/dist/lib/src/core/ui/components/container/layoutBox.types.js.map +1 -1
- package/dist/lib/src/core/ui/components/dividers/DividerLine.js +1 -1
- package/dist/lib/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/lib/src/core/ui/components/icon/IconBase.js +6 -5
- package/dist/lib/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/lib/src/core/ui/components/icon/unifyIconUrl.js +20 -0
- package/dist/lib/src/core/ui/components/icon/unifyIconUrl.js.map +1 -0
- package/dist/lib/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/core/hooks/index.d.ts +1 -0
- package/dist/types/src/core/hooks/index.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/container/CollapsibleContainer.d.ts +9 -0
- package/dist/types/src/core/ui/components/container/CollapsibleContainer.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/container/LayoutBox.d.ts +4 -0
- package/dist/types/src/core/ui/components/container/LayoutBox.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/container/ResizableContainer.d.ts +3 -2
- package/dist/types/src/core/ui/components/container/ResizableContainer.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/container/layoutBox.types.d.ts +39 -1
- package/dist/types/src/core/ui/components/container/layoutBox.types.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/dividers/DividerLine.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/icon/IconBase.d.ts +10 -10
- package/dist/types/src/core/ui/components/icon/IconBase.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/icon/unifyIconUrl.d.ts +2 -0
- package/dist/types/src/core/ui/components/icon/unifyIconUrl.d.ts.map +1 -0
- package/dist/ui/esm/node_modules/core-js/internals/is-regexp.js +2 -0
- package/dist/ui/esm/node_modules/core-js/internals/is-regexp.js.map +1 -0
- package/dist/ui/esm/node_modules/core-js/internals/regexp-get-flags.js +2 -0
- package/dist/ui/esm/node_modules/core-js/internals/regexp-get-flags.js.map +1 -0
- package/dist/ui/esm/node_modules/core-js/modules/es.string.replace-all.js +2 -0
- package/dist/ui/esm/node_modules/core-js/modules/es.string.replace-all.js.map +1 -0
- package/dist/ui/esm/src/core/hooks/useResize.js +2 -0
- package/dist/ui/esm/src/core/hooks/useResize.js.map +1 -0
- package/dist/ui/esm/src/core/ui/components/container/CollapsibleContainer.js +1 -1
- package/dist/ui/esm/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/ui/esm/src/core/ui/components/container/LayoutBox.js +1 -1
- package/dist/ui/esm/src/core/ui/components/container/LayoutBox.js.map +1 -1
- package/dist/ui/esm/src/core/ui/components/container/ResizableContainer.js +1 -1
- package/dist/ui/esm/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/ui/esm/src/core/ui/components/container/layoutBox.types.js +2 -0
- package/dist/ui/esm/src/core/ui/components/container/layoutBox.types.js.map +1 -0
- package/dist/ui/esm/src/core/ui/components/dividers/DividerLine.js +1 -1
- package/dist/ui/esm/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/ui/esm/src/core/ui/components/icon/IconBase.js +1 -1
- package/dist/ui/esm/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/ui/esm/src/core/ui/components/icon/unifyIconUrl.js +2 -0
- package/dist/ui/esm/src/core/ui/components/icon/unifyIconUrl.js.map +1 -0
- package/dist/ui/esm/src/core/ui/index.js +1 -1
- package/dist/ui/node_modules/core-js/internals/is-regexp.js +2 -0
- package/dist/ui/node_modules/core-js/internals/is-regexp.js.map +1 -0
- package/dist/ui/node_modules/core-js/internals/regexp-get-flags.js +2 -0
- package/dist/ui/node_modules/core-js/internals/regexp-get-flags.js.map +1 -0
- package/dist/ui/node_modules/core-js/modules/es.string.replace-all.js +2 -0
- package/dist/ui/node_modules/core-js/modules/es.string.replace-all.js.map +1 -0
- package/dist/ui/src/core/hooks/useResize.js +2 -0
- package/dist/ui/src/core/hooks/useResize.js.map +1 -0
- package/dist/ui/src/core/ui/components/container/CollapsibleContainer.js +1 -1
- package/dist/ui/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/ui/src/core/ui/components/container/LayoutBox.js +1 -1
- package/dist/ui/src/core/ui/components/container/LayoutBox.js.map +1 -1
- package/dist/ui/src/core/ui/components/container/ResizableContainer.js +1 -1
- package/dist/ui/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/ui/src/core/ui/components/container/layoutBox.types.js +2 -0
- package/dist/ui/src/core/ui/components/container/layoutBox.types.js.map +1 -0
- package/dist/ui/src/core/ui/components/dividers/DividerLine.js +1 -1
- package/dist/ui/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/ui/src/core/ui/components/icon/IconBase.js +1 -1
- package/dist/ui/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/ui/src/core/ui/components/icon/unifyIconUrl.js +2 -0
- package/dist/ui/src/core/ui/components/icon/unifyIconUrl.js.map +1 -0
- package/dist/ui/src/core/ui/index.js +1 -1
- package/dist/utils/esm/index.css +39 -39
- package/dist/utils/index.css +39 -39
- package/package.json +1 -1
package/dist/hooks/esm/index.css
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
.
|
|
2
|
-
display: flex;
|
|
1
|
+
.divider-module_divider-line__6CesR {
|
|
3
2
|
position: relative;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
height:
|
|
19
|
-
|
|
20
|
-
max-height: none;
|
|
21
|
-
min-width: 0;
|
|
22
|
-
min-height: 0;
|
|
23
|
-
border-radius: initial;
|
|
3
|
+
display: block;
|
|
4
|
+
transition: opacity, width, height 250ms ease-in-out;
|
|
5
|
+
background-color: var(--color);
|
|
6
|
+
opacity: var(--opacity);
|
|
7
|
+
}
|
|
8
|
+
.divider-module_divider-line__6CesR.divider-module_vertical__qSVWD {
|
|
9
|
+
height: var(--length);
|
|
10
|
+
left: var(--left);
|
|
11
|
+
width: var(--width);
|
|
12
|
+
margin: var(--margin);
|
|
13
|
+
}
|
|
14
|
+
.divider-module_divider-line__6CesR.divider-module_horizontal__Gz-Oj {
|
|
15
|
+
width: var(--length);
|
|
16
|
+
left: var(--left);
|
|
17
|
+
height: var(--height);
|
|
18
|
+
margin: var(--margin);
|
|
24
19
|
}
|
|
25
20
|
.icon-module_icon-base-parent__nOMvW {
|
|
26
21
|
line-height: 1px !important;
|
|
@@ -52,24 +47,29 @@
|
|
|
52
47
|
width: var(--height);
|
|
53
48
|
height: var(--width);
|
|
54
49
|
}
|
|
55
|
-
.
|
|
50
|
+
.layoutBox-module_flexible-box__Q8zyl {
|
|
51
|
+
display: flex;
|
|
56
52
|
position: relative;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
height:
|
|
72
|
-
|
|
53
|
+
flex-direction: row;
|
|
54
|
+
flex: 0;
|
|
55
|
+
flex-grow: 0;
|
|
56
|
+
flex-shrink: 0;
|
|
57
|
+
flex-basis: auto;
|
|
58
|
+
flex-wrap: nowrap;
|
|
59
|
+
gap: 0;
|
|
60
|
+
text-align: left;
|
|
61
|
+
justify-content: flex-start;
|
|
62
|
+
align-items: flex-start;
|
|
63
|
+
align-self: auto;
|
|
64
|
+
margin: 0;
|
|
65
|
+
padding: 0;
|
|
66
|
+
width: auto;
|
|
67
|
+
height: auto;
|
|
68
|
+
max-width: none;
|
|
69
|
+
max-height: none;
|
|
70
|
+
min-width: 0;
|
|
71
|
+
min-height: 0;
|
|
72
|
+
border-radius: initial;
|
|
73
73
|
}
|
|
74
74
|
.CollapsibleContainer-module_collapsible-container__u0Jmm {
|
|
75
75
|
transform-origin: 0% 0%;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{useApi}from"./useApi.js";export{useToggle}from"./useToggle.js";export{createSafeT,setUseTranslation,useTranslations}from"./useTranslations.js";export{outsideClickHandler,useOutsideClick}from"./useOutsideClick.js";export{useResize}from"./useResize.js";export{useClassNames}from"./useClassNames.js";export{useParseProps}from"./useParseProps.js";
|
|
1
|
+
export{useApi}from"./useApi.js";export{useToggle}from"./useToggle.js";export{createSafeT,setUseTranslation,useTranslations}from"./useTranslations.js";export{outsideClickHandler,useOutsideClick}from"./useOutsideClick.js";export{useResize}from"./useResize.js";export{useClassNames}from"./useClassNames.js";export{useParseProps}from"./useParseProps.js";export{baseThemes,observeThemePreference,switchColorTheme,updateColorTheme,useThemePreference}from"./useThemePreference.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useEffect as e}from"react";const o="change",t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>document.body,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;const c=o=>{const c=e();null==r||r(o,c),null==t||t(o)},d=e=>{c(e.matches)},l=e=>{c(!e.matches)},s=window.matchMedia("(prefers-color-scheme: dark)");try{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener(o,d),window.matchMedia("(prefers-color-scheme: light)").removeEventListener(o,l)}catch(e){}return c(null==s?void 0:s.matches),window.matchMedia("(prefers-color-scheme: dark)").addEventListener(o,d),window.matchMedia("(prefers-color-scheme: light)").addEventListener(o,l),()=>{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener(o,d),window.matchMedia("(prefers-color-scheme: light)").removeEventListener(o,l)}},c=function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>document.body,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;e((()=>t(o,c)),[o,c])},d={dark:"theme-dark",light:"theme-light"},r=function(e,o){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const c=e?d.light:d.dark,r=e?d.dark:d.light;o&&(o.classList.remove(c),o.classList.remove(r),o.classList.add(r)),"undefined"!=typeof document&&(document.querySelectorAll(".".concat(c)).forEach((e=>{e.classList.add(".".concat(r)),e.classList.remove(".".concat(c))})),t&&(document.querySelectorAll(".shadow-div").forEach((e=>{var o,t;null===(o=e.shadowRoot)||void 0===o||null===(o=o.querySelector(".".concat(c)))||void 0===o||o.classList.add(r),null===(t=e.shadowRoot)||void 0===t||null===(t=t.querySelector(".".concat(c)))||void 0===t||t.classList.remove(c)})),document.querySelectorAll("vcmf-wrapper").forEach((e=>{var o,t,d;null===(o=e.shadowRoot)||void 0===o||null===(o=o.querySelector(".".concat(c)))||void 0===o||o.classList.add(r),null===(t=e.shadowRoot)||void 0===t||null===(t=t.querySelector(".".concat(c)))||void 0===t||t.classList.remove(c);const l=null===(d=e.shadowRoot)||void 0===d?void 0:d.childNodes[0];l&&(l.classList.add(r),l.classList.remove(c))}))))},l=(e,o)=>{let t=e||!1;"undefined"!=typeof document&&void 0===e&&(t=document.body.classList.contains(d.dark)),r(t,o||document.body)};export{d as baseThemes,t as observeThemePreference,r as switchColorTheme,l as updateColorTheme,c as useThemePreference};
|
|
2
|
+
//# sourceMappingURL=useThemePreference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemePreference.js","sources":["../../../../../../src/core/hooks/useThemePreference.ts"],"sourcesContent":["import { useEffect } from 'react'\n\n\nconst windowMatchMediaChangeEventType = 'change'\n\nexport const observeThemePreference = (\n getHtmlElement: () => HTMLElement = () => document.body,\n switchCallback: (isDark: boolean) => void = (isDark: boolean) => isDark,\n) => {\n const switchColorThemeHandler = (isDark: boolean) => {\n const htmlElement = getHtmlElement()\n\n switchColorTheme?.(isDark, htmlElement)\n switchCallback?.(isDark)\n }\n\n const changeDarkColorThemeHandler = (event: MediaQueryListEvent) => {\n switchColorThemeHandler(event.matches)\n }\n\n const changeLightColorThemeHandler = (event: MediaQueryListEvent) => {\n switchColorThemeHandler(!event.matches)\n }\n\n const isDark = window.matchMedia('(prefers-color-scheme: dark)')\n\n try {\n window.matchMedia('(prefers-color-scheme: dark)').removeEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').removeEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n } catch (error) {\n console.error(`Error::observeThemePreference::removeEventListener: ${error}`)\n }\n\n switchColorThemeHandler(isDark?.matches)\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').addEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n\n return () => {\n window.matchMedia('(prefers-color-scheme: dark)').removeEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').removeEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n }\n}\n\nexport const useThemePreference = (\n getHtmlElement: () => HTMLElement = () => document.body,\n switchCallback: (isDark: boolean) => void = (isDark: boolean) => isDark,\n) => {\n useEffect(() => observeThemePreference(getHtmlElement, switchCallback), [getHtmlElement, switchCallback])\n}\n\n\nexport const baseThemes: {\n dark: string\n light: string\n} = {\n dark: 'theme-dark',\n light: 'theme-light',\n}\n\nexport const switchColorTheme = (isDark: boolean, htmlElement?: HTMLElement, findShadows = true) => {\n const oldClass = isDark ? baseThemes.light : baseThemes.dark\n const newClass = isDark ? baseThemes.dark : baseThemes.light\n\n if (htmlElement) {\n htmlElement.classList.remove(oldClass)\n htmlElement.classList.remove(newClass)\n htmlElement.classList.add(newClass)\n }\n\n if (typeof document !== 'undefined') {\n document.querySelectorAll(`.${oldClass}`).forEach((element) => {\n element.classList.add(`.${newClass}`)\n element.classList.remove(`.${oldClass}`)\n })\n\n if (findShadows) {\n document.querySelectorAll('.shadow-div').forEach((element) => {\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.add(newClass)\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.remove(oldClass)\n })\n\n document.querySelectorAll('vcmf-wrapper').forEach((element) => {\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.add(newClass)\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.remove(oldClass)\n\n const firstChild: HTMLElement = element.shadowRoot?.childNodes[0] as HTMLElement\n\n if (firstChild) {\n firstChild.classList.add(newClass)\n firstChild.classList.remove(oldClass)\n }\n })\n }\n }\n}\n\nexport const updateColorTheme = (isDark?: boolean, htmlElement?: HTMLElement) => {\n let resolvedIsDark: boolean = isDark || false\n\n if (typeof document !== 'undefined' && isDark === undefined) {\n resolvedIsDark = document.body.classList.contains(baseThemes.dark)\n }\n switchColorTheme(resolvedIsDark, htmlElement || document.body)\n}\n"],"names":["windowMatchMediaChangeEventType","observeThemePreference","getHtmlElement","arguments","length","undefined","document","body","switchCallback","isDark","switchColorThemeHandler","htmlElement","switchColorTheme","changeDarkColorThemeHandler","event","matches","changeLightColorThemeHandler","window","matchMedia","removeEventListener","error","addEventListener","useThemePreference","useEffect","baseThemes","dark","light","findShadows","oldClass","newClass","classList","remove","add","querySelectorAll","concat","forEach","element","_element$shadowRoot","_element$shadowRoot2","shadowRoot","querySelector","_element$shadowRoot3","_element$shadowRoot4","_element$shadowRoot5","firstChild","childNodes","updateColorTheme","resolvedIsDark","contains"],"mappings":"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"}
|
package/dist/hooks/index.css
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
.
|
|
2
|
-
display: flex;
|
|
1
|
+
.divider-module_divider-line__6CesR {
|
|
3
2
|
position: relative;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
height:
|
|
19
|
-
|
|
20
|
-
max-height: none;
|
|
21
|
-
min-width: 0;
|
|
22
|
-
min-height: 0;
|
|
23
|
-
border-radius: initial;
|
|
3
|
+
display: block;
|
|
4
|
+
transition: opacity, width, height 250ms ease-in-out;
|
|
5
|
+
background-color: var(--color);
|
|
6
|
+
opacity: var(--opacity);
|
|
7
|
+
}
|
|
8
|
+
.divider-module_divider-line__6CesR.divider-module_vertical__qSVWD {
|
|
9
|
+
height: var(--length);
|
|
10
|
+
left: var(--left);
|
|
11
|
+
width: var(--width);
|
|
12
|
+
margin: var(--margin);
|
|
13
|
+
}
|
|
14
|
+
.divider-module_divider-line__6CesR.divider-module_horizontal__Gz-Oj {
|
|
15
|
+
width: var(--length);
|
|
16
|
+
left: var(--left);
|
|
17
|
+
height: var(--height);
|
|
18
|
+
margin: var(--margin);
|
|
24
19
|
}
|
|
25
20
|
.icon-module_icon-base-parent__nOMvW {
|
|
26
21
|
line-height: 1px !important;
|
|
@@ -52,24 +47,29 @@
|
|
|
52
47
|
width: var(--height);
|
|
53
48
|
height: var(--width);
|
|
54
49
|
}
|
|
55
|
-
.
|
|
50
|
+
.layoutBox-module_flexible-box__Q8zyl {
|
|
51
|
+
display: flex;
|
|
56
52
|
position: relative;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
height:
|
|
72
|
-
|
|
53
|
+
flex-direction: row;
|
|
54
|
+
flex: 0;
|
|
55
|
+
flex-grow: 0;
|
|
56
|
+
flex-shrink: 0;
|
|
57
|
+
flex-basis: auto;
|
|
58
|
+
flex-wrap: nowrap;
|
|
59
|
+
gap: 0;
|
|
60
|
+
text-align: left;
|
|
61
|
+
justify-content: flex-start;
|
|
62
|
+
align-items: flex-start;
|
|
63
|
+
align-self: auto;
|
|
64
|
+
margin: 0;
|
|
65
|
+
padding: 0;
|
|
66
|
+
width: auto;
|
|
67
|
+
height: auto;
|
|
68
|
+
max-width: none;
|
|
69
|
+
max-height: none;
|
|
70
|
+
min-width: 0;
|
|
71
|
+
min-height: 0;
|
|
72
|
+
border-radius: initial;
|
|
73
73
|
}
|
|
74
74
|
.CollapsibleContainer-module_collapsible-container__u0Jmm {
|
|
75
75
|
transform-origin: 0% 0%;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./useApi.js"),s=require("./useToggle.js"),r=require("./useTranslations.js"),u=require("./useOutsideClick.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./useApi.js"),s=require("./useToggle.js"),r=require("./useTranslations.js"),u=require("./useOutsideClick.js"),o=require("./useResize.js"),t=require("./useClassNames.js"),i=require("./useParseProps.js"),a=require("./useThemePreference.js");exports.useApi=e.useApi,exports.useToggle=s.useToggle,exports.createSafeT=r.createSafeT,exports.setUseTranslation=r.setUseTranslation,exports.useTranslations=r.useTranslations,exports.outsideClickHandler=u.outsideClickHandler,exports.useOutsideClick=u.useOutsideClick,exports.useResize=o.useResize,exports.useClassNames=t.useClassNames,exports.useParseProps=i.useParseProps,exports.baseThemes=a.baseThemes,exports.observeThemePreference=a.observeThemePreference,exports.switchColorTheme=a.switchColorTheme,exports.updateColorTheme=a.updateColorTheme,exports.useThemePreference=a.useThemePreference;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");const o="change",t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>document.body,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;const c=o=>{const c=e();null==r||r(o,c),null==t||t(o)},s=e=>{c(e.matches)},d=e=>{c(!e.matches)},l=window.matchMedia("(prefers-color-scheme: dark)");try{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener(o,s),window.matchMedia("(prefers-color-scheme: light)").removeEventListener(o,d)}catch(e){}return c(null==l?void 0:l.matches),window.matchMedia("(prefers-color-scheme: dark)").addEventListener(o,s),window.matchMedia("(prefers-color-scheme: light)").addEventListener(o,d),()=>{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener(o,s),window.matchMedia("(prefers-color-scheme: light)").removeEventListener(o,d)}},c={dark:"theme-dark",light:"theme-light"},r=function(e,o){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const r=e?c.light:c.dark,s=e?c.dark:c.light;o&&(o.classList.remove(r),o.classList.remove(s),o.classList.add(s)),"undefined"!=typeof document&&(document.querySelectorAll(".".concat(r)).forEach((e=>{e.classList.add(".".concat(s)),e.classList.remove(".".concat(r))})),t&&(document.querySelectorAll(".shadow-div").forEach((e=>{var o,t;null===(o=e.shadowRoot)||void 0===o||null===(o=o.querySelector(".".concat(r)))||void 0===o||o.classList.add(s),null===(t=e.shadowRoot)||void 0===t||null===(t=t.querySelector(".".concat(r)))||void 0===t||t.classList.remove(r)})),document.querySelectorAll("vcmf-wrapper").forEach((e=>{var o,t,c;null===(o=e.shadowRoot)||void 0===o||null===(o=o.querySelector(".".concat(r)))||void 0===o||o.classList.add(s),null===(t=e.shadowRoot)||void 0===t||null===(t=t.querySelector(".".concat(r)))||void 0===t||t.classList.remove(r);const d=null===(c=e.shadowRoot)||void 0===c?void 0:c.childNodes[0];d&&(d.classList.add(s),d.classList.remove(r))}))))};exports.baseThemes=c,exports.observeThemePreference=t,exports.switchColorTheme=r,exports.updateColorTheme=(e,o)=>{let t=e||!1;"undefined"!=typeof document&&void 0===e&&(t=document.body.classList.contains(c.dark)),r(t,o||document.body)},exports.useThemePreference=function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>document.body,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;e.useEffect((()=>t(o,c)),[o,c])};
|
|
2
|
+
//# sourceMappingURL=useThemePreference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemePreference.js","sources":["../../../../../src/core/hooks/useThemePreference.ts"],"sourcesContent":["import { useEffect } from 'react'\n\n\nconst windowMatchMediaChangeEventType = 'change'\n\nexport const observeThemePreference = (\n getHtmlElement: () => HTMLElement = () => document.body,\n switchCallback: (isDark: boolean) => void = (isDark: boolean) => isDark,\n) => {\n const switchColorThemeHandler = (isDark: boolean) => {\n const htmlElement = getHtmlElement()\n\n switchColorTheme?.(isDark, htmlElement)\n switchCallback?.(isDark)\n }\n\n const changeDarkColorThemeHandler = (event: MediaQueryListEvent) => {\n switchColorThemeHandler(event.matches)\n }\n\n const changeLightColorThemeHandler = (event: MediaQueryListEvent) => {\n switchColorThemeHandler(!event.matches)\n }\n\n const isDark = window.matchMedia('(prefers-color-scheme: dark)')\n\n try {\n window.matchMedia('(prefers-color-scheme: dark)').removeEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').removeEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n } catch (error) {\n console.error(`Error::observeThemePreference::removeEventListener: ${error}`)\n }\n\n switchColorThemeHandler(isDark?.matches)\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').addEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n\n return () => {\n window.matchMedia('(prefers-color-scheme: dark)').removeEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').removeEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n }\n}\n\nexport const useThemePreference = (\n getHtmlElement: () => HTMLElement = () => document.body,\n switchCallback: (isDark: boolean) => void = (isDark: boolean) => isDark,\n) => {\n useEffect(() => observeThemePreference(getHtmlElement, switchCallback), [getHtmlElement, switchCallback])\n}\n\n\nexport const baseThemes: {\n dark: string\n light: string\n} = {\n dark: 'theme-dark',\n light: 'theme-light',\n}\n\nexport const switchColorTheme = (isDark: boolean, htmlElement?: HTMLElement, findShadows = true) => {\n const oldClass = isDark ? baseThemes.light : baseThemes.dark\n const newClass = isDark ? baseThemes.dark : baseThemes.light\n\n if (htmlElement) {\n htmlElement.classList.remove(oldClass)\n htmlElement.classList.remove(newClass)\n htmlElement.classList.add(newClass)\n }\n\n if (typeof document !== 'undefined') {\n document.querySelectorAll(`.${oldClass}`).forEach((element) => {\n element.classList.add(`.${newClass}`)\n element.classList.remove(`.${oldClass}`)\n })\n\n if (findShadows) {\n document.querySelectorAll('.shadow-div').forEach((element) => {\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.add(newClass)\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.remove(oldClass)\n })\n\n document.querySelectorAll('vcmf-wrapper').forEach((element) => {\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.add(newClass)\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.remove(oldClass)\n\n const firstChild: HTMLElement = element.shadowRoot?.childNodes[0] as HTMLElement\n\n if (firstChild) {\n firstChild.classList.add(newClass)\n firstChild.classList.remove(oldClass)\n }\n })\n }\n }\n}\n\nexport const updateColorTheme = (isDark?: boolean, htmlElement?: HTMLElement) => {\n let resolvedIsDark: boolean = isDark || false\n\n if (typeof document !== 'undefined' && isDark === undefined) {\n resolvedIsDark = document.body.classList.contains(baseThemes.dark)\n }\n switchColorTheme(resolvedIsDark, htmlElement || document.body)\n}\n"],"names":["windowMatchMediaChangeEventType","observeThemePreference","getHtmlElement","arguments","length","undefined","document","body","switchCallback","isDark","switchColorThemeHandler","htmlElement","switchColorTheme","changeDarkColorThemeHandler","event","matches","changeLightColorThemeHandler","window","matchMedia","removeEventListener","error","addEventListener","baseThemes","dark","light","findShadows","oldClass","newClass","classList","remove","add","querySelectorAll","concat","forEach","element","_element$shadowRoot","_element$shadowRoot2","shadowRoot","querySelector","_element$shadowRoot3","_element$shadowRoot4","_element$shadowRoot5","firstChild","childNodes","updateColorTheme","resolvedIsDark","contains","useEffect"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");const o="change",t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>document.body,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;const c=o=>{const c=e();null==r||r(o,c),null==t||t(o)},s=e=>{c(e.matches)},d=e=>{c(!e.matches)},l=window.matchMedia("(prefers-color-scheme: dark)");try{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener(o,s),window.matchMedia("(prefers-color-scheme: light)").removeEventListener(o,d)}catch(e){}return c(null==l?void 0:l.matches),window.matchMedia("(prefers-color-scheme: dark)").addEventListener(o,s),window.matchMedia("(prefers-color-scheme: light)").addEventListener(o,d),()=>{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener(o,s),window.matchMedia("(prefers-color-scheme: light)").removeEventListener(o,d)}},c={dark:"theme-dark",light:"theme-light"},r=function(e,o){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const r=e?c.light:c.dark,s=e?c.dark:c.light;o&&(o.classList.remove(r),o.classList.remove(s),o.classList.add(s)),"undefined"!=typeof document&&(document.querySelectorAll(".".concat(r)).forEach((e=>{e.classList.add(".".concat(s)),e.classList.remove(".".concat(r))})),t&&(document.querySelectorAll(".shadow-div").forEach((e=>{var o,t;null===(o=e.shadowRoot)||void 0===o||null===(o=o.querySelector(".".concat(r)))||void 0===o||o.classList.add(s),null===(t=e.shadowRoot)||void 0===t||null===(t=t.querySelector(".".concat(r)))||void 0===t||t.classList.remove(r)})),document.querySelectorAll("vcmf-wrapper").forEach((e=>{var o,t,c;null===(o=e.shadowRoot)||void 0===o||null===(o=o.querySelector(".".concat(r)))||void 0===o||o.classList.add(s),null===(t=e.shadowRoot)||void 0===t||null===(t=t.querySelector(".".concat(r)))||void 0===t||t.classList.remove(r);const d=null===(c=e.shadowRoot)||void 0===c?void 0:c.childNodes[0];d&&(d.classList.add(s),d.classList.remove(r))}))))};exports.baseThemes=c,exports.observeThemePreference=t,exports.switchColorTheme=r,exports.updateColorTheme=(e,o)=>{let t=e||!1;"undefined"!=typeof document&&void 0===e&&(t=document.body.classList.contains(c.dark)),r(t,o||document.body)},exports.useThemePreference=function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>document.body,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;e.useEffect((()=>t(o,c)),[o,c])};
|
|
2
|
+
//# sourceMappingURL=useThemePreference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemePreference.js","sources":["../../../../../../src/core/hooks/useThemePreference.ts"],"sourcesContent":["import { useEffect } from 'react'\n\n\nconst windowMatchMediaChangeEventType = 'change'\n\nexport const observeThemePreference = (\n getHtmlElement: () => HTMLElement = () => document.body,\n switchCallback: (isDark: boolean) => void = (isDark: boolean) => isDark,\n) => {\n const switchColorThemeHandler = (isDark: boolean) => {\n const htmlElement = getHtmlElement()\n\n switchColorTheme?.(isDark, htmlElement)\n switchCallback?.(isDark)\n }\n\n const changeDarkColorThemeHandler = (event: MediaQueryListEvent) => {\n switchColorThemeHandler(event.matches)\n }\n\n const changeLightColorThemeHandler = (event: MediaQueryListEvent) => {\n switchColorThemeHandler(!event.matches)\n }\n\n const isDark = window.matchMedia('(prefers-color-scheme: dark)')\n\n try {\n window.matchMedia('(prefers-color-scheme: dark)').removeEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').removeEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n } catch (error) {\n console.error(`Error::observeThemePreference::removeEventListener: ${error}`)\n }\n\n switchColorThemeHandler(isDark?.matches)\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').addEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n\n return () => {\n window.matchMedia('(prefers-color-scheme: dark)').removeEventListener(\n windowMatchMediaChangeEventType, changeDarkColorThemeHandler,\n )\n window.matchMedia('(prefers-color-scheme: light)').removeEventListener(\n windowMatchMediaChangeEventType, changeLightColorThemeHandler,\n )\n }\n}\n\nexport const useThemePreference = (\n getHtmlElement: () => HTMLElement = () => document.body,\n switchCallback: (isDark: boolean) => void = (isDark: boolean) => isDark,\n) => {\n useEffect(() => observeThemePreference(getHtmlElement, switchCallback), [getHtmlElement, switchCallback])\n}\n\n\nexport const baseThemes: {\n dark: string\n light: string\n} = {\n dark: 'theme-dark',\n light: 'theme-light',\n}\n\nexport const switchColorTheme = (isDark: boolean, htmlElement?: HTMLElement, findShadows = true) => {\n const oldClass = isDark ? baseThemes.light : baseThemes.dark\n const newClass = isDark ? baseThemes.dark : baseThemes.light\n\n if (htmlElement) {\n htmlElement.classList.remove(oldClass)\n htmlElement.classList.remove(newClass)\n htmlElement.classList.add(newClass)\n }\n\n if (typeof document !== 'undefined') {\n document.querySelectorAll(`.${oldClass}`).forEach((element) => {\n element.classList.add(`.${newClass}`)\n element.classList.remove(`.${oldClass}`)\n })\n\n if (findShadows) {\n document.querySelectorAll('.shadow-div').forEach((element) => {\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.add(newClass)\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.remove(oldClass)\n })\n\n document.querySelectorAll('vcmf-wrapper').forEach((element) => {\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.add(newClass)\n element.shadowRoot?.querySelector(`.${oldClass}`)?.classList.remove(oldClass)\n\n const firstChild: HTMLElement = element.shadowRoot?.childNodes[0] as HTMLElement\n\n if (firstChild) {\n firstChild.classList.add(newClass)\n firstChild.classList.remove(oldClass)\n }\n })\n }\n }\n}\n\nexport const updateColorTheme = (isDark?: boolean, htmlElement?: HTMLElement) => {\n let resolvedIsDark: boolean = isDark || false\n\n if (typeof document !== 'undefined' && isDark === undefined) {\n resolvedIsDark = document.body.classList.contains(baseThemes.dark)\n }\n switchColorTheme(resolvedIsDark, htmlElement || document.body)\n}\n"],"names":["windowMatchMediaChangeEventType","observeThemePreference","getHtmlElement","arguments","length","undefined","document","body","switchCallback","isDark","switchColorThemeHandler","htmlElement","switchColorTheme","changeDarkColorThemeHandler","event","matches","changeLightColorThemeHandler","window","matchMedia","removeEventListener","error","addEventListener","baseThemes","dark","light","findShadows","oldClass","newClass","classList","remove","add","querySelectorAll","concat","forEach","element","_element$shadowRoot","_element$shadowRoot2","shadowRoot","querySelector","_element$shadowRoot3","_element$shadowRoot4","_element$shadowRoot5","firstChild","childNodes","updateColorTheme","resolvedIsDark","contains","useEffect"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js");require("../../../../../node_modules/core-js/modules/web.dom-collections.iterator.js");var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js");require("../../../../../node_modules/core-js/modules/web.dom-collections.iterator.js");var t=require("react"),l=require("../../../hooks/useParseProps.js"),s=require("./CollapsibleContainer.module.scss.js");const a={width:"scrollWidth",height:"scrollHeight"},o=t.memo((o=>{let{collapsed:r=!1,collapseHandler:i,children:n,horizontal:u=!1,className:c="",id:d,...p}=o;const h=t.useRef(null),[m,f]=t.useState(0),{dataProps:v,restProps:x}=l.useParseProps(p),P=!u;t.useEffect((()=>{null==i||i(r)}),[i,r]),t.useLayoutEffect((()=>{if(null!=h&&h.current){const e=P?"height":"width";setTimeout((()=>{null!=h&&h.current&&f(h.current[a[e]])}),100)}}),[h,P]);const b=t.useMemo((()=>({"--prop-name":P?"height":"width","--prop-max-name":P?"max-height":"max-width","--prop-value":"".concat(m,"px"),...x})),[P,x,m]),j=t.useMemo((()=>{const e=[P?s.default.vertical:s.default.horizontal];return r&&m&&null!=m&&e.push(s.default.collapsed),!r&&m&&null!=m&&e.push(s.default.expanded),e.join(" ")}),[r,m,P]);return React.createElement("div",e.extends({id:"".concat(void 0!==d&&d||d),className:"".concat(s.default["collapsible-container"]," ").concat(j," ").concat(c," "),ref:h,style:b},v,{"data-testid":v.dataTestId||v["data-testid"]||d}),n)}));o.displayName="CollapsibleContainer",exports.CollapsibleContainer=o;
|
|
2
2
|
//# sourceMappingURL=CollapsibleContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapsibleContainer.js","sources":["../../../../../../../../src/core/ui/components/container/CollapsibleContainer.tsx"],"sourcesContent":["import { FC, useRef, useState, memo, ReactNode,\n useEffect, useLayoutEffect, useMemo, CSSProperties, PropsWithChildren } from 'react'\n\nimport { useParseProps } from '../../../hooks/useParseProps'\n\nimport classes from './CollapsibleContainer.module.scss'\nimport { LayoutBoxProps } from './layoutBox.types'\n\n\nconst elementPropNameMap: Record<string, string> = {\n width: 'scrollWidth',\n height: 'scrollHeight',\n}\n\nexport type CollapsibleContainerProps = PropsWithChildren & LayoutBoxProps & {\n collapsed?: boolean\n collapseHandler?: (collapsed: boolean) => void\n children?: ReactNode\n className?: string\n horizontal?: boolean\n} & CSSProperties\n\nexport const CollapsibleContainer: FC<CollapsibleContainerProps> = memo(({\n collapsed = false, collapseHandler, children, horizontal = false, className = '', ...props\n}: CollapsibleContainerProps) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const [contentProp, setContentProp] = useState(0)\n\n const { dataProps, restProps: style } = useParseProps(props)\n\n const vertical = !horizontal\n\n useEffect(() => {\n collapseHandler?.(collapsed)\n }, [collapseHandler, collapsed])\n\n useLayoutEffect(() => {\n if (containerRef?.current) {\n const propName = vertical ? 'height' : 'width'\n\n // TODO test with requestAnimationFrame\n setTimeout(() => {\n if (containerRef?.current) {\n setContentProp((containerRef.current as any)[elementPropNameMap[propName]])\n }\n }, 100)\n }\n }, [containerRef, vertical])\n\n const styleProps: CSSProperties = useMemo(() => ({\n '--prop-name': vertical ? 'height' : 'width',\n '--prop-max-name': vertical ? 'max-height' : 'max-width',\n '--prop-value': `${contentProp}px`,\n ...style,\n } as CSSProperties), [vertical, style, contentProp])\n\n const classNames = useMemo(() => {\n const classNames = [vertical ? classes.vertical : classes.horizontal]\n\n if (collapsed && contentProp && contentProp !== undefined && contentProp !== null) {\n classNames.push(classes.collapsed)\n }\n if (!collapsed && contentProp && contentProp !== undefined && contentProp !== null) {\n classNames.push(classes.expanded)\n }\n return classNames.join(' ')\n }, [collapsed, contentProp, vertical])\n\n return (\n <div\n className={`${classes['collapsible-container']} ${classNames} ${className} `}\n ref={containerRef}\n style={styleProps}\n {...dataProps}\n >\n {children}\n </div>\n )\n})\n\nCollapsibleContainer.displayName = 'CollapsibleContainer'\n"],"names":["elementPropNameMap","width","height","CollapsibleContainer","memo","_ref","collapsed","collapseHandler","children","horizontal","className","props","containerRef","useRef","contentProp","setContentProp","useState","dataProps","restProps","style","useParseProps","vertical","useEffect","useLayoutEffect","current","propName","setTimeout","styleProps","useMemo","concat","classNames","classes","push","expanded","join","React","createElement","_extends","ref","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CollapsibleContainer.js","sources":["../../../../../../../../src/core/ui/components/container/CollapsibleContainer.tsx"],"sourcesContent":["import { FC, useRef, useState, memo, ReactNode,\n useEffect, useLayoutEffect, useMemo, CSSProperties, PropsWithChildren } from 'react'\n\nimport { useParseProps } from '../../../hooks/useParseProps'\n\nimport classes from './CollapsibleContainer.module.scss'\nimport { LayoutBoxProps } from './layoutBox.types'\n\n\n/**\n * Mapping of element property names for calculating dimensions.\n */\nconst elementPropNameMap: Record<string, string> = {\n width: 'scrollWidth',\n height: 'scrollHeight',\n}\n\n/**\n * Props for the CollapsibleContainer component.\n */\nexport type CollapsibleContainerProps = PropsWithChildren & LayoutBoxProps & {\n collapsed?: boolean\n collapseHandler?: (collapsed: boolean) => void\n children?: ReactNode\n className?: string\n horizontal?: boolean\n} & CSSProperties\n\n/**\n * CollapsibleContainer component.\n *\n * @type {React.FC<CollapsibleContainerProps>}\n * @returns {React.ReactElement} The CollapsibleContainer.\n */\nexport const CollapsibleContainer: FC<CollapsibleContainerProps> = memo(({\n collapsed = false, collapseHandler, children, horizontal = false, className = '', id, ...props\n}: CollapsibleContainerProps) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const [contentProp, setContentProp] = useState(0)\n\n const { dataProps, restProps: style } = useParseProps(props)\n\n const vertical = !horizontal\n\n useEffect(() => {\n collapseHandler?.(collapsed)\n }, [collapseHandler, collapsed])\n\n useLayoutEffect(() => {\n if (containerRef?.current) {\n const propName = vertical ? 'height' : 'width'\n\n // TODO test with requestAnimationFrame\n setTimeout(() => {\n if (containerRef?.current) {\n setContentProp((containerRef.current as any)[elementPropNameMap[propName]])\n }\n }, 100)\n }\n }, [containerRef, vertical])\n\n const styleProps: CSSProperties = useMemo(() => ({\n '--prop-name': vertical ? 'height' : 'width',\n '--prop-max-name': vertical ? 'max-height' : 'max-width',\n '--prop-value': `${contentProp}px`,\n ...style,\n } as CSSProperties), [vertical, style, contentProp])\n\n const classNames = useMemo(() => {\n const classNames = [vertical ? classes.vertical : classes.horizontal]\n\n if (collapsed && contentProp && contentProp !== undefined && contentProp !== null) {\n classNames.push(classes.collapsed)\n }\n if (!collapsed && contentProp && contentProp !== undefined && contentProp !== null) {\n classNames.push(classes.expanded)\n }\n return classNames.join(' ')\n }, [collapsed, contentProp, vertical])\n\n return (\n <div\n id={`${(typeof id !== 'undefined' && id) || id}`}\n className={`${classes['collapsible-container']} ${classNames} ${className} `}\n ref={containerRef}\n style={styleProps}\n {...dataProps}\n data-testid={dataProps.dataTestId || dataProps['data-testid'] || id}\n >\n {children}\n </div>\n )\n})\n\nCollapsibleContainer.displayName = 'CollapsibleContainer'\n"],"names":["elementPropNameMap","width","height","CollapsibleContainer","memo","_ref","collapsed","collapseHandler","children","horizontal","className","id","props","containerRef","useRef","contentProp","setContentProp","useState","dataProps","restProps","style","useParseProps","vertical","useEffect","useLayoutEffect","current","propName","setTimeout","styleProps","useMemo","concat","classNames","classes","push","expanded","join","React","createElement","_extends","ref","dataTestId","displayName"],"mappings":"wVAYA,MAAMA,EAA6C,CACjDC,MAAO,cACPC,OAAQ,gBAoBGC,EAAsDC,EAAIA,MAACC,IAEvC,IAFwCC,UACvEA,GAAY,EAAKC,gBAAEA,EAAeC,SAAEA,EAAQC,WAAEA,GAAa,EAAKC,UAAEA,EAAY,GAAEC,GAAEA,KAAOC,GAC/DP,EAC1B,MAAMQ,EAAeC,SAAuB,OACrCC,EAAaC,GAAkBC,EAAQA,SAAC,IAEzCC,UAAEA,EAAWC,UAAWC,GAAUC,EAAAA,cAAcT,GAEhDU,GAAYb,EAElBc,EAAAA,WAAU,KACRhB,SAAAA,EAAkBD,EAAU,GAC3B,CAACC,EAAiBD,IAErBkB,EAAAA,iBAAgB,KACd,GAAIX,SAAAA,EAAcY,QAAS,CACzB,MAAMC,EAAWJ,EAAW,SAAW,QAGvCK,YAAW,KACLd,SAAAA,EAAcY,SAChBT,EAAgBH,EAAaY,QAAgBzB,EAAmB0B,IAClE,GACC,IACL,IACC,CAACb,EAAcS,IAElB,MAAMM,EAA4BC,EAAAA,SAAQ,KAAO,CAC/C,cAAeP,EAAW,SAAW,QACrC,kBAAmBA,EAAW,aAAe,YAC7C,eAAcQ,GAAAA,OAAKf,EAAe,SAC/BK,KACgB,CAACE,EAAUF,EAAOL,IAEjCgB,EAAaF,EAAAA,SAAQ,KACzB,MAAME,EAAa,CAACT,EAAWU,EAAAA,QAAQV,SAAWU,EAAAA,QAAQvB,YAQ1D,OANIH,GAAaS,GAAbT,MAA4BS,GAC9BgB,EAAWE,KAAKD,UAAQ1B,YAErBA,GAAaS,GAAd,MAA6BA,GAC/BgB,EAAWE,KAAKD,UAAQE,UAEnBH,EAAWI,KAAK,IAAI,GAC1B,CAAC7B,EAAWS,EAAaO,IAE5B,OACEc,MAAAC,cAAA,MAAAC,UAAA,CACE3B,GAAE,GAAAmB,YAAoB,IAAPnB,GAAsBA,GAAOA,GAC5CD,UAASoB,GAAAA,OAAKE,EAAAA,QAAQ,yBAAwBF,KAAAA,OAAIC,EAAU,KAAAD,OAAIpB,EAAa,KAC7E6B,IAAK1B,EACLO,MAAOQ,GACHV,EAAS,CACb,cAAaA,EAAUsB,YAActB,EAAU,gBAAkBP,IAEhEH,EACG,IAIVL,EAAqBsC,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js"),t=require("react"),s=require("../../../hooks/useParseProps.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js"),t=require("react"),s=require("../../../hooks/useParseProps.js"),o=require("./layoutBox.types.js"),a=require("./layoutBox.module.scss.js");const r={start:"flex-start","flex-start":"flex-start",end:"flex-end","flex-end":"flex-end"},l=e=>e&&r[e]||e,i=t.forwardRef(((r,i)=>{let{id:n,style:d,children:u,tabIndex:c,className:x="",onClick:f,column:y,...m}=r;const{dataProps:p,restProps:b}=s.useParseProps(m),j=t.useMemo((()=>f?{onClick:f,onKeyDown:f,role:"button",tabIndex:-1}:{}),[f]),P=t.useMemo((()=>void 0!==y&&!0===y?o.LayoutDirection.COLUMN:null),[y]),B=t.useMemo((()=>({...b,...b.align?{alignItems:l(b.align)}:{},...b.justify?{justifyContent:l(b.justify)}:{},...b.direction||P?{flexDirection:b.direction||P}:{},...d})),[P,b,d]);return React.createElement("div",e.extends({},n?{id:"".concat(n)}:{},{ref:i,tabIndex:c,className:"".concat(a.default["flexible-box"]," ").concat(x),style:B},p,{"data-testid":p.dataTestId||p["data-testid"]||n},j),u)}));i.displayName="LayoutBoxRefForwarded";const n=t.memo(i);n.displayName="LayoutBox",exports.LayoutBox=n;
|
|
2
2
|
//# sourceMappingURL=LayoutBox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutBox.js","sources":["../../../../../../../../src/core/ui/components/container/LayoutBox.tsx"],"sourcesContent":["import { memo, FC, useMemo, CSSProperties, forwardRef, LegacyRef } from 'react'\n\nimport { useParseProps } from '../../../hooks/useParseProps'\n\nimport { LayoutBoxProps } from './layoutBox.types'\nimport classes from './layoutBox.module.scss'\n\n\nconst flexValueMap: Record<string, string> = {\n start: 'flex-start',\n 'flex-start': 'flex-start',\n end: 'flex-end',\n 'flex-end': 'flex-end',\n}\n\nconst resolveFlexProps = (value?: string): string | undefined => (value ? (flexValueMap[value] || value) : value)\n\n
|
|
1
|
+
{"version":3,"file":"LayoutBox.js","sources":["../../../../../../../../src/core/ui/components/container/LayoutBox.tsx"],"sourcesContent":["import { memo, FC, useMemo, CSSProperties, forwardRef, LegacyRef } from 'react'\n\nimport { useParseProps } from '../../../hooks/useParseProps'\n\nimport { LayoutDirection, LayoutBoxProps } from './layoutBox.types'\nimport classes from './layoutBox.module.scss'\n\n\n/**\n * Map of flex values for resolving flex alignment and justification.\n * @type {Record<string, string>}\n */\nconst flexValueMap: Record<string, string> = {\n start: 'flex-start',\n 'flex-start': 'flex-start',\n end: 'flex-end',\n 'flex-end': 'flex-end',\n}\n\n/**\n * Resolves flex alignment and justification properties based on the provided value.\n * @param {string | undefined} value - The value to resolve.\n * @returns {string | undefined} - Resolved flex property value.\n */\nconst resolveFlexProps = (value?: string): string | undefined => (value ? (flexValueMap[value] || value) : value)\n\n/**\n * Forwarded ref version of the LayoutBox component.\n * @param {LayoutBoxProps} props - Props for the LayoutBox component.\n * @param {LegacyRef<HTMLDivElement> | undefined} ref - Ref for accessing the underlying DOM element.\n * @returns {JSX.Element} - Rendered LayoutBox component.\n */\nconst LayoutBoxRefForwarded = forwardRef(({\n id, style, children, tabIndex, className = '', onClick, column, ...props\n}: LayoutBoxProps, ref: LegacyRef<HTMLDivElement> | undefined) => {\n const { dataProps, restProps } = useParseProps(props)\n\n /**\n * Memoized onClick event properties.\n * @type {{ onClick?: () => void; onKeyDown?: () => void; role?: string; tabIndex?: number }}\n */\n const onClickProps = useMemo(() => (onClick ? ({\n onClick,\n onKeyDown: onClick,\n role: 'button',\n tabIndex: -1,\n }) : {}), [onClick])\n\n /**\n * Memoized resolved direction based on the column prop.\n * @type {LayoutDirection}\n */\n const resolvedColumn = useMemo(() => ((\n column !== undefined && column === true)\n ? LayoutDirection.COLUMN\n : null), [column])\n\n /**\n * Memoized styles combining parsed props and additional styles.\n * @type {CSSProperties}\n */\n const styles = useMemo(() => (\n {\n ...restProps,\n ...(restProps.align ? { alignItems: resolveFlexProps(restProps.align as string) } : {}),\n ...(restProps.justify ? { justifyContent: resolveFlexProps(restProps.justify as string) } : {}),\n ...(restProps.direction || resolvedColumn ? { flexDirection: restProps.direction || resolvedColumn } : {}),\n ...style,\n }\n ), [resolvedColumn, restProps, style])\n\n return (\n <div\n {...(id ? { id: `${id}` } : {})}\n ref={ref}\n tabIndex={tabIndex}\n className={`${(classes as any)['flexible-box']} ${className}`}\n style={styles as CSSProperties}\n {...dataProps}\n data-testid={dataProps.dataTestId || dataProps['data-testid'] || id}\n {...onClickProps}\n >\n {children}\n </div>\n )\n})\n\nLayoutBoxRefForwarded.displayName = 'LayoutBoxRefForwarded'\n\n/**\n * Memoized and memoized LayoutBox component.\n * @type {FC<LayoutBoxProps>}\n */\nexport const LayoutBox: FC<LayoutBoxProps> = memo<LayoutBoxProps>(LayoutBoxRefForwarded)\n\nLayoutBox.displayName = 'LayoutBox'\n"],"names":["flexValueMap","start","end","resolveFlexProps","value","LayoutBoxRefForwarded","forwardRef","_ref","ref","id","style","children","tabIndex","className","onClick","column","props","dataProps","restProps","useParseProps","onClickProps","useMemo","onKeyDown","role","resolvedColumn","undefined","LayoutDirection","COLUMN","styles","align","alignItems","justify","justifyContent","direction","flexDirection","React","createElement","_extends","concat","classes","dataTestId","displayName","LayoutBox","memo"],"mappings":"oRAYA,MAAMA,EAAuC,CAC3CC,MAAO,aACP,aAAc,aACdC,IAAK,WACL,WAAY,YAQRC,EAAoBC,GAAwCA,GAASJ,EAAaI,IAAmBA,EAQrGC,EAAwBC,EAAUA,YAAC,CAAAC,EAEtBC,KAA+C,IAFxBC,GACxCA,EAAEC,MAAEA,EAAKC,SAAEA,EAAQC,SAAEA,EAAQC,UAAEA,EAAY,GAAEC,QAAEA,EAAOC,OAAEA,KAAWC,GACpDT,EACf,MAAMU,UAAEA,EAASC,UAAEA,GAAcC,EAAAA,cAAcH,GAMzCI,EAAeC,WAAQ,IAAOP,EAAW,CAC7CA,UACAQ,UAAWR,EACXS,KAAM,SACNX,UAAW,GACR,CAAG,GAAE,CAACE,IAMLU,EAAiBH,EAAOA,SAAC,SAClBI,IAAXV,IAAmC,IAAXA,EACtBW,EAAAA,gBAAgBC,OAChB,MAAO,CAACZ,IAMNa,EAASP,EAAAA,SAAQ,KACrB,IACKH,KACCA,EAAUW,MAAQ,CAAEC,WAAY3B,EAAiBe,EAAUW,QAAqB,MAChFX,EAAUa,QAAU,CAAEC,eAAgB7B,EAAiBe,EAAUa,UAAuB,MACxFb,EAAUe,WAAaT,EAAiB,CAAEU,cAAehB,EAAUe,WAAaT,GAAmB,MACpGd,KAEJ,CAACc,EAAgBN,EAAWR,IAE/B,OACEyB,MAAAC,oBAAAC,EAAAA,QAAA,CAAA,EACO5B,EAAK,CAAEA,GAAE,GAAA6B,OAAK7B,IAAS,GAAE,CAC9BD,IAAKA,EACLI,SAAUA,EACVC,UAAS,GAAAyB,OAAMC,EAAO,QAAS,gBAAeD,KAAAA,OAAIzB,GAClDH,MAAOkB,GACHX,EAAS,CACb,cAAaA,EAAUuB,YAAcvB,EAAU,gBAAkBR,GAC7DW,GAEHT,EACG,IAIVN,EAAsBoC,YAAc,8BAMvBC,EAAgCC,EAAIA,KAAiBtC,GAElEqC,EAAUD,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js");require("../../../../../node_modules/core-js/modules/web.dom-collections.iterator.js");var t=require("react"),i=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js");require("../../../../../node_modules/core-js/modules/web.dom-collections.iterator.js");var t=require("react"),i=require("../../../hooks/useResize.js"),o=require("./LayoutBox.js");const n={main:{position:"absolute",zIndex:1,left:0,pointerEvents:"none"},empty:{pointerEvents:"none"}},l=t.memo((t=>{let{children:l,debounceDelay:r=250,...a}=t;const[s,u]=i.useResize(r);return React.createElement(o.LayoutBox,e.extends({width:"100%",height:"100%",justify:"center",align:"center",direction:"column"},a),React.createElement(o.LayoutBox,{style:n.main,width:"100%",height:"100%",ref:s}),!l&&React.createElement(o.LayoutBox,{width:"".concat(Math.max((null==u?void 0:u.width)||200,200)||200,"px"),height:"".concat(Math.max((null==u?void 0:u.height)||200,200)||200,"px"),style:n.empty}),l&&(null==l?void 0:l({height:"".concat((null==u?void 0:u.height)||200,"px"),width:"".concat((null==u?void 0:u.width)||200,"px"),measured:!(null==u||!u.height)})))}));l.displayName="ResizableContainer",exports.ResizableContainer=l;
|
|
2
2
|
//# sourceMappingURL=ResizableContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResizableContainer.js","sources":["../../../../../../../../src/core/ui/components/container/ResizableContainer.tsx"],"sourcesContent":["import { memo,
|
|
1
|
+
{"version":3,"file":"ResizableContainer.js","sources":["../../../../../../../../src/core/ui/components/container/ResizableContainer.tsx"],"sourcesContent":["import { memo, RefObject, PropsWithChildren, ReactElement, FC } from 'react'\n\nimport { useResize } from '../../../hooks/useResize'\n\nimport { LayoutBox } from './LayoutBox'\nimport { LayoutBoxProps } from './layoutBox.types'\n\n\nexport type ResizableContainerProps = LayoutBoxProps & PropsWithChildren<any> & {\n debounceDelay?: number\n children?: (props: ResizableContainerRenderProps) => ReactElement\n}\n\nexport type ResizableContainerRenderProps = {\n width: number | string\n height: number | string\n measured: boolean\n}\n\nconst styles = {\n main: {\n position: 'absolute',\n zIndex: 1,\n left: 0,\n pointerEvents: 'none',\n },\n empty: {\n pointerEvents: 'none',\n },\n}\n\nexport const ResizableContainer: FC<ResizableContainerProps> = memo<ResizableContainerProps>(\n ({ children, debounceDelay = 250, ...props }: ResizableContainerProps) => {\n const [containerRef, containerSize] = useResize(debounceDelay)\n\n return (\n <LayoutBox\n width='100%'\n height='100%'\n justify='center'\n align='center'\n direction='column'\n {...props}\n >\n <LayoutBox\n style={styles.main}\n width='100%'\n height='100%'\n ref={containerRef as RefObject<HTMLDivElement>}\n />\n {!children && (\n <LayoutBox\n width={`${Math.max(containerSize?.width || 200, 200) || 200}px`}\n height={`${Math.max(containerSize?.height || 200, 200) || 200}px`}\n style={styles.empty}\n />\n )}\n {children && children?.({\n height: `${containerSize?.height || 200}px`,\n width: `${containerSize?.width || 200}px`,\n measured: !!containerSize?.height,\n } as ResizableContainerRenderProps)}\n </LayoutBox>\n )\n },\n)\n\nResizableContainer.displayName = 'ResizableContainer'\n"],"names":["styles","main","position","zIndex","left","pointerEvents","empty","ResizableContainer","memo","_ref","children","debounceDelay","props","containerRef","containerSize","useResize","React","createElement","LayoutBox","_extends","width","height","justify","align","direction","style","ref","concat","Math","max","measured","displayName"],"mappings":"6TAmBA,MAAMA,EAAS,CACbC,KAAM,CACJC,SAAU,WACVC,OAAQ,EACRC,KAAM,EACNC,cAAe,QAEjBC,MAAO,CACLD,cAAe,SAINE,EAAkDC,EAAIA,MACjEC,IAA0E,IAAzEC,SAAEA,EAAQC,cAAEA,EAAgB,OAAQC,GAAgCH,EACnE,MAAOI,EAAcC,GAAiBC,EAASA,UAACJ,GAEhD,OACEK,MAAAC,cAACC,EAASA,UAAAC,UAAA,CACRC,MAAM,OACNC,OAAO,OACPC,QAAQ,SACRC,MAAM,SACNC,UAAU,UACNZ,GAEJI,MAAAC,cAACC,EAAAA,UAAS,CACRO,MAAOzB,EAAOC,KACdmB,MAAM,OACNC,OAAO,OACPK,IAAKb,KAELH,GACFM,MAAAC,cAACC,EAAAA,UAAS,CACRE,MAAK,GAAAO,OAAKC,KAAKC,KAAIf,eAAAA,EAAeM,QAAS,IAAK,MAAQ,IAAQ,MAChEC,OAAM,GAAAM,OAAKC,KAAKC,KAAIf,eAAAA,EAAeO,SAAU,IAAK,MAAQ,IAAQ,MAClEI,MAAOzB,EAAOM,QAGfI,IAAYA,aAAAA,EAAAA,EAAW,CACtBW,OAAMM,GAAAA,QAAKb,aAAa,EAAbA,EAAeO,SAAU,IAAO,MAC3CD,MAAKO,GAAAA,QAAKb,aAAa,EAAbA,EAAeM,QAAS,IAAO,MACzCU,WAAYhB,UAAAA,EAAeO,WAEnB,IAKlBd,EAAmBwB,YAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layoutBox.types.js","sources":["../../../../../../../../src/core/ui/components/container/layoutBox.types.ts"],"sourcesContent":["import { CSSProperties, PropsWithChildren, Ref } from 'react'\n\n/**\n * Enum representing the possible layout directions.\n */\nexport enum LayoutDirection {\n ROW = 'row',\n COLUMN = 'column',\n}\n\n/**\n * Props for the LayoutBox component.\n */\nexport type LayoutBoxProps = PropsWithChildren & {\n /** Unique identifier for the component. */\n id?: string | number\n /** CSS flex property. */\n flex?: string\n /** CSS flexGrow property. */\n flexGrow?: string | number\n /** Text alignment within the box. */\n alignText?: 'center' | 'right' | 'left'\n /** Direction of the layout (row or column). */\n direction?: LayoutDirection | string\n /** CSS flexShrink property. */\n flexShrink?: string | number\n /** CSS flexBasis property. */\n flexBasis?: string\n /** CSS flexWrap property. */\n flexWrap?: string\n /** CSS justify-content property. */\n justify?: string\n /** CSS align-items property. */\n align?: string\n /** CSS align-self property. */\n alignSelf?: string\n /** CSS margin property. */\n margin?: string\n /** CSS padding property. */\n padding?: string\n /** CSS width property. */\n width?: string\n /** CSS height property. */\n height?: string\n /** CSS maxWidth property. */\n maxWidth?: string\n /** CSS maxHeight property. */\n maxHeight?: string\n /** CSS minWidth property. */\n minWidth?: string\n /** CSS minHeight property. */\n minHeight?: string\n /** Gap between child elements. */\n gap?: string\n /** CSS borderRadius property. */\n borderRadius?: string\n /** Additional inline styles for the component. */\n style?: Record<string, unknown> | null\n /** Additional class name(s) for the component. */\n className?: string\n /** Tab index for keyboard navigation. */\n tabIndex?: number\n /** Ref for accessing the underlying DOM element. */\n ref?: Ref<HTMLDivElement> | undefined\n /** Callback function for click event. */\n onClick?: () => void\n /** If true, sets the layout direction to column. */\n column?: boolean\n} & Omit<CSSProperties, 'direction'>;\n"],"names":["LayoutDirection"],"mappings":"oEAKYA,IAAAA,WAAAA,GAAe,OAAfA,EAAe,IAAA,MAAfA,EAAe,OAAA,SAAfA,CAAe,EAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js"),t=require("react"),i=require("./divider.module.scss.js");const r=t.memo((e=>{let{orientation:r,vertical:a,color:l="
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js"),t=require("react"),i=require("./divider.module.scss.js");const r=t.memo((e=>{let{orientation:r,vertical:a,color:l="var(--divider-line)",opacity:o,length:c="80%",left:n="0",width:s="1px",height:d="1px",margin:m,className:u=""}=e;const v=t.useMemo((()=>"vertical"===r||!0===a),[r,a]),p=t.useMemo((()=>({"--width":s,"--height":d,"--length":c,"--opacity":o,"--color":l,"--left":n,"--margin":m||(v?"auto 0":"0 auto")})),[s,d,c,o,l,n,m,v]),h=v?i.default.vertical:i.default.horizontal;return React.createElement("div",{className:"".concat(i.default["divider-line"]," ").concat(h," ").concat(u),style:p})}));r.displayName="DividerLine";const a=t.memo((t=>React.createElement(r,e.extends({vertical:!0,length:"100%"},t))));a.displayName="DividerVertical";const l=t.memo((t=>React.createElement(r,e.extends({length:"100%"},t))));l.displayName="DividerHorizontal",exports.DividerHorizontal=l,exports.DividerLine=r,exports.DividerVertical=a;
|
|
2
2
|
//# sourceMappingURL=DividerLine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DividerLine.js","sources":["../../../../../../../../src/core/ui/components/dividers/DividerLine.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport { memo, FC, CSSProperties, useMemo } from 'react'\n\nimport classes from './divider.module.scss'\n\
|
|
1
|
+
{"version":3,"file":"DividerLine.js","sources":["../../../../../../../../src/core/ui/components/dividers/DividerLine.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport { memo, FC, CSSProperties, useMemo } from 'react'\n\nimport classes from './divider.module.scss'\n\ntype DividerProps = {\n orientation?: string\n margin?: string\n vertical?: boolean\n length?: string\n color?: string\n opacity?: number\n left?: string\n width?: string\n height?: string\n className?: string\n}\n\nexport const DividerLine: FC<DividerProps> = memo<DividerProps>(({\n orientation, vertical,\n color = 'var(--divider-line)',\n opacity,\n length = '80%', left = '0',\n width = '1px', height = '1px',\n margin,\n className = '',\n}: DividerProps) => {\n const isVertical = useMemo(() => orientation === 'vertical' || vertical === true, [orientation, vertical])\n\n const styles = useMemo(() => (\n {\n '--width': width,\n '--height': height,\n '--length': length,\n '--opacity': opacity,\n '--color': color,\n '--left': left,\n '--margin': margin || (isVertical ? 'auto 0' : '0 auto'),\n }\n ), [width, height, length, opacity, color, left, margin, isVertical])\n\n const verHorClass = isVertical ? classes.vertical : classes.horizontal\n\n return (\n <div\n className={`${(classes as any)['divider-line']} ${verHorClass} ${className}`}\n style={styles as CSSProperties}\n />\n )\n})\n\nDividerLine.displayName = 'DividerLine'\n\nexport const DividerVertical: FC<DividerProps>\n = memo((props) => <DividerLine vertical length='100%' {...props} />)\nDividerVertical.displayName = 'DividerVertical'\n\nexport const DividerHorizontal: FC<DividerProps>\n = memo((props) => <DividerLine length='100%' {...props} />)\nDividerHorizontal.displayName = 'DividerHorizontal'\n"],"names":["DividerLine","memo","_ref","orientation","vertical","color","opacity","length","left","width","height","margin","className","isVertical","useMemo","styles","verHorClass","classes","horizontal","React","createElement","concat","style","displayName","DividerVertical","props","_extends","DividerHorizontal"],"mappings":"yMAkBaA,EAAgCC,EAAIA,MAAeC,IAQ5C,IAR6CC,YAC/DA,EAAWC,SAAEA,EAAQC,MACrBA,EAAQ,sBAAqBC,QAC7BA,EAAOC,OACPA,EAAS,MAAKC,KAAEA,EAAO,IAAGC,MAC1BA,EAAQ,MAAKC,OAAEA,EAAS,MAAKC,OAC7BA,EAAMC,UACNA,EAAY,IACCV,EACb,MAAMW,EAAaC,EAAAA,SAAQ,IAAsB,aAAhBX,IAA2C,IAAbC,GAAmB,CAACD,EAAaC,IAE1FW,EAASD,EAAAA,SAAQ,KACrB,CACE,UAAWL,EACX,WAAYC,EACZ,WAAYH,EACZ,YAAaD,EACb,UAAWD,EACX,SAAUG,EACV,WAAYG,IAAWE,EAAa,SAAW,aAEhD,CAACJ,EAAOC,EAAQH,EAAQD,EAASD,EAAOG,EAAMG,EAAQE,IAEnDG,EAAcH,EAAaI,EAAAA,QAAQb,SAAWa,EAAAA,QAAQC,WAE5D,OACEC,MAAAC,cAAA,MAAA,CACER,UAASS,GAAAA,OAAMJ,EAAO,QAAS,gBAAeI,KAAAA,OAAIL,EAAW,KAAAK,OAAIT,GACjEU,MAAOP,GACP,IAINf,EAAYuB,YAAc,cAEbC,MAAAA,EACTvB,EAAIA,MAAEwB,GAAUN,MAAAC,cAACpB,EAAW0B,UAAA,CAACtB,UAAQ,EAACG,OAAO,QAAWkB,MAC5DD,EAAgBD,YAAc,kBAEjBI,MAAAA,EACT1B,EAAIA,MAAEwB,GAAUN,MAAAC,cAACpB,EAAW0B,UAAA,CAACnB,OAAO,QAAWkB,MACnDE,EAAkBJ,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js"),o=require("react"),t=require("./icon.module.scss.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_rollupPluginBabelHelpers.js"),o=require("react"),t=require("./icon.module.scss.js"),n=require("./unifyIconUrl.js");const r=o.memo((r=>{let{iconUrl:i,minWidth:c,minHeight:s,size:l,fontSize:a,width:u,height:m,color:d="currentColor",className:h="",children:p,style:b,onClick:f,...y}=r;const g=i&&n.unifyIconUrl(i),I=o.useMemo((()=>({"--min-width":c||l||u||"auto","--min-height":s||l||m||"auto","--width":l||u||"1rem","--height":l||m||"1rem",...a?{fontSize:a}:{},...g?{"--icon-url":"url(".concat(g,")")}:{},...g?{"--icon-color":d}:{"--icon-content-color":d},...f?{cursor:"pointer"}:{},...b})),[c,l,u,s,m,a,g,d,f,b]),j=o.useMemo((()=>f?{onClick:f,role:"button",tabIndex:-1}:{}),[f]);return React.createElement("span",e.extends({},y,j,{className:"".concat(t.default["icon-base"]," icon-base ").concat(h),style:I}),!g&&p&&p)}));r.displayName="IconBase",exports.IconBase=r;
|
|
2
2
|
//# sourceMappingURL=IconBase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconBase.js","sources":["../../../../../../../../src/core/ui/components/icon/IconBase.tsx"],"sourcesContent":["import { CSSProperties, memo, useMemo, FC, PropsWithChildren, MouseEvent } from 'react'\n\nimport classes from './icon.module.scss'\n\n\nexport type IconBaseType = PropsWithChildren<unknown> & {\n id?: string\n iconUrl?: string\n minWidth?: string\n minHeight?: string\n width?: string\n height?: string\n size?: string\n fontSize?: string\n color?: string\n className?: string\n style?: CSSProperties\n onClick?: (event?: MouseEvent<HTMLSpanElement> | undefined) => void\n}\n\nexport const IconBase: FC<IconBaseType> = memo<IconBaseType>(({\n iconUrl, minWidth, minHeight, size,\n fontSize, width, height, color = 'currentColor', className = '', children, style, onClick, ...props\n}: IconBaseType) => {\n const styles = useMemo(() => (\n {\n '--min-width': minWidth || size || width || 'auto',\n '--min-height': minHeight || size || height || 'auto',\n '--width': size || width || '1rem',\n '--height': size || height || '1rem',\n ...(fontSize ? { fontSize } : {}),\n ...(
|
|
1
|
+
{"version":3,"file":"IconBase.js","sources":["../../../../../../../../src/core/ui/components/icon/IconBase.tsx"],"sourcesContent":["import { CSSProperties, memo, useMemo, FC, PropsWithChildren, MouseEvent } from 'react'\n\nimport classes from './icon.module.scss'\nimport { unifyIconUrl } from './unifyIconUrl'\n\n\nexport type IconBaseType = PropsWithChildren<unknown> & {\n id?: string\n iconUrl?: string | null\n minWidth?: string | null\n minHeight?: string | null\n width?: string | null\n height?: string | null\n size?: string | null\n fontSize?: string | null\n color?: string | null\n className?: string | null\n style?: CSSProperties | null\n onClick?: (event?: MouseEvent<HTMLSpanElement> | undefined) => void\n}\n\nexport const IconBase: FC<IconBaseType> = memo<IconBaseType>(({\n iconUrl, minWidth, minHeight, size,\n fontSize, width, height, color = 'currentColor', className = '', children, style, onClick, ...props\n}: IconBaseType) => {\n const unifiedIconUrl = iconUrl && unifyIconUrl(iconUrl)\n\n const styles = useMemo(() => (\n {\n '--min-width': minWidth || size || width || 'auto',\n '--min-height': minHeight || size || height || 'auto',\n '--width': size || width || '1rem',\n '--height': size || height || '1rem',\n ...(fontSize ? { fontSize } : {}),\n ...(unifiedIconUrl ? { '--icon-url': `url(${unifiedIconUrl})` } : {}),\n ...(unifiedIconUrl ? { '--icon-color': color } : { '--icon-content-color': color }),\n ...(onClick ? { cursor: 'pointer' } : {}),\n ...style,\n }\n ), [minWidth, size, width, minHeight, height, fontSize, unifiedIconUrl, color, onClick, style])\n\n const onClickProps = useMemo(() => (onClick ? ({\n onClick,\n role: 'button',\n tabIndex: -1,\n }) : {}), [onClick])\n\n return (\n <span\n {...props}\n {...onClickProps}\n className={`${classes['icon-base']} icon-base ${className}`}\n style={styles as CSSProperties}\n >\n {(!unifiedIconUrl && children) && children}\n </span>\n )\n})\n\nIconBase.displayName = 'IconBase'\n"],"names":["IconBase","memo","_ref","iconUrl","minWidth","minHeight","size","fontSize","width","height","color","className","children","style","onClick","props","unifiedIconUrl","unifyIconUrl","styles","useMemo","concat","cursor","onClickProps","role","tabIndex","React","createElement","_extends","classes","displayName"],"mappings":"qOAqBaA,EAA6BC,EAAIA,MAAeC,IAGzC,IAH0CC,QAC5DA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,SAClCA,EAAQC,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,EAAQ,eAAcC,UAAEA,EAAY,GAAEC,SAAEA,EAAQC,MAAEA,EAAKC,QAAEA,KAAYC,GACjFb,EACb,MAAMc,EAAiBb,GAAWc,EAAYA,aAACd,GAEzCe,EAASC,EAAAA,SAAQ,KACrB,CACE,cAAef,GAAYE,GAAQE,GAAS,OAC5C,eAAgBH,GAAaC,GAAQG,GAAU,OAC/C,UAAWH,GAAQE,GAAS,OAC5B,WAAYF,GAAQG,GAAU,UAC1BF,EAAW,CAAEA,YAAa,MAC1BS,EAAiB,CAAE,aAAY,OAAAI,OAASJ,EAAc,MAAQ,MAC9DA,EAAiB,CAAE,eAAgBN,GAAU,CAAE,uBAAwBA,MACvEI,EAAU,CAAEO,OAAQ,WAAc,MACnCR,KAEJ,CAACT,EAAUE,EAAME,EAAOH,EAAWI,EAAQF,EAAUS,EAAgBN,EAAOI,EAASD,IAElFS,EAAeH,WAAQ,IAAOL,EAAW,CAC7CA,UACAS,KAAM,SACNC,UAAW,GACR,CAAG,GAAE,CAACV,IAEX,OACEW,MAAAC,cAAA,OAAAC,EAAA,QACMZ,CAAAA,EAAAA,EACAO,EAAY,CAChBX,UAAS,GAAAS,OAAKQ,EAAO,QAAC,aAAYR,eAAAA,OAAcT,GAChDE,MAAOK,KAEJF,GAAkBJ,GAAaA,EAC7B,IAIXZ,EAAS6B,YAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("../../../../../node_modules/core-js/modules/es.string.replace.js"),require("../../../../../node_modules/core-js/modules/es.string.replace-all.js");var e=require("ramda");exports.unifyIconUrl=l=>{if(!l||!e.is(String,l)||!l||null!=l&&l.includes(".svg")||null!=l&&l.includes("data:image/svg+xml;base64"))return l;const r=null==l?void 0:l.replaceAll("/\\s+/g"," ").replaceAll("'",'"').replaceAll("%25","%").replaceAll("%23","#").replaceAll("%3c","<").replaceAll("%3e",">").replaceAll("%20"," ").replaceAll("data:image/svg+xml,","");return"data:image/svg+xml;base64,".concat(btoa(r))};
|
|
2
|
+
//# sourceMappingURL=unifyIconUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unifyIconUrl.js","sources":["../../../../../../../../src/core/ui/components/icon/unifyIconUrl.ts"],"sourcesContent":["import { is } from 'ramda'\n\n// fix of Vite 5 new way of handling assets\n// https://github.com/vitejs/vite/pull/2909\n// https://github.com/vitejs/vite/blob/77d5165e2f252bfecbb0eebccc6f04dc8be0c5ba/packages/vite/src/node/plugins/asset.ts#L419\nexport const unifyIconUrl = (iconUrl: string) => {\n if (!iconUrl || !is(String, iconUrl) || !iconUrl\n || iconUrl?.includes('.svg') || iconUrl?.includes('data:image/svg+xml;base64')) {\n return iconUrl\n }\n\n const unifiedIconUrl = iconUrl?.replaceAll('/\\\\s+/g', ' ')\n .replaceAll('\\'', '\"')\n .replaceAll('%25', '%')\n .replaceAll('%23', '#')\n .replaceAll('%3c', '<')\n .replaceAll('%3e', '>')\n .replaceAll('%20', ' ')\n .replaceAll('data:image/svg+xml,', '')\n\n return `data:image/svg+xml;base64,${btoa(unifiedIconUrl)}`\n}\n"],"names":["iconUrl","is","String","includes","unifiedIconUrl","replaceAll","concat","btoa"],"mappings":"4QAK6BA,IAC3B,IAAKA,IAAYC,EAAEA,GAACC,OAAQF,KAAaA,GACtCA,SAAAA,EAASG,SAAS,SAAWH,SAAAA,EAASG,SAAS,6BAChD,OAAOH,EAGT,MAAMI,EAAiBJ,aAAO,EAAPA,EAASK,WAAW,UAAW,KACnDA,WAAW,IAAM,KACjBA,WAAW,MAAO,KAClBA,WAAW,MAAO,KAClBA,WAAW,MAAO,KAClBA,WAAW,MAAO,KAClBA,WAAW,MAAO,KAClBA,WAAW,sBAAuB,IAErC,MAAA,6BAAAC,OAAoCC,KAAKH,GAAe"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./core/hooks/useApi.js"),r=require("./core/hooks/useToggle.js"),t=require("./core/hooks/useTranslations.js"),o=require("./core/hooks/useOutsideClick.js"),s=require("./core/hooks/useResize.js"),i=require("./core/hooks/useClassNames.js"),a=require("./core/hooks/useParseProps.js"),l=require("./core/utils/helpers/birthnumber.validator.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./core/hooks/useApi.js"),r=require("./core/hooks/useToggle.js"),t=require("./core/hooks/useTranslations.js"),o=require("./core/hooks/useOutsideClick.js"),s=require("./core/hooks/useResize.js"),i=require("./core/hooks/useClassNames.js"),a=require("./core/hooks/useParseProps.js"),l=require("./core/hooks/useThemePreference.js"),p=require("./core/utils/helpers/birthnumber.validator.js"),n=require("./core/utils/helpers/birthnumberCZSKvalidator.js"),c=require("./core/utils/helpers/fileValidator.js"),u=require("./core/utils/helpers/date.js"),x=require("./core/utils/helpers/deviceInfo.js"),m=require("./core/utils/helpers/emailMatcher.js"),d=require("./core/utils/helpers/file.js"),h=require("./core/utils/helpers/objectOperations.js"),T=require("./core/utils/helpers/other.js"),C=require("./core/utils/helpers/textValueOperations.js"),j=require("./core/utils/helpers/valueOperations.js"),v=require("./core/utils/helpers/cancelableDelayedFunction.js"),S=require("./core/utils/helpers/ui.js"),b=require("./core/utils/keyExtractor.js"),g=require("./core/utils/date.js"),F=require("./core/utils/webComponents/webComponent.utils.js"),q=require("./core/utils/appState/store/store.vanillajs.js"),f=require("./core/utils/appState/store/store.vanillajs.templates.js"),y=require("./core/utils/appState/store/useStore.react.js"),D=require("./core/constants/ui.constants.js"),I=require("./core/ui/utils/style.js"),V=require("./core/ui/components/container/LayoutBox.js"),z=require("./core/ui/components/container/layoutBox.types.js"),O=require("./core/ui/components/container/Flex.js"),P=require("./core/ui/components/container/Placeholder.js"),N=require("./core/ui/components/container/CollapsibleContainer.js"),k=require("./core/ui/components/container/ResizableContainer.js"),R=require("./core/ui/components/field/Field.js"),L=require("./core/ui/components/dividers/DividerLine.js"),A=require("./core/ui/components/icon/IconBase.js"),B=require("./core/ui/components/icon/Icon.js"),E=require("./core/ui/components/icon/IconWC.js");exports.useApi=e.useApi,exports.useToggle=r.useToggle,exports.createSafeT=t.createSafeT,exports.setUseTranslation=t.setUseTranslation,exports.useTranslations=t.useTranslations,exports.outsideClickHandler=o.outsideClickHandler,exports.useOutsideClick=o.useOutsideClick,exports.useResize=s.useResize,exports.useClassNames=i.useClassNames,exports.useParseProps=a.useParseProps,exports.baseThemes=l.baseThemes,exports.observeThemePreference=l.observeThemePreference,exports.switchColorTheme=l.switchColorTheme,exports.updateColorTheme=l.updateColorTheme,exports.useThemePreference=l.useThemePreference,exports.isBirthNumberValid=p.isBirthNumberValid,exports.getMatch=n.getMatch,exports.isValidFormat=n.isValidFormat,exports.isValidModulo11=n.isValidModulo11,exports.parse=n.parse,exports.regex=n.regex,exports.parseCSVdata=c.parseCSVdata,exports.validateCSVFile=c.validateCSVFile,exports.validateCSVlines=c.validateCSVlines,exports.validateJSONFile=c.validateJSONFile,exports.validateLineCellTrimmed=c.validateLineCellTrimmed,exports.validateLineNumColumns=c.validateLineNumColumns,exports.validateSDFFile=c.validateSDFFile,exports.DATE_FORMAT=u.DATE_FORMAT,exports.formatDateToTimestamp=u.formatDateToTimestamp,exports.getDate=u.getDate,exports.getDeviceId=x.getDeviceId,exports.emailMatch=m.emailMatch,exports.emailMatcher=m.emailMatcher,exports.regexBuilder=m.regexBuilder,exports.cleanCsvLines=d.cleanCsvLines,exports.formatFilePath=d.formatFilePath,exports.arrayToObjectTree=h.arrayToObjectTree,exports.chunkArray=h.chunkArray,exports.duplicatesInArray=h.duplicatesInArray,exports.formatJsonString=h.formatJsonString,exports.formatObj=h.formatObj,exports.formatObj2=h.formatObj2,exports.debounce=T.debounce,exports.delay=T.delay,exports.memoize=T.memoize,exports.memoizeComplex=T.memoizeComplex,exports.memoizer=T.memoizer,exports.nestedTernary=T.nestedTernary,exports.escapeRegExp=C.escapeRegExp,exports.fileNameExt=C.fileNameExt,exports.findStringInText=C.findStringInText,exports.normalizeString=C.normalizeString,exports.removeWhitespaces=C.removeWhitespaces,exports.sanitizeId=C.sanitizeId,exports.sanitizePathId=C.sanitizePathId,exports.toLowerCase=C.toLowerCase,exports.toUpperCase=C.toUpperCase,exports.truncateText=C.truncateText,exports.Operation=j.Operation,exports.decrementValue=j.decrementValue,exports.incerementValue=j.incerementValue,exports.numberDefined=j.numberDefined,exports.numberOperation=j.numberOperation,exports.restrictNumberInLimits=j.restrictNumberInLimits,exports.setValue=j.setValue,exports.cancelableSetInterval=v.cancelableSetInterval,exports.cancelableSetTimeout=v.cancelableSetTimeout,exports.classNames=S.classNames,exports.mapSerReplacer=S.mapSerReplacer,exports.noop=S.noop,exports.parseProps=S.parseProps,exports.keyExtractor=b.keyExtractor,exports.keyExtractorFunction=b.keyExtractorFunction,exports.dateRangeFormat=g.dateRangeFormat,exports.getDateTime=g.getDateTime,exports.getTimeFromNow=g.getTimeFromNow,exports.getTimeFromNowOriginal=g.getTimeFromNowOriginal,exports.getTimeTo=g.getTimeTo,exports.ced=F.ced,exports.createResolveAttribute=F.createResolveAttribute,exports.customElementDefine=F.customElementDefine,exports.resolveAttributes=F.resolveAttributes,exports.createStore=q.createStore,exports.createDataStore=f.createDataStore,exports.useStore=y.useStore,exports.useStoreApi=y.useStoreApi,exports.EventName=D.EventName,exports.calculateColors=I.calculateColors,exports.calculatePercColor=I.calculatePercColor,exports.convertHex=I.convertHex,exports.convertRGB=I.convertRGB,Object.defineProperty(exports,"defaultFontSize",{enumerable:!0,get:function(){return I.defaultFontSize}}),exports.pxToRem=I.pxToRem,exports.resolveStyleValue=I.resolveStyleValue,exports.setDefaultFontSize=I.setDefaultFontSize,exports.toHex=I.toHex,exports.LayoutBox=V.LayoutBox,exports.LayoutDirection=z.LayoutDirection,exports.Flex=O.Flex,exports.FlexTight=O.FlexTight,exports.FlexTightStyled=O.FlexTightStyled,exports.FlexWrapper=O.FlexWrapper,exports.Placeholder=P.Placeholder,exports.CollapsibleContainer=N.CollapsibleContainer,exports.ResizableContainer=k.ResizableContainer,exports.Field=R.Field,exports.FieldWrapper=R.FieldWrapper,exports.Select=R.Select,exports.setIconColor=R.setIconColor,exports.setIconComponent=R.setIconComponent,exports.DividerHorizontal=L.DividerHorizontal,exports.DividerLine=L.DividerLine,exports.DividerVertical=L.DividerVertical,exports.IconBase=A.IconBase,exports.Icon=B.Icon,exports.VCIcon=E.VCIcon,exports.VCIconBase=E.VCIconBase;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useEffect as e}from"react";const o="change",t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>document.body,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;const c=o=>{const c=e();null==r||r(o,c),null==t||t(o)},d=e=>{c(e.matches)},l=e=>{c(!e.matches)},s=window.matchMedia("(prefers-color-scheme: dark)");try{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener(o,d),window.matchMedia("(prefers-color-scheme: light)").removeEventListener(o,l)}catch(e){}return c(null==s?void 0:s.matches),window.matchMedia("(prefers-color-scheme: dark)").addEventListener(o,d),window.matchMedia("(prefers-color-scheme: light)").addEventListener(o,l),()=>{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener(o,d),window.matchMedia("(prefers-color-scheme: light)").removeEventListener(o,l)}},c=function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>document.body,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;e((()=>t(o,c)),[o,c])},d={dark:"theme-dark",light:"theme-light"},r=function(e,o){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const c=e?d.light:d.dark,r=e?d.dark:d.light;o&&(o.classList.remove(c),o.classList.remove(r),o.classList.add(r)),"undefined"!=typeof document&&(document.querySelectorAll(".".concat(c)).forEach((e=>{e.classList.add(".".concat(r)),e.classList.remove(".".concat(c))})),t&&(document.querySelectorAll(".shadow-div").forEach((e=>{var o,t;null===(o=e.shadowRoot)||void 0===o||null===(o=o.querySelector(".".concat(c)))||void 0===o||o.classList.add(r),null===(t=e.shadowRoot)||void 0===t||null===(t=t.querySelector(".".concat(c)))||void 0===t||t.classList.remove(c)})),document.querySelectorAll("vcmf-wrapper").forEach((e=>{var o,t,d;null===(o=e.shadowRoot)||void 0===o||null===(o=o.querySelector(".".concat(c)))||void 0===o||o.classList.add(r),null===(t=e.shadowRoot)||void 0===t||null===(t=t.querySelector(".".concat(c)))||void 0===t||t.classList.remove(c);const l=null===(d=e.shadowRoot)||void 0===d?void 0:d.childNodes[0];l&&(l.classList.add(r),l.classList.remove(c))}))))},l=(e,o)=>{let t=e||!1;"undefined"!=typeof document&&void 0===e&&(t=document.body.classList.contains(d.dark)),r(t,o||document.body)};export{d as baseThemes,t as observeThemePreference,r as switchColorTheme,l as updateColorTheme,c as useThemePreference};
|
|
2
|
+
//# sourceMappingURL=useThemePreference.js.map
|