amotify 0.1.7 → 0.1.8
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/bundler_style.ts +55 -0
- package/dist/@declaration/_.d.ts +5 -109
- package/dist/@declaration/_.js +2 -3
- package/dist/@declaration/_.js.map +7 -0
- package/dist/@declaration/module.d.ts +1 -1
- package/dist/@declaration/module.js +1 -1
- package/dist/@declaration/module.js.map +7 -0
- package/dist/@declaration/property.d.ts +133 -137
- package/dist/@declaration/property.js +1 -2
- package/dist/@declaration/property.js.map +7 -0
- package/dist/@styles/componentClasses/_.css +1499 -0
- package/dist/@styles/componentClasses/_.d.ts +22 -0
- package/dist/@styles/componentClasses/_.js +392 -0
- package/dist/@utils/GenerateClassName.d.ts +11 -0
- package/dist/@utils/GenerateClassName.js +2 -0
- package/dist/@utils/GenerateClassName.js.map +7 -0
- package/dist/@utils/LaunchReactApp.d.ts +19 -0
- package/dist/@utils/LaunchReactApp.js +2 -0
- package/dist/@utils/LaunchReactApp.js.map +7 -0
- package/dist/@utils/_.d.ts +11 -0
- package/dist/@utils/_.js +2 -0
- package/dist/@utils/_.js.map +7 -0
- package/dist/@utils/collectForm.d.ts +11 -0
- package/dist/@utils/collectForm.js +2 -0
- package/dist/@utils/collectForm.js.map +7 -0
- package/dist/{@middleware → @utils}/color.d.ts +3 -3
- package/dist/@utils/color.js +2 -0
- package/dist/@utils/color.js.map +7 -0
- package/dist/@utils/config.d.ts +43 -0
- package/dist/@utils/config.js +2 -0
- package/dist/@utils/config.js.map +7 -0
- package/dist/@utils/fin.d.ts +1 -0
- package/dist/@utils/fin.js +2 -0
- package/dist/@utils/fin.js.map +7 -0
- package/dist/@utils/jsminEx.d.ts +56 -0
- package/dist/@utils/jsminEx.js +2 -0
- package/dist/@utils/jsminEx.js.map +7 -0
- package/dist/@utils/pageTransit.d.ts +11 -0
- package/dist/@utils/pageTransit.js +2 -0
- package/dist/@utils/pageTransit.js.map +7 -0
- package/dist/@utils/useRecycle.d.ts +8 -0
- package/dist/@utils/useRecycle.js +2 -0
- package/dist/@utils/useRecycle.js.map +7 -0
- package/dist/@utils/useStore.d.ts +18 -0
- package/dist/@utils/useStore.js +2 -0
- package/dist/@utils/useStore.js.map +7 -0
- package/dist/atoms/Box.d.ts +9 -0
- package/dist/atoms/Box.js +2 -0
- package/dist/atoms/Box.js.map +7 -0
- package/dist/atoms/FAI.d.ts +18 -0
- package/dist/atoms/FAI.js +2 -0
- package/dist/atoms/FAI.js.map +7 -0
- package/dist/atoms/Flex.d.ts +11 -0
- package/dist/atoms/Flex.js +2 -0
- package/dist/atoms/Flex.js.map +7 -0
- package/dist/atoms/Grid.d.ts +4 -0
- package/dist/atoms/Grid.js +2 -0
- package/dist/atoms/Grid.js.map +7 -0
- package/dist/atoms/Img.d.ts +11 -0
- package/dist/atoms/Img.js +2 -0
- package/dist/atoms/Img.js.map +7 -0
- package/dist/atoms/Logo.d.ts +40 -0
- package/dist/atoms/Logo.js +52 -0
- package/dist/atoms/Logo.js.map +7 -0
- package/dist/atoms/P.d.ts +9 -0
- package/dist/atoms/P.js +2 -0
- package/dist/atoms/P.js.map +7 -0
- package/dist/atoms/Placeholder.d.ts +9 -0
- package/dist/atoms/Placeholder.js +2 -0
- package/dist/atoms/Placeholder.js.map +7 -0
- package/dist/atoms/Span.d.ts +9 -0
- package/dist/atoms/Span.js +2 -0
- package/dist/atoms/Span.js.map +7 -0
- package/dist/atoms/_.d.ts +9 -0
- package/dist/atoms/_.js +2 -0
- package/dist/atoms/_.js.map +7 -0
- package/dist/chunk-E3D4DIO4.js +2 -0
- package/dist/chunk-E3D4DIO4.js.map +7 -0
- package/dist/fn/Button.d.ts +82 -0
- package/dist/fn/Button.js +2 -0
- package/dist/fn/Button.js.map +7 -0
- package/dist/fn/Cropper.d.ts +27 -0
- package/dist/fn/Cropper.js +2 -0
- package/dist/fn/Cropper.js.map +7 -0
- package/dist/fn/Effect/Fade.d.ts +17 -0
- package/dist/fn/Effect/Fade.js +2 -0
- package/dist/fn/Effect/Fade.js.map +7 -0
- package/dist/fn/Effect/Pudding.d.ts +1 -0
- package/dist/fn/Effect/Pudding.js +2 -0
- package/dist/fn/Effect/Pudding.js.map +7 -0
- package/dist/fn/Effect/Ripple.d.ts +1 -0
- package/dist/fn/Effect/Ripple.js +4 -0
- package/dist/fn/Effect/Ripple.js.map +7 -0
- package/dist/fn/Effect/_.d.ts +9 -0
- package/dist/fn/Effect/_.js +2 -0
- package/dist/fn/Effect/_.js.map +7 -0
- package/dist/fn/Input/Checker.d.ts +17 -0
- package/dist/fn/Input/Checker.js +2 -0
- package/dist/fn/Input/Checker.js.map +7 -0
- package/dist/fn/Input/Chips/Selector.d.ts +44 -0
- package/dist/fn/Input/Chips/Selector.js +2 -0
- package/dist/fn/Input/Chips/Selector.js.map +7 -0
- package/dist/fn/Input/Chips/_.d.ts +60 -0
- package/dist/fn/Input/Chips/_.js +2 -0
- package/dist/fn/Input/Chips/_.js.map +7 -0
- package/dist/fn/Input/Contenteditable.d.ts +17 -0
- package/dist/fn/Input/Contenteditable.js +2 -0
- package/dist/fn/Input/Contenteditable.js.map +7 -0
- package/dist/fn/Input/DigitCharacters.d.ts +17 -0
- package/dist/fn/Input/DigitCharacters.js +2 -0
- package/dist/fn/Input/DigitCharacters.js.map +7 -0
- package/dist/fn/Input/Filer.d.ts +47 -0
- package/dist/fn/Input/Filer.js +2 -0
- package/dist/fn/Input/Filer.js.map +7 -0
- package/dist/fn/Input/Hidden.d.ts +13 -0
- package/dist/fn/Input/Hidden.js +2 -0
- package/dist/fn/Input/Hidden.js.map +7 -0
- package/dist/fn/Input/List.d.ts +50 -0
- package/dist/fn/Input/List.js +2 -0
- package/dist/fn/Input/List.js.map +7 -0
- package/dist/fn/Input/Parts.d.ts +22 -0
- package/dist/fn/Input/Parts.js +2 -0
- package/dist/fn/Input/Parts.js.map +7 -0
- package/dist/fn/Input/Plain.d.ts +7 -0
- package/dist/fn/Input/Plain.js +2 -0
- package/dist/fn/Input/Plain.js.map +7 -0
- package/dist/fn/Input/RichSelect.d.ts +32 -0
- package/dist/fn/Input/RichSelect.js +2 -0
- package/dist/fn/Input/RichSelect.js.map +7 -0
- package/dist/fn/Input/Search.d.ts +6 -0
- package/dist/fn/Input/Search.js +2 -0
- package/dist/fn/Input/Search.js.map +7 -0
- package/dist/fn/Input/Segmented.d.ts +22 -0
- package/dist/fn/Input/Segmented.js +2 -0
- package/dist/fn/Input/Segmented.js.map +7 -0
- package/dist/fn/Input/Select.d.ts +28 -0
- package/dist/fn/Input/Select.js +2 -0
- package/dist/fn/Input/Select.js.map +7 -0
- package/dist/fn/Input/Slider.d.ts +31 -0
- package/dist/fn/Input/Slider.js +2 -0
- package/dist/fn/Input/Slider.js.map +7 -0
- package/dist/fn/Input/Switch.d.ts +17 -0
- package/dist/fn/Input/Switch.js +2 -0
- package/dist/fn/Input/Switch.js.map +7 -0
- package/dist/fn/Input/Text.d.ts +50 -0
- package/dist/fn/Input/Text.js +2 -0
- package/dist/fn/Input/Text.js.map +7 -0
- package/dist/fn/Input/TextArea.d.ts +19 -0
- package/dist/fn/Input/TextArea.js +2 -0
- package/dist/fn/Input/TextArea.js.map +7 -0
- package/dist/fn/Input/Time/Picker.d.ts +37 -0
- package/dist/fn/Input/Time/Picker.js +2 -0
- package/dist/fn/Input/Time/Picker.js.map +7 -0
- package/dist/fn/Input/Time/_.d.ts +78 -0
- package/dist/fn/Input/Time/_.js +2 -0
- package/dist/fn/Input/Time/_.js.map +7 -0
- package/dist/fn/Input/_.d.ts +142 -0
- package/dist/fn/Input/_.js +2 -0
- package/dist/fn/Input/_.js.map +7 -0
- package/dist/fn/Input/core.d.ts +54 -0
- package/dist/fn/Input/core.js +2 -0
- package/dist/fn/Input/core.js.map +7 -0
- package/dist/fn/Layout/PageNotFound.d.ts +6 -0
- package/dist/fn/Layout/PageNotFound.js +2 -0
- package/dist/fn/Layout/PageNotFound.js.map +7 -0
- package/dist/fn/Layout/PageRouter.d.ts +27 -0
- package/dist/fn/Layout/PageRouter.js +2 -0
- package/dist/fn/Layout/PageRouter.js.map +7 -0
- package/dist/fn/Layout/PageViewController.d.ts +13 -0
- package/dist/fn/Layout/PageViewController.js +2 -0
- package/dist/fn/Layout/PageViewController.js.map +7 -0
- package/dist/fn/Layout/Plate.d.ts +9 -0
- package/dist/fn/Layout/Plate.js +2 -0
- package/dist/fn/Layout/Plate.js.map +7 -0
- package/dist/fn/Layout/RootViewController.d.ts +41 -0
- package/dist/fn/Layout/RootViewController.js +2 -0
- package/dist/fn/Layout/RootViewController.js.map +7 -0
- package/dist/fn/Layout/SwipeView.d.ts +40 -0
- package/dist/fn/Layout/SwipeView.js +2 -0
- package/dist/fn/Layout/SwipeView.js.map +7 -0
- package/dist/fn/Layout/TabBar.d.ts +16 -0
- package/dist/fn/Layout/TabBar.js +2 -0
- package/dist/fn/Layout/TabBar.js.map +7 -0
- package/dist/fn/Layout/_.d.ts +27 -0
- package/dist/fn/Layout/_.js +2 -0
- package/dist/fn/Layout/_.js.map +7 -0
- package/dist/fn/Loader/_.d.ts +47 -0
- package/dist/fn/Loader/_.js +2 -0
- package/dist/fn/Loader/_.js.map +7 -0
- package/dist/fn/Loader/corner.d.ts +1 -0
- package/dist/fn/Loader/corner.js +2 -0
- package/dist/fn/Loader/corner.js.map +7 -0
- package/dist/fn/Loader/mini.d.ts +6 -0
- package/dist/fn/Loader/mini.js +2 -0
- package/dist/fn/Loader/mini.js.map +7 -0
- package/dist/fn/Loader/top.d.ts +2 -0
- package/dist/fn/Loader/top.js +2 -0
- package/dist/fn/Loader/top.js.map +7 -0
- package/dist/fn/Sheet.d.ts +75 -0
- package/dist/fn/Sheet.js +2 -0
- package/dist/fn/Sheet.js.map +7 -0
- package/dist/fn/Snackbar.d.ts +24 -0
- package/dist/fn/Snackbar.js +2 -0
- package/dist/fn/Snackbar.js.map +7 -0
- package/dist/fn/Table/Data.d.ts +128 -0
- package/dist/fn/Table/Data.js +2 -0
- package/dist/fn/Table/Data.js.map +7 -0
- package/dist/fn/Table/Drag.d.ts +18 -0
- package/dist/fn/Table/Drag.js +2 -0
- package/dist/fn/Table/Drag.js.map +7 -0
- package/dist/fn/Table/Normal.d.ts +16 -0
- package/dist/fn/Table/Normal.js +2 -0
- package/dist/fn/Table/Normal.js.map +7 -0
- package/dist/fn/Table/Parts.d.ts +24 -0
- package/dist/fn/Table/Parts.js +2 -0
- package/dist/fn/Table/Parts.js.map +7 -0
- package/dist/fn/Table/Wrapper.d.ts +10 -0
- package/dist/fn/Table/Wrapper.js +2 -0
- package/dist/fn/Table/Wrapper.js.map +7 -0
- package/dist/fn/Table/_.d.ts +42 -0
- package/dist/fn/Table/_.js +2 -0
- package/dist/fn/Table/_.js.map +7 -0
- package/dist/fn/Table/cellStyling.d.ts +9 -0
- package/dist/fn/Table/cellStyling.js +2 -0
- package/dist/fn/Table/cellStyling.js.map +7 -0
- package/dist/fn/Tooltips.d.ts +31 -0
- package/dist/fn/Tooltips.js +2 -0
- package/dist/fn/Tooltips.js.map +7 -0
- package/dist/fn/_.d.ts +10 -0
- package/dist/fn/_.js +2 -0
- package/dist/fn/_.js.map +7 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.js +2 -17
- package/dist/index.js.map +7 -0
- package/dist/mols/Accordion.d.ts +25 -0
- package/dist/mols/Accordion.js +2 -0
- package/dist/mols/Accordion.js.map +7 -0
- package/dist/mols/Column.d.ts +7 -0
- package/dist/mols/Column.js +2 -0
- package/dist/mols/Column.js.map +7 -0
- package/dist/mols/LinkifyText.d.ts +10 -0
- package/dist/mols/LinkifyText.js +2 -0
- package/dist/mols/LinkifyText.js.map +7 -0
- package/dist/mols/List.d.ts +11 -0
- package/dist/mols/List.js +2 -0
- package/dist/mols/List.js.map +7 -0
- package/dist/mols/Row.d.ts +16 -0
- package/dist/mols/Row.js +2 -0
- package/dist/mols/Row.js.map +7 -0
- package/dist/mols/Text.d.ts +21 -0
- package/dist/mols/Text.js +2 -0
- package/dist/mols/Text.js.map +7 -0
- package/dist/mols/_.d.ts +6 -0
- package/dist/mols/_.js +2 -0
- package/dist/mols/_.js.map +7 -0
- package/dist/orgs/_.d.ts +1 -0
- package/dist/orgs/_.js +1 -0
- package/dist/orgs/_.js.map +7 -0
- package/dist/style.css +7290 -0
- package/dist/style.d.ts +4 -0
- package/dist/style.js +392 -0
- package/dist/temps/_.d.ts +1 -0
- package/dist/temps/_.js +1 -0
- package/dist/temps/_.js.map +7 -0
- package/package.json +59 -48
- package/dist/@declaration/amotify.d.ts +0 -1353
- package/dist/@declaration/amotify.js +0 -2
- package/dist/@middleware/GenerateClassName.d.ts +0 -3
- package/dist/@middleware/GenerateClassName.js +0 -282
- package/dist/@middleware/_.d.ts +0 -23
- package/dist/@middleware/_.js +0 -131
- package/dist/@middleware/color.js +0 -99
- package/dist/@middleware/pageTransit.d.ts +0 -2
- package/dist/@middleware/pageTransit.js +0 -31
- package/dist/@middleware/useRecycle.d.ts +0 -2
- package/dist/@middleware/useRecycle.js +0 -43
- package/dist/@middleware/useStore.d.ts +0 -2
- package/dist/@middleware/useStore.js +0 -39
- package/dist/@middleware/userAgent.d.ts +0 -14
- package/dist/@middleware/userAgent.js +0 -36
- package/dist/atoms/Box/index.d.ts +0 -9
- package/dist/atoms/Box/index.js +0 -19
- package/dist/atoms/index.d.ts +0 -4
- package/dist/atoms/index.js +0 -25
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TagProperty } from '../../@declaration/_';
|
|
3
|
+
declare namespace Loader {
|
|
4
|
+
type Methods = Color & FNs;
|
|
5
|
+
type Color = {
|
|
6
|
+
Theme: Size<CompInput>;
|
|
7
|
+
Posi: Size<CompInput>;
|
|
8
|
+
Nega: Size<CompInput>;
|
|
9
|
+
Warn: Size<CompInput>;
|
|
10
|
+
White: Size<CompInput>;
|
|
11
|
+
Cloud: Size<CompInput>;
|
|
12
|
+
};
|
|
13
|
+
type Size<T> = {
|
|
14
|
+
S: React.FC<T>;
|
|
15
|
+
R: React.FC<T>;
|
|
16
|
+
L: React.FC<T>;
|
|
17
|
+
XL: React.FC<T>;
|
|
18
|
+
MAX: React.FC<T>;
|
|
19
|
+
};
|
|
20
|
+
type Sizes = 'S' | 'R' | 'L' | 'XL' | 'MAX';
|
|
21
|
+
type Colors = 'theme' | 'posi' | 'nega' | 'warn' | 'white' | 'cloud';
|
|
22
|
+
type CompInput = TagProperty.Params & {
|
|
23
|
+
showInitial?: boolean;
|
|
24
|
+
loaderID?: string;
|
|
25
|
+
};
|
|
26
|
+
type FNs = {
|
|
27
|
+
Wrapper(): JSX.Element;
|
|
28
|
+
fn: {
|
|
29
|
+
stopALL(): void;
|
|
30
|
+
top: {
|
|
31
|
+
active(): void;
|
|
32
|
+
stop(): void;
|
|
33
|
+
};
|
|
34
|
+
corner: {
|
|
35
|
+
active(): void;
|
|
36
|
+
stop(): void;
|
|
37
|
+
};
|
|
38
|
+
mini: {
|
|
39
|
+
active(loaderID?: string): void;
|
|
40
|
+
stop(loaderID?: string): void;
|
|
41
|
+
stopALL(): void;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
declare const Loader: Loader.Methods;
|
|
47
|
+
export { Loader, Loader as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as n}from"../../chunk-E3D4DIO4.js";import{jsx as a,jsxs as g}from"react/jsx-runtime";import{$$ as l,Config as p,useStore as i}from"@utils";import L from"@atoms/Box";import{LoaderClasses as m}from"@styles/componentClasses/_";import{Top as C}from"./top";import{Mini as c}from"./mini";import{Corner as f}from"./corner";const s=o=>{let t=o.color;return{S:e=>a(c,n({size:"S",color:t},e)),R:e=>a(c,n({size:"R",color:t},e)),L:e=>a(c,n({size:"L",color:t},e)),XL:e=>a(c,n({size:"XL",color:t},e)),MAX:e=>a(c,n({size:"MAX",color:t},e))}},d={Wrapper:()=>g(L,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:[a(C,{}),a(f,{})]}),Theme:s({color:"theme"}),Posi:s({color:"posi"}),Nega:s({color:"nega"}),Warn:s({color:"warn"}),White:s({color:"white"}),Cloud:s({color:"cloud"}),fn:{top:{active:()=>{let o=i.get("Loader-top-"+p.get().sessionUID+"-corner");o&&o.active()},stop:()=>{let o=i.get("Loader-top-"+p.get().sessionUID+"-corner");o&&o.stop()}},corner:{active:()=>{let o=i.get("Loader-corner-"+p.get().sessionUID+"-corner");o&&o.active()},stop:()=>{let o=i.get("Loader-corner-"+p.get().sessionUID+"-corner");o&&o.stop()}},mini:{active:(o="")=>{l(p.get().appRoot).find("."+m("MiniLoader")).for(t=>{let{dataset:{componentId:e}={}}=t;if(!e)return;let r=i.get(e);r&&r.active&&r.active(o)})},stop:(o="")=>{l(p.get().appRoot).find("."+m("MiniLoader")).for(t=>{let{dataset:{componentId:e}={}}=t;if(!e)return;let r=i.get(e);r&&r.stop&&r.stop(o)})},stopALL:()=>{l(p.get().appRoot).find("."+m("MiniLoader")).for(o=>{let{dataset:{componentId:t}={}}=o;if(!t)return;let e=i.get(t);e&&e.stopForce&&e.stopForce()})}},stopALL:()=>{d.fn.top.stop(),d.fn.corner.stop(),d.fn.mini.stopALL()}}};export{d as Loader,d as default};
|
|
2
|
+
//# sourceMappingURL=_.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/fn/Loader/_.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n TagProperty\n} from '@declaration'\n\nimport {\n $$,\n Config,\n useStore\n} from '@utils'\n\nimport Box from '@atoms/Box'\n\nimport { LoaderClasses } from '@styles/componentClasses/_'\n\nnamespace Loader {\n export type Methods = Color & FNs\n export type Color = {\n Theme: Size<CompInput>\n Posi: Size<CompInput>\n Nega: Size<CompInput>\n Warn: Size<CompInput>\n White: Size<CompInput>\n Cloud: Size<CompInput>\n }\n export type Size<T> = {\n S: React.FC<T>\n R: React.FC<T>\n L: React.FC<T>\n XL: React.FC<T>\n MAX: React.FC<T>\n }\n export type Sizes = 'S' | 'R' | 'L' | 'XL' | 'MAX'\n export type Colors = 'theme' | 'posi' | 'nega' | 'warn' | 'white' | 'cloud'\n export type CompInput = TagProperty.Params & {\n showInitial?: boolean\n loaderID?: string\n }\n export type FNs = {\n Wrapper(): JSX.Element\n fn: {\n stopALL(): void\n top: {\n active(): void\n stop(): void\n }\n corner: {\n active(): void\n stop(): void\n }\n mini: {\n active( loaderID?: string ): void\n stop( loaderID?: string ): void\n stopALL(): void\n }\n }\n }\n}\n\n\nimport { Top } from './top'\nimport { Mini } from './mini'\nimport { Corner } from './corner'\n\n\nconst SizeWrapper: {\n ( params: {\n color: Loader.Colors\n } ): {\n S: React.FC<Loader.CompInput>\n R: React.FC<Loader.CompInput>\n L: React.FC<Loader.CompInput>\n XL: React.FC<Loader.CompInput>\n MAX: React.FC<Loader.CompInput>\n }\n} = ( params ) => {\n let color = params.color\n return {\n S: ( params ) => <Mini size='S' color={ color } { ...params } />,\n R: ( params ) => <Mini size='R' color={ color } { ...params } />,\n L: ( params ) => <Mini size='L' color={ color } { ...params } />,\n XL: ( params ) => <Mini size='XL' color={ color } { ...params } />,\n MAX: ( params ) => <Mini size='MAX' color={ color } { ...params } />,\n }\n}\nconst Loader: Loader.Methods = {\n Wrapper: () => {\n return <Box className={ [\n 'AMOTIFY_be',\n LoaderClasses( 'Wrapper' )\n ].join( ' ' ) }>\n <Top />\n <Corner />\n </Box>\n },\n Theme: SizeWrapper( { color: 'theme' } ),\n Posi: SizeWrapper( { color: 'posi' } ),\n Nega: SizeWrapper( { color: 'nega' } ),\n Warn: SizeWrapper( { color: 'warn' } ),\n White: SizeWrapper( { color: 'white' } ),\n Cloud: SizeWrapper( { color: 'cloud' } ),\n fn: {\n top: {\n active: () => {\n let comp = useStore.get( 'Loader-top-' + Config.get().sessionUID + '-corner' )\n comp && comp.active()\n },\n stop: () => {\n let comp = useStore.get( 'Loader-top-' + Config.get().sessionUID + '-corner' )\n comp && comp.stop()\n },\n },\n corner: {\n active: () => {\n let comp = useStore.get( 'Loader-corner-' + Config.get().sessionUID + '-corner' )\n comp && comp.active()\n },\n stop: () => {\n let comp = useStore.get( 'Loader-corner-' + Config.get().sessionUID + '-corner' )\n comp && comp.stop()\n },\n },\n mini: {\n active: ( keyCode = '' ) => {\n $$( Config.get().appRoot )\n .find( '.' + LoaderClasses( 'MiniLoader' ) )\n .for( ( elm ) => {\n let { dataset: { componentId } = {} } = elm\n if ( !componentId ) return\n let fn = useStore.get( componentId )\n if ( fn && fn.active ) fn.active( keyCode )\n } )\n },\n stop: ( keyCode = '' ) => {\n $$( Config.get().appRoot )\n .find( '.' + LoaderClasses( 'MiniLoader' ) )\n .for( ( elm ) => {\n let { dataset: { componentId } = {} } = elm\n if ( !componentId ) return\n let fn = useStore.get( componentId )\n if ( fn && fn.stop ) fn.stop( keyCode )\n } )\n },\n stopALL: () => {\n $$( Config.get().appRoot )\n .find( '.' + LoaderClasses( 'MiniLoader' ) )\n .for( ( elm ) => {\n let { dataset: { componentId } = {} } = elm\n if ( !componentId ) return\n let fn = useStore.get( componentId )\n if ( fn && fn.stopForce ) fn.stopForce()\n } )\n },\n },\n stopALL: () => {\n Loader.fn.top.stop()\n Loader.fn.corner.stop()\n Loader.fn.mini.stopALL()\n }\n }\n}\nexport {\n Loader,\n Loader as default\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "$$", "Config", "useStore", "Box", "LoaderClasses", "Top", "Mini", "Corner", "SizeWrapper", "params", "color", "__spreadValues", "Loader", "comp", "keyCode", "elm", "componentId", "fn"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Corner: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../../chunk-E3D4DIO4.js";import{jsx as a,jsxs as t}from"react/jsx-runtime";import{Config as n,useStore as l}from"@utils";import{useState as d,useEffect as c}from"react";import o from"@atoms/Box";import s from"@atoms/Flex";import{LoaderClasses as e}from"@styles/componentClasses/_";const N=()=>{let[i,r]=d(!1);return c(()=>{l.set({key:"Loader-corner-"+n.get().sessionUID+"-corner",value:{active:()=>{r(!0)},stop:()=>{r(!1)}}})},[]),t(s,{className:[e("CornerLoader"),e("Active_"+i)].join(" "),gap:"1/2",padding:["1/2","3/4"],borderRadius:"2/3",backgroundColor:"dark",position:"fixed",boxShadow:"1.remark",left:"50%",top:1,opacity:"trans",transition:"short",isRounded:!0,freeCSS:{pointerEvents:"none",transform:"translateX(-50%)"},children:[t(s,{className:e("Wrap"),flexWrap:!1,verticalAlign:"center",horizontalAlign:"center",children:[a(o,{className:e("Ld4")}),a(o,{className:e("Ld3")}),a(o,{className:e("Ld2")}),a(o,{className:e("Ld1")}),a(o,{className:e("Ld2")}),a(o,{className:e("Ld3")}),a(o,{className:e("Ld4")})]}),a(o,{fontColor:"white",fontSize:"0.xs",isSemiBoldFont:!0,children:"Loading"})]})};export{N as Corner};
|
|
2
|
+
//# sourceMappingURL=corner.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/fn/Loader/corner.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n Config,\n useStore\n} from '@utils'\nimport {\n useState,\n useEffect\n} from 'react'\nimport Box from '@atoms/Box'\nimport Flex from '@atoms/Flex'\n\nimport { LoaderClasses } from '@styles/componentClasses/_'\n\nexport const Corner = () => {\n let [ val_active,set_active ] = useState( false )\n\n useEffect( () => {\n useStore.set( {\n key: 'Loader-corner-' + Config.get().sessionUID + '-corner',\n value: {\n active: () => {\n set_active( true )\n },\n stop: () => {\n set_active( false )\n }\n }\n } )\n },[] )\n\n return <Flex\n className={ [\n LoaderClasses( 'CornerLoader' ),\n LoaderClasses( 'Active_' + val_active )\n ].join( ' ' ) }\n gap={ '1/2' }\n padding={ [ '1/2','3/4' ] }\n borderRadius={ '2/3' }\n backgroundColor='dark'\n position='fixed'\n boxShadow={ '1.remark' }\n left={ '50%' }\n top={ 1 }\n opacity='trans'\n transition='short'\n isRounded\n freeCSS={ {\n pointerEvents: 'none',\n transform: 'translateX(-50%)'\n } }\n >\n <Flex\n className={ LoaderClasses( 'Wrap' ) }\n flexWrap={ false }\n verticalAlign='center'\n horizontalAlign='center'\n >\n <Box className={ LoaderClasses( 'Ld4' ) } />\n <Box className={ LoaderClasses( 'Ld3' ) } />\n <Box className={ LoaderClasses( 'Ld2' ) } />\n <Box className={ LoaderClasses( 'Ld1' ) } />\n <Box className={ LoaderClasses( 'Ld2' ) } />\n <Box className={ LoaderClasses( 'Ld3' ) } />\n <Box className={ LoaderClasses( 'Ld4' ) } />\n </Flex>\n <Box\n fontColor='white'\n fontSize='0.xs'\n isSemiBoldFont\n >\n Loading\n </Box>\n </Flex>\n}"],
|
|
5
|
+
"mappings": "gCAmDI,OAME,OAAAA,EANF,QAAAC,MAAA,oBAnDJ,OACE,UAAAC,EACA,YAAAC,MACK,SACP,OACE,YAAAC,EACA,aAAAC,MACK,QACP,OAAOC,MAAS,aAChB,OAAOC,MAAU,cAEjB,OAAS,iBAAAC,MAAqB,6BAEvB,MAAMC,EAAS,IAAM,CAC1B,GAAI,CAAEC,EAAWC,CAAW,EAAIP,EAAU,EAAM,EAEhD,OAAAC,EAAW,IAAM,CACfF,EAAS,IAAK,CACZ,IAAK,iBAAmBD,EAAO,IAAI,EAAE,WAAa,UAClD,MAAO,CACL,OAAQ,IAAM,CACZS,EAAY,EAAK,CACnB,EACA,KAAM,IAAM,CACVA,EAAY,EAAM,CACpB,CACF,CACF,CAAE,CACJ,EAAE,CAAC,CAAE,EAEEV,EAACM,EAAA,CACN,UAAY,CACVC,EAAe,cAAe,EAC9BA,EAAe,UAAYE,CAAW,CACxC,EAAE,KAAM,GAAI,EACZ,IAAM,MACN,QAAU,CAAE,MAAM,KAAM,EACxB,aAAe,MACf,gBAAgB,OAChB,SAAS,QACT,UAAY,WACZ,KAAO,MACP,IAAM,EACN,QAAQ,QACR,WAAW,QACX,UAAS,GACT,QAAU,CACR,cAAe,OACf,UAAW,kBACb,EAEA,UAAAT,EAACM,EAAA,CACC,UAAYC,EAAe,MAAO,EAClC,SAAW,GACX,cAAc,SACd,gBAAgB,SAEhB,UAAAR,EAACM,EAAA,CAAI,UAAYE,EAAe,KAAM,EAAI,EAC1CR,EAACM,EAAA,CAAI,UAAYE,EAAe,KAAM,EAAI,EAC1CR,EAACM,EAAA,CAAI,UAAYE,EAAe,KAAM,EAAI,EAC1CR,EAACM,EAAA,CAAI,UAAYE,EAAe,KAAM,EAAI,EAC1CR,EAACM,EAAA,CAAI,UAAYE,EAAe,KAAM,EAAI,EAC1CR,EAACM,EAAA,CAAI,UAAYE,EAAe,KAAM,EAAI,EAC1CR,EAACM,EAAA,CAAI,UAAYE,EAAe,KAAM,EAAI,GAC5C,EACAR,EAACM,EAAA,CACC,UAAU,QACV,SAAS,OACT,eAAc,GACf,mBAED,GACF,CACF",
|
|
6
|
+
"names": ["jsx", "jsxs", "Config", "useStore", "useState", "useEffect", "Box", "Flex", "LoaderClasses", "Corner", "val_active", "set_active"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as d,c as f,d as h}from"../../chunk-E3D4DIO4.js";import{jsx as i,jsxs as k}from"react/jsx-runtime";import{$$ as g,Config as L,useStore as z}from"@utils";import{useState as l,useEffect as w}from"react";import{LoaderClasses as e}from"@styles/componentClasses/_";import I from"@mols/Row";const R=u=>{let m=u,{color:C="theme",size:t="R",showInitial:c=!1,loaderID:S=""}=m,y=h(m,["color","size","showInitial","loaderID"]),[n]=l(S),[s]=l(g.uuid.gen()),[p,a]=l(c),o=0;t=="S"?o=1:t=="R"?o=1.5:t=="L"?o=3:t=="XL"?o=4:t=="MAX"&&(o=6);let v={theme:"hsl( var( --color-theme-hsl ) )",posi:"var( --color-positive )",nega:"var( --color-negative )",warn:"var( --color-warning )",cloud:"hsl( var( --color-layer5-hsl ) )",white:"white"}[C];return w(()=>{let r=g(L.get().appRoot).find('[data-component-id="'+s+'"]');p?r.removeClass(e("Hide")).await(10).addClass(e("Active")):r.removeClass(e("Active")).await(210).addClass(e("Hide"))},[p]),w(()=>{z.set({key:s,value:{active:r=>{n==r&&a(!0)},stop:r=>{n==r&&a(!1)},stopForce:()=>{a(!1)}}})},[]),k(I.Center,f(d({ssSphere:o,className:[e("MiniLoader"),c?"":e("Hide")].join(" "),componentID:s,position:"relative"},y),{children:[i("svg",{className:e("SVG1"),width:"100",height:"100",viewBox:"0 0 100 100",style:{stroke:v},children:i("circle",{cx:"50",cy:"50",r:"40"})}),i("svg",{className:e("SVG2"),width:"100",height:"100",viewBox:"0 0 100 100",style:{stroke:v},children:i("circle",{cx:"50",cy:"50",r:"40"})})]}))};export{R as Mini};
|
|
2
|
+
//# sourceMappingURL=mini.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/fn/Loader/mini.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n TagProperty\n} from '@declaration'\n\nimport {\n $$,\n Config,\n useStore\n} from '@utils'\nimport {\n useState,\n useEffect\n} from 'react'\n\nimport { LoaderClasses } from '@styles/componentClasses/_'\nimport Row from '@mols/Row'\n\nimport { Loader } from './_'\n\nconst Mini = ( params: Loader.CompInput & {\n color?: Loader.Colors\n size?: Loader.Sizes\n} ) => {\n let {\n color = 'theme',\n size = 'R',\n showInitial = false,\n loaderID = '',\n ...props\n } = params\n let [ val_key ] = useState( loaderID )\n let [ val_componentID ] = useState( $$.uuid.gen() )\n let [ val_active,set_active ] = useState( showInitial )\n\n let Size: TagProperty.Sizes.Size = 0\n if ( size == 'S' ) {\n Size = 1\n } else if ( size == 'R' ) {\n Size = 1.5\n } else if ( size == 'L' ) {\n Size = 3\n } else if ( size == 'XL' ) {\n Size = 4\n } else if ( size == 'MAX' ) {\n Size = 6\n }\n let BorderColor = {\n 'theme': 'hsl( var( --color-theme-hsl ) )',\n 'posi': 'var( --color-positive )',\n 'nega': 'var( --color-negative )',\n 'warn': 'var( --color-warning )',\n 'cloud': 'hsl( var( --color-layer5-hsl ) )',\n 'white': 'white',\n }[ color as 'theme' ]\n\n useEffect( () => {\n let Wrapper = $$( Config.get().appRoot )\n .find( '[data-component-id=\"' + val_componentID + '\"]' )\n if ( val_active ) {\n Wrapper\n .removeClass( LoaderClasses( 'Hide' ) )\n .await( 10 )\n .addClass( LoaderClasses( 'Active' ) )\n } else {\n Wrapper\n .removeClass( LoaderClasses( 'Active' ) )\n .await( 210 )\n .addClass( LoaderClasses( 'Hide' ) )\n }\n },[ val_active ] )\n\n useEffect( () => {\n useStore.set( {\n key: val_componentID,\n value: {\n active: ( keyCode: string ) => {\n if ( val_key != keyCode ) return\n set_active( true )\n },\n stop: ( keyCode: string ) => {\n if ( val_key != keyCode ) return\n set_active( false )\n },\n stopForce: () => {\n set_active( false )\n }\n }\n } )\n },[] )\n\n return <Row.Center\n ssSphere={ Size }\n className={ [\n LoaderClasses( 'MiniLoader' ),\n showInitial ? '' : LoaderClasses( 'Hide' )\n ].join( ' ' ) }\n componentID={ val_componentID }\n position='relative'\n { ...props }\n >\n <svg\n className={ LoaderClasses( 'SVG1' ) }\n width=\"100\"\n height=\"100\"\n viewBox=\"0 0 100 100\"\n style={ {\n stroke: BorderColor\n } }\n >\n <circle cx=\"50\" cy=\"50\" r=\"40\" />\n </svg>\n <svg\n className={ LoaderClasses( 'SVG2' ) }\n width=\"100\"\n height=\"100\"\n viewBox=\"0 0 100 100\"\n style={ {\n stroke: BorderColor\n } }\n >\n <circle cx=\"50\" cy=\"50\" r=\"40\" />\n </svg>\n </Row.Center>\n}\n\nexport { Mini }"],
|
|
5
|
+
"mappings": "0DA0FS,OAmBH,OAAAA,EAnBG,QAAAC,MAAA,oBAtFT,OACE,MAAAC,EACA,UAAAC,EACA,YAAAC,MACK,SACP,OACE,YAAAC,EACA,aAAAC,MACK,QAEP,OAAS,iBAAAC,MAAqB,6BAC9B,OAAOC,MAAS,YAIhB,MAAMC,EAASC,GAGR,CACL,IAMIC,EAAAD,EALF,OAAAE,EAAQ,QACR,KAAAC,EAAO,IACP,YAAAC,EAAc,GACd,SAAAC,EAAW,EA3Bf,EA6BMJ,EADCK,EAAAC,EACDN,EADC,CAJH,QACA,OACA,cACA,aAGE,CAAEO,CAAQ,EAAIb,EAAUU,CAAS,EACjC,CAAEI,CAAgB,EAAId,EAAUH,EAAG,KAAK,IAAI,CAAE,EAC9C,CAAEkB,EAAWC,CAAW,EAAIhB,EAAUS,CAAY,EAElDQ,EAA+B,EAC9BT,GAAQ,IACXS,EAAO,EACGT,GAAQ,IAClBS,EAAO,IACGT,GAAQ,IAClBS,EAAO,EACGT,GAAQ,KAClBS,EAAO,EACGT,GAAQ,QAClBS,EAAO,GAET,IAAIC,EAAc,CAChB,MAAS,kCACT,KAAQ,0BACR,KAAQ,0BACR,KAAQ,yBACR,MAAS,mCACT,MAAS,OACX,EAAGX,CAAiB,EAEpB,OAAAN,EAAW,IAAM,CACf,IAAIkB,EAAUtB,EAAIC,EAAO,IAAI,EAAE,OAAQ,EACpC,KAAM,uBAAyBgB,EAAkB,IAAK,EACpDC,EACHI,EACG,YAAajB,EAAe,MAAO,CAAE,EACrC,MAAO,EAAG,EACV,SAAUA,EAAe,QAAS,CAAE,EAEvCiB,EACG,YAAajB,EAAe,QAAS,CAAE,EACvC,MAAO,GAAI,EACX,SAAUA,EAAe,MAAO,CAAE,CAEzC,EAAE,CAAEa,CAAW,CAAE,EAEjBd,EAAW,IAAM,CACfF,EAAS,IAAK,CACZ,IAAKe,EACL,MAAO,CACL,OAAUM,GAAqB,CACxBP,GAAWO,GAChBJ,EAAY,EAAK,CACnB,EACA,KAAQI,GAAqB,CACtBP,GAAWO,GAChBJ,EAAY,EAAM,CACpB,EACA,UAAW,IAAM,CACfA,EAAY,EAAM,CACpB,CACF,CACF,CAAE,CACJ,EAAE,CAAC,CAAE,EAEEpB,EAACO,EAAI,OAAJkB,EAAAC,EAAA,CACN,SAAWL,EACX,UAAY,CACVf,EAAe,YAAa,EAC5BO,EAAc,GAAKP,EAAe,MAAO,CAC3C,EAAE,KAAM,GAAI,EACZ,YAAcY,EACd,SAAS,YACJH,GARC,CAUN,UAAAhB,EAAC,OACC,UAAYO,EAAe,MAAO,EAClC,MAAM,MACN,OAAO,MACP,QAAQ,cACR,MAAQ,CACN,OAAQgB,CACV,EAEA,SAAAvB,EAAC,UAAO,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,EACjC,EACAA,EAAC,OACC,UAAYO,EAAe,MAAO,EAClC,MAAM,MACN,OAAO,MACP,QAAQ,cACR,MAAQ,CACN,OAAQgB,CACV,EAEA,SAAAvB,EAAC,UAAO,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,EACjC,IACF,CACF",
|
|
6
|
+
"names": ["jsx", "jsxs", "$$", "Config", "useStore", "useState", "useEffect", "LoaderClasses", "Row", "Mini", "params", "_a", "color", "size", "showInitial", "loaderID", "props", "__objRest", "val_key", "val_componentID", "val_active", "set_active", "Size", "BorderColor", "Wrapper", "keyCode", "__spreadProps", "__spreadValues"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../../chunk-E3D4DIO4.js";import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Config as t,useStore as c}from"@utils";import{useState as n,useEffect as C}from"react";import{LoaderClasses as o}from"@styles/componentClasses/_";import l from"@atoms/Box";import a from"@atoms/Flex";const d=()=>{let[s,i]=n(!1);return C(()=>{c.set({key:"Loader-top-"+t.get().sessionUID+"-corner",value:{active:()=>{i(!0)},stop:()=>{i(!1)}}})},[]),e(a,{className:[o("TopLoader"),o("Active_"+s)].join(" "),position:"fixed",top:0,left:0,right:0,bottom:0,horizontalAlign:"center",transition:"long",opacity:"trans",backgroundColor:"lcOpHigh",freeCSS:{paddingTop:12*8,pointerEvents:"none"},children:r(a,{flexType:"col",position:"relative",children:[e(a,{className:o("Center"),flexCenter:!0,children:r(l,{children:[e(l,{className:[o("Child"),o("Child1")].join(" "),children:e(l,{className:o("Circle"),backgroundColor:"tcDarken"})}),e(l,{className:[o("Child"),o("Child2")].join(" "),children:e(l,{className:o("Circle"),backgroundColor:"tcDarker"})}),e(l,{className:[o("Child"),o("Child3")].join(" "),children:e(l,{className:o("Circle"),backgroundColor:"tcDarkest"})}),e(l,{className:[o("Child"),o("Child4")].join(" "),children:e(l,{className:o("Circle"),backgroundColor:"tcLighten"})}),e(l,{className:[o("Child"),o("Child5")].join(" "),children:e(l,{className:o("Circle"),backgroundColor:"tcLighter"})}),e(l,{className:[o("Child"),o("Child6")].join(" "),children:e(l,{className:o("Circle"),backgroundColor:"tcLightest"})}),e(l,{className:[o("Child"),o("Child7")].join(" "),children:e(l,{className:o("Circle"),backgroundColor:"theme"})})]})}),e(l,{flexCenter:!0,fontSize:"2.normal",children:"Loading..."})]})})};export{d as Top};
|
|
2
|
+
//# sourceMappingURL=top.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/fn/Loader/top.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n Config,\n useStore\n} from '@utils'\nimport {\n useState,\n useEffect\n} from 'react'\nimport { LoaderClasses } from '@styles/componentClasses/_'\nimport Box from '@atoms/Box'\nimport Flex from '@atoms/Flex'\n\nconst Top = () => {\n let [ val_active,set_active ] = useState( false )\n\n useEffect( () => {\n useStore.set( {\n key: 'Loader-top-' + Config.get().sessionUID + '-corner',\n value: {\n active: () => {\n set_active( true )\n },\n stop: () => {\n set_active( false )\n }\n }\n } )\n },[] )\n\n return <Flex\n className={ [\n LoaderClasses( 'TopLoader' ),\n LoaderClasses( 'Active_' + val_active )\n ].join( ' ' ) }\n position='fixed'\n top={ 0 }\n left={ 0 }\n right={ 0 }\n bottom={ 0 }\n horizontalAlign='center'\n transition='long'\n opacity='trans'\n backgroundColor='lcOpHigh'\n freeCSS={ {\n paddingTop: 12 * 8,\n pointerEvents: 'none'\n } }\n >\n <Flex flexType='col' position='relative'>\n <Flex className={ LoaderClasses( 'Center' ) } flexCenter>\n <Box>\n <Box className={ [ LoaderClasses( 'Child' ),LoaderClasses( 'Child1' ) ].join( ' ' ) }>\n <Box className={ LoaderClasses( 'Circle' ) } backgroundColor='tcDarken' />\n </Box>\n <Box className={ [ LoaderClasses( 'Child' ),LoaderClasses( 'Child2' ) ].join( ' ' ) }>\n <Box className={ LoaderClasses( 'Circle' ) } backgroundColor='tcDarker' />\n </Box>\n <Box className={ [ LoaderClasses( 'Child' ),LoaderClasses( 'Child3' ) ].join( ' ' ) }>\n <Box className={ LoaderClasses( 'Circle' ) } backgroundColor='tcDarkest' />\n </Box>\n <Box className={ [ LoaderClasses( 'Child' ),LoaderClasses( 'Child4' ) ].join( ' ' ) }>\n <Box className={ LoaderClasses( 'Circle' ) } backgroundColor='tcLighten' />\n </Box>\n <Box className={ [ LoaderClasses( 'Child' ),LoaderClasses( 'Child5' ) ].join( ' ' ) }>\n <Box className={ LoaderClasses( 'Circle' ) } backgroundColor='tcLighter' />\n </Box>\n <Box className={ [ LoaderClasses( 'Child' ),LoaderClasses( 'Child6' ) ].join( ' ' ) }>\n <Box className={ LoaderClasses( 'Circle' ) } backgroundColor='tcLightest' />\n </Box>\n <Box className={ [ LoaderClasses( 'Child' ),LoaderClasses( 'Child7' ) ].join( ' ' ) }>\n <Box className={ LoaderClasses( 'Circle' ) } backgroundColor='theme' />\n </Box>\n </Box>\n </Flex>\n <Box\n flexCenter\n fontSize={ '2.normal' }\n >\n Loading...\n </Box>\n </Flex>\n </Flex>\n}\nexport { Top }"],
|
|
5
|
+
"mappings": "gCAkDQ,OAEI,OAAAA,EAFJ,QAAAC,MAAA,oBAlDR,OACE,UAAAC,EACA,YAAAC,MACK,SACP,OACE,YAAAC,EACA,aAAAC,MACK,QACP,OAAS,iBAAAC,MAAqB,6BAC9B,OAAOC,MAAS,aAChB,OAAOC,MAAU,cAEjB,MAAMC,EAAM,IAAM,CAChB,GAAI,CAAEC,EAAWC,CAAW,EAAIP,EAAU,EAAM,EAEhD,OAAAC,EAAW,IAAM,CACfF,EAAS,IAAK,CACZ,IAAK,cAAgBD,EAAO,IAAI,EAAE,WAAa,UAC/C,MAAO,CACL,OAAQ,IAAM,CACZS,EAAY,EAAK,CACnB,EACA,KAAM,IAAM,CACVA,EAAY,EAAM,CACpB,CACF,CACF,CAAE,CACJ,EAAE,CAAC,CAAE,EAEEX,EAACQ,EAAA,CACN,UAAY,CACVF,EAAe,WAAY,EAC3BA,EAAe,UAAYI,CAAW,CACxC,EAAE,KAAM,GAAI,EACZ,SAAS,QACT,IAAM,EACN,KAAO,EACP,MAAQ,EACR,OAAS,EACT,gBAAgB,SAChB,WAAW,OACX,QAAQ,QACR,gBAAgB,WAChB,QAAU,CACR,WAAY,GAAK,EACjB,cAAe,MACjB,EAEA,SAAAT,EAACO,EAAA,CAAK,SAAS,MAAM,SAAS,WAC5B,UAAAR,EAACQ,EAAA,CAAK,UAAYF,EAAe,QAAS,EAAI,WAAU,GACtD,SAAAL,EAACM,EAAA,CACC,UAAAP,EAACO,EAAA,CAAI,UAAY,CAAED,EAAe,OAAQ,EAAEA,EAAe,QAAS,CAAE,EAAE,KAAM,GAAI,EAChF,SAAAN,EAACO,EAAA,CAAI,UAAYD,EAAe,QAAS,EAAI,gBAAgB,WAAW,EAC1E,EACAN,EAACO,EAAA,CAAI,UAAY,CAAED,EAAe,OAAQ,EAAEA,EAAe,QAAS,CAAE,EAAE,KAAM,GAAI,EAChF,SAAAN,EAACO,EAAA,CAAI,UAAYD,EAAe,QAAS,EAAI,gBAAgB,WAAW,EAC1E,EACAN,EAACO,EAAA,CAAI,UAAY,CAAED,EAAe,OAAQ,EAAEA,EAAe,QAAS,CAAE,EAAE,KAAM,GAAI,EAChF,SAAAN,EAACO,EAAA,CAAI,UAAYD,EAAe,QAAS,EAAI,gBAAgB,YAAY,EAC3E,EACAN,EAACO,EAAA,CAAI,UAAY,CAAED,EAAe,OAAQ,EAAEA,EAAe,QAAS,CAAE,EAAE,KAAM,GAAI,EAChF,SAAAN,EAACO,EAAA,CAAI,UAAYD,EAAe,QAAS,EAAI,gBAAgB,YAAY,EAC3E,EACAN,EAACO,EAAA,CAAI,UAAY,CAAED,EAAe,OAAQ,EAAEA,EAAe,QAAS,CAAE,EAAE,KAAM,GAAI,EAChF,SAAAN,EAACO,EAAA,CAAI,UAAYD,EAAe,QAAS,EAAI,gBAAgB,YAAY,EAC3E,EACAN,EAACO,EAAA,CAAI,UAAY,CAAED,EAAe,OAAQ,EAAEA,EAAe,QAAS,CAAE,EAAE,KAAM,GAAI,EAChF,SAAAN,EAACO,EAAA,CAAI,UAAYD,EAAe,QAAS,EAAI,gBAAgB,aAAa,EAC5E,EACAN,EAACO,EAAA,CAAI,UAAY,CAAED,EAAe,OAAQ,EAAEA,EAAe,QAAS,CAAE,EAAE,KAAM,GAAI,EAChF,SAAAN,EAACO,EAAA,CAAI,UAAYD,EAAe,QAAS,EAAI,gBAAgB,QAAQ,EACvE,GACF,EACF,EACAN,EAACO,EAAA,CACC,WAAU,GACV,SAAW,WACZ,sBAED,GACF,EACF,CACF",
|
|
6
|
+
"names": ["jsx", "jsxs", "Config", "useStore", "useState", "useEffect", "LoaderClasses", "Box", "Flex", "Top", "val_active", "set_active"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TagProperty, ReactElement } from '../@declaration/_';
|
|
3
|
+
import { $$ } from '../@utils/_';
|
|
4
|
+
import Box from '../atoms/Box';
|
|
5
|
+
declare namespace Sheet {
|
|
6
|
+
type Methods = {
|
|
7
|
+
Wrapper(): JSX.Element;
|
|
8
|
+
open(params: Params): void;
|
|
9
|
+
refresh(params: Params, open: boolean): void;
|
|
10
|
+
resize(params: {
|
|
11
|
+
sheetID: string;
|
|
12
|
+
size: SizeParams;
|
|
13
|
+
}): void;
|
|
14
|
+
reposition(sheetID: string): void;
|
|
15
|
+
close(key: string, eventType?: 'Escape' | 'pageTransit', force?: boolean): void;
|
|
16
|
+
closeGroup(keyGroup: string): void;
|
|
17
|
+
closeAll(pageTransit?: boolean): void;
|
|
18
|
+
Comps: {
|
|
19
|
+
Body: React.FC<Box.Input>;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
type Params = NormalParams | EdgeParams | CustomParams | ImageParams | Bottom.Params;
|
|
23
|
+
type UniParams = {
|
|
24
|
+
sheetID?: string;
|
|
25
|
+
sheetGroups?: string | string[];
|
|
26
|
+
backgroundEffect?: boolean;
|
|
27
|
+
content: ReactElement | {
|
|
28
|
+
(): JSX.Element;
|
|
29
|
+
};
|
|
30
|
+
overwrap?: boolean;
|
|
31
|
+
close_option?: CloseOptions;
|
|
32
|
+
hold_state?: boolean;
|
|
33
|
+
openAfter?(): void;
|
|
34
|
+
closeAfter?(): void;
|
|
35
|
+
} & TagProperty.BasicElement;
|
|
36
|
+
type SizeParams = 'S' | 'R' | 'L' | '2L' | '3L' | 'MAX';
|
|
37
|
+
type CloseOptions = {
|
|
38
|
+
pageTransit?: boolean;
|
|
39
|
+
escapeKeyDown?: boolean;
|
|
40
|
+
aroundClick?: boolean;
|
|
41
|
+
elementBlur?: $$.Args;
|
|
42
|
+
};
|
|
43
|
+
type Sheet = 'normal.topLeft' | 'normal.topCenter' | 'normal.topRight' | 'normal.middleLeft' | 'normal.middleCenter' | 'normal.middleRight' | 'normal.bottomLeft' | 'normal.bottomCenter' | 'normal.bottomRight' | 'drawer.left' | 'drawer.right' | 'drawer.bottom' | 'custom' | 'image';
|
|
44
|
+
type NormalParams = UniParams & {
|
|
45
|
+
type: Sheet;
|
|
46
|
+
size?: SizeParams;
|
|
47
|
+
};
|
|
48
|
+
type EdgeParams = UniParams & {
|
|
49
|
+
type: Sheet;
|
|
50
|
+
size?: SizeParams;
|
|
51
|
+
};
|
|
52
|
+
type CustomParams = UniParams & {
|
|
53
|
+
type: 'custom';
|
|
54
|
+
parent: $$.Args;
|
|
55
|
+
gravityPoint?: number;
|
|
56
|
+
};
|
|
57
|
+
type ImageParams = Omit<UniParams, 'content'> & {
|
|
58
|
+
type: 'image';
|
|
59
|
+
src: string | string[];
|
|
60
|
+
};
|
|
61
|
+
namespace Bottom {
|
|
62
|
+
type Sizes = 'S' | 'R' | 'L';
|
|
63
|
+
type Params = UniParams & {
|
|
64
|
+
type: 'drawer.bottom';
|
|
65
|
+
size: Sizes;
|
|
66
|
+
sizeChanged?(size: Sizes): void;
|
|
67
|
+
baseStyles?: TagProperty.Params;
|
|
68
|
+
close_option?: CloseOptions & {
|
|
69
|
+
swipeDown?: boolean;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
declare const Sheet: Sheet.Methods;
|
|
75
|
+
export { Sheet, Sheet as default };
|
package/dist/fn/Sheet.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as d,c as B,d as O}from"../chunk-E3D4DIO4.js";import{jsx as n,jsxs as j}from"react/jsx-runtime";import{useState as z,useEffect as H,useRef as K}from"react";import{$$ as t,Config as R,useStore as _}from"@utils";import P from"@atoms/Box";import V from"@atoms/Img";import $ from"@atoms/FAI";import Z from"@atoms/Flex";import G from"@mols/Column";import U from"@mols/Row";import Y from"@fn/Button";import J from"@fn/Layout/_";import Q from"@fn/Input/_";import{SheetClasses as l}from"@styles/componentClasses/_";const h={mainSheetScrolls:0,subSheetLength:0,currentIndex:0,contents:{},Wrapper:()=>{let[e,o]=z(t.uuid.gen());_.set({key:"Sheet-"+R.get().sessionUID,value:{refresh:()=>{o(t.uuid.gen())}}}),H(()=>{t(document).addEvent({eventType:"keyup",callback:function(s){let{key:r,metaKey:f}=s;if(r=="Escape"||r==","&&f){let g=Object.values(h.contents).filter(S=>S.open);if(!g.length)return;let a=g.reduce((S,w)=>S.created_at.value>w.created_at.value?S:w);x.close(a.params.sheetID,r)}}}).addEvent({eventType:"click",callback:function(s){var g;let r=Object.values(h.contents).filter(a=>a.params.type=="custom");!r.length||r.find(a=>{let{params:S}=a,w=t(R.get().appRoot).find(S.parent),I=t(R.get().appRoot).find(s.target);return w[0]==I[0]||!!w.find(I).length})||(g=s.target)!=null&&g.closest("."+l("CustomSheet"))||r.forEach(a=>{var S;(S=a.params.close_option)!=null&&S.aroundClick&&x.close(a.params.sheetID)})}})},[]);let m=Object.entries(h.contents).map(([s,r])=>n(P,{id:"Sheet-"+s,children:n(h.Core,d({},r.params))}));return n(P,{className:["AMOTIFY_be",l("Wrapper")].join(" "),children:m})},addNewSheet:function(e){if(e=B(d({sheetGroups:e.sheetGroups||[],backgroundEffect:!0,overwrap:e.type=="custom",hold_state:!1},e),{sheetID:e.sheetID||t.uuid.gen(),close_option:d({pageTransit:!0,escapeKeyDown:!0,aroundClick:e.type=="custom"},e.close_option)}),this.contents[e.sheetID]){let m=_.get(e.sheetID);m&&m.refresh&&m.refresh(e,!0);return}this.contents[e.sheetID]={open:!0,hold_state:!!e.hold_state,params:e,created_at:t.Time()};let o=_.get("Sheet-"+R.get().sessionUID);o&&o.refresh()},Core:e=>{var y;let[o]=z(t.uuid.gen()),[m,s]=z(e),[r,f]=z(!0),{type:g,sheetID:a,openAfter:S,closeAfter:w}=m,I=!e.overwrap,v=h.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[g]];H(()=>{_.set({key:a,value:{refresh:(i,u)=>{s(i),f(u!=null?u:!1)},resize:i=>{if(g=="drawer.bottom"){let u=_.get(o);u&&u.resize&&u.resize(i)}else(m.type.includes("normal")||m.type.includes("drawer"))&&s(B(d({},m),{size:i}))},close:i=>{h.contents[a].open=!1,f(!1)},open:()=>{h.contents[a].open=!0,f(!0)}}})}),H(()=>{h.currentIndex++;let{close_option:i}=e;t.scope(()=>{if(!(i!=null&&i.elementBlur))return;let u=t(R.get().appRoot).find(i.elementBlur);u[0]&&u.addEvent({eventID:"SheetClosation-"+a,eventType:"mouseout",callback:()=>{x.close(a),t().removeEvent("SheetClosation-"+a)}})})},[]),H(()=>{t.scope(()=>{if(I&&e.backgroundEffect)if(h.subSheetLength=h.subSheetLength+(r?1:-1),r){let i=t("html");if(h.subSheetLength==1){let u=i[0].scrollTop;h.mainSheetScrolls=u}R.get().isPhone||(i.abort().addClass(l("FixHeight")).callback(()=>{t(R.get().appRoot).find(".AMOTIFY_be_root").addClass(l("FixScroll"))[0].scrollTop=h.mainSheetScrolls}).addClass([l("FloatMainSheet"),l("Type_"+g)])[0].scrollTop=0)}else{if(h.subSheetLength!=0||R.get().isPhone)return;t("html").abort().removeClass(l("FloatMainSheet")).await(251).removeClass(l("FixHeight")).callback(u=>{u[0].scrollTop=h.mainSheetScrolls|0,t(R.get().appRoot).find(".AMOTIFY_be_root")[0].scrollTop=0})}}),t.scope(()=>{let i=t(R.get().appRoot).find("#"+o);r?t(i).abort().await(10).removeClass(l("Hide")).await(10).addClass(l("Open")).callback(()=>{S&&S()}):t(i).abort().await(10).removeClass(l("Open")).await(251).addClass(l("Hide")).callback(()=>{!w||w(),!e.hold_state&&(delete h.contents[a],t(R.get().appRoot).find("#Sheet-"+a).remove(),t().removeEvent("SheetClosation-"+a))})})},[r]);let[T,C]=g.split(".");return n(P,{className:[l("Wrap"),l("Tcate_"+T),l("Tpos_"+C),l("isNewSheet_"+I)].join(" "),width:1,height:0,ssAbsoluteCovered:!0,freeCSS:{zIndex:h.currentIndex+1},id:o,children:j(G,{className:l("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[I?n(h.TapSensor,{sheetID:a,delegateAroundClick:(y=e.close_option)==null?void 0:y.aroundClick}):null,n(v,d({componentID:o},m))]})})},Types:{Normal:e=>{let u=e,{sheetID:o,sheetGroups:m,content:s,className:r="",type:f,size:g="R",freeCSS:a,openAfter:S,hold_state:w,overwrap:I}=u,v=O(u,["sheetID","sheetGroups","content","className","type","size","freeCSS","openAfter","hold_state","overwrap"]),[T,C]=f.split("."),y={},i=[];return C.match(/top/)?(i.push("top"),y.marginBottom="auto"):C.match(/middle/)?(i.push("center"),y.marginTop="auto",y.marginBottom="auto"):C.match(/bottom/)&&(i.push("bottom"),y.marginTop="auto"),C.match(/left/i)?(i.push("left"),y.marginRight="auto"):C.match(/center/i)?(i.push("center"),y.marginLeft="auto",y.marginRight="auto"):C.match(/right/i)&&(i.push("right"),y.marginLeft="auto"),n(P,B(d(d({className:[l("BB"),r].join(" "),transition:"long",opacity:"trans"},y),v),{freeCSS:d({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"95vw"}[g],maxWidth:"96vw",transformOrigin:i.join(" ")},a),children:t.is.function(s)?n(s,{}):s}))},Edge:e=>{let T=e,{sheetID:o,sheetGroups:m,type:s,content:r,className:f="",size:g="R",freeCSS:a,close_option:S,hold_state:w,overwrap:I}=T,v=O(T,["sheetID","sheetGroups","type","content","className","size","freeCSS","close_option","hold_state","overwrap"]);return n(P,B(d(d({opacity:"trans",transition:"long",position:"relative",backgroundColor:"1.layer.base",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark",className:[l("BB"),f].join(" ")},s=="drawer.right"?{marginLeft:"auto"}:s=="drawer.left"?{marginRight:"auto"}:{}),v),{freeCSS:d({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"95vw"}[g]},a),children:t.is.function(r)?n(r,{}):r}))},Bottom:e=>{let F=e,{componentID:o,sheetID:m,sheetGroups:s,content:r,size:f="R",sizeChanged:g,baseStyles:a,close_option:{swipeDown:S=!0}={},hold_state:w,overwrap:I}=F,v=O(F,["componentID","sheetID","sheetGroups","content","size","sizeChanged","baseStyles","close_option","hold_state","overwrap"]),T=t.getScreenSize(),C=[0,.2,.6,.95],y={ZERO:0,S:1,R:2,L:3},[i,u]=z(f),[N,M]=z({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:C[y[f]]});_.update({key:o,value:{val_edit:N,resize:k=>{let p=C[y[k]];M(B(d({},N),{value:p})),u(k)}}});const D={Start:k=>{t(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:D.Move}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:D.Move}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:D.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:D.End});let p=t.getCursor(k),c=B(d({},N),{process:!0,processStart:new Date().getTime(),originY:p.y,originValue:N.value,viewHeight:t.getScreenSize().height});_.update({key:o,value:{val_edit:c}}),M(c)},Move:k=>{var L;let p=(L=_.get(o))==null?void 0:L.val_edit;if(!p.process)return;let E=(t.getCursor(k).y-p.originY)/p.viewHeight,b=p.originValue-E;if(b>.95)b=.95+(b-.95)*.5;else if(b<.2){let A=.2-b;A-=.1,b=.1+(.1-A)*.5}M(B(d({},p),{value:b}))},End:k=>{var b;let p=(b=_.get(o))==null?void 0:b.val_edit;if(!p.process)return;t(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let c=0;if(p.value<.1||(p.value<.5?c=1:p.value>.75?c=3:c=2),new Date().getTime()-p.processStart<300){let L=t.getCursor(k).y-p.originY;if(Math.abs(L)>=20){let A=+(L<0)*2-1;c+=A,c=Math.min(Math.max(c,0),C.length-1)}}c==0&&(S||(c=1)),u(["ZERO","S","R","L"][c]),M(B(d({},p),{value:C[c],process:!1}))}},W=K(!1);return H(()=>{W.current?i=="ZERO"?S&&x.close(m):setTimeout(()=>{e.sizeChanged&&e.sizeChanged(i)},250):W.current=!0},[i]),n(P,{className:l("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:d({maxWidth:12*60,height:T.height*N.value},N.process?{transition:"0s"}:{}),children:j(G,B(d({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",border:!0,borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},a),{children:[j(U.Separate,{padding:"1/2",backgroundColor:"1.layer.base",position:"relative",freeCSS:{userSelect:"none"},children:[n(U.Center,{flexSizing:0,padding:"2/3",onMouseDown:D.Start,onTouchStart:D.Start,ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:n(P,{unitWidth:6,unitHeight:"1/2",backgroundColor:"5.layer.darker",isRounded:!0,className:l("DragBar")})}),n(Y.Button.Sub.R,{color:"cloud",ssSphere:2,onClick:()=>{x.close(m)},children:n($.Times,{})})]}),n(P,B(d({backgroundColor:"1.layer.base",flexSizing:0,overflow:"auto"},v),{children:t.is.function(r)?n(r,{}):r}))]}))})},Custom:e=>{let k=e,{sheetID:o,sheetGroups:m,parent:s,gravityPoint:r=22,content:f,close_option:g,hold_state:a,overwrap:S,openAfter:w,closeAfter:I}=k,v=O(k,["sheetID","sheetGroups","parent","gravityPoint","content","close_option","hold_state","overwrap","openAfter","closeAfter"]),[T]=z(t.uuid.gen()),C=t(R.get().appRoot).find(s),y=t(R.get().appRoot).find('[data-sheet-id="'+T+'"]'),i=t(R.get().appRoot).find('[data-sheet-content="'+T+'"]');r=r;let u=r%5||5,N=Math.ceil(r/5);const M=()=>{let p={},{top:c,right:E,bottom:b,left:L,height:A,width:X}=C.position();return[1,2].includes(u)?p.left=L:u==3?p.left=L+X/2:[4,5].includes(u)&&(p.left=E),r<=10?p.top=c:r<=15?p.top=c+A/2:r<=25&&(p.top=b),p};let[D,W]=z(M());const F=()=>{let p=y.position(),c=i.position(),E=t.getScreenSize(),b=d({},D);return c.top<0&&(b.top=p.top-c.top),c.left<0&&(b.left=p.left-c.left),c.right>E.width&&(b.left=p.left-(c.right-E.width)),c.bottom>E.height&&(b.top=p.top-(c.bottom-E.height)),b};return H(()=>{y.await(10).addClass(l("Open")).await(250).callback(()=>{W(F())}),_.update({key:"customSheet-"+e.sheetID,value:{reposition:()=>{setTimeout(()=>{W(F())},200)}}})},[]),C[0]?n(P,{className:[l("BB"),l("CustomSheet")].join(" "),"data-sheet-id":T,transition:"long",opacity:"trans",position:"absolute",width:0,height:0,flexCenter:!0,freeCSS:D,children:n(Z,{className:[l("GPT"),l("GPT_"+r),l("Col_"+u),l("Row_"+N)].join(" "),position:"absolute",children:n(P,B(d({flexSizing:"none","data-sheet-content":T,maxHeight:"viewHeight",overflow:"auto",padding:1},v),{freeCSS:d({maxWidth:"98vw"},v.freeCSS),children:t.is.function(f)?n(f,{}):f}))})}):null}},TapSensor:e=>n(Y.Button.Plain,{className:l("TapSensor"),onClick:()=>{var o;(o=e.delegateAroundClick)!=null&&o&&x.close(e.sheetID)},freeCSS:{cursor:"default"},children:n(P,{className:l("TapContent")})})},x={Wrapper:()=>n(h.Wrapper,{}),open:e=>{if(e.sheetID=(e.sheetID||"").replace(/\./g,"-"),e.type=="image"){let o=e,{type:m,sheetID:s=t.uuid.gen(),src:r}=o,f=O(o,["type","sheetID","src"]);x.open(B(d({type:"normal.topCenter",sheetID:s,backgroundColor:"trans",boxShadow:"none"},f),{close_option:d({},e.close_option),freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[g]=z(t.flatArray(r)),[a,S]=z(0),w=[],I=[];return g.forEach((v,T)=>{w.push({value:T,label:n(V,{src:t.flatArray(v)[0],width:"auto",height:1,freeCSS:{maxHeight:12*3}})}),I.push(n(V,{width:1,height:"auto",src:t.flatArray(v)[0]}))}),j(G,{gap:0,children:[j(U.Separate,{gap:2,padding:1,backgroundColor:"1.layer.base",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",children:[n(Q.Radio,{tone:"border",icon:!1,value:a,override:"force",horizontalAlign:"center",onUpdateValidValue:({value:v})=>{S(v[0])},cellStyles:{borderWidth:2,padding:"1/3"},options:w}),n(Y.Button.Sub.R,{color:"cloud",ssSphere:3,fontSize:"4.thirdTitle",onClick:()=>{x.close(s)},children:n($.Times,{})})]}),n(J.SwipeView,{slideIndex:a,options:{loop:g.length>1,onSlideCallback:v=>{S(v)}},slides:I,wrapper:v=>n(P,{borderBottomLeftRadius:"1.tone.primary",borderBottomRightRadius:"1.tone.primary",children:v})})]})}}));return}h.addNewSheet(e)},refresh:(e,o)=>{e.sheetID=(e.sheetID||"").replace(/\./g,"-");let m=_.get(e.sheetID);m&&m.refresh&&m.refresh(e,o)},resize:e=>{e.sheetID=(e.sheetID||"").replace(/\./g,"-");let o=_.get(e.sheetID);o&&o.resize&&o.resize(e.size)},reposition:e=>{let o=_.get("customSheet-"+e);o&&o.reposition&&o.reposition()},close:function(e,o,m){var r;let s;if(e=e==null?void 0:e.replace(/\./g,"-"),s=h.contents[e],!!s&&!(o=="Escape"&&!((r=s.params.close_option)!=null&&r.escapeKeyDown))){let{params:f}=s,{sheetID:g}=f,a=_.get(g);a&&a.close&&a.close(m)}},closeGroup:e=>{var o;e=(e||"").replace(/\./g,"-");for(let[m,s]of Object.entries(h.contents))(o=s.params.sheetGroups)!=null&&o.includes(e)&&x.close(m)},closeAll:e=>{var o;for(let[m,s]of Object.entries(h.contents))e&&((o=s.params.close_option)==null?void 0:o.pageTransit)==!1||x.close(m,"pageTransit",!0)},Comps:{Body:e=>n(P,d({className:l("BaseBody"),backgroundColor:"1.layer.base",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},e))}};export{x as Sheet,x as default};
|
|
2
|
+
//# sourceMappingURL=Sheet.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/fn/Sheet.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Time } from '@mingoo/jsmin'\nimport {\n TagProperty,\n ReactElement\n} from '@declaration'\nimport {\n useState,\n useEffect,\n useRef\n} from 'react'\n\nimport {\n $$,\n Config,\n useStore\n} from '@utils'\n\nimport Box from '@atoms/Box'\nimport Img from '@atoms/Img'\nimport FAI from '@atoms/FAI'\nimport Flex from '@atoms/Flex'\n\nimport Column from '@mols/Column'\nimport Row from '@mols/Row'\n\nimport Button from '@fn/Button'\nimport Layout from '@fn/Layout/_'\nimport Input from '@fn/Input/_'\n\nimport { SheetClasses } from '@styles/componentClasses/_'\n\nnamespace Sheet {\n export type Methods = {\n Wrapper(): JSX.Element\n\n open( params: Params ): void\n\n refresh( params: Params,open: boolean ): void\n resize( params: {\n sheetID: string\n size: SizeParams\n } ): void\n reposition( sheetID: string ): void\n\n close( key: string,eventType?: 'Escape' | 'pageTransit',force?: boolean ): void\n closeGroup( keyGroup: string ): void\n closeAll( pageTransit?: boolean ): void\n Comps: {\n Body: React.FC<Box.Input>\n }\n }\n export type Params = NormalParams | EdgeParams | CustomParams | ImageParams | Bottom.Params\n export type UniParams = {\n sheetID?: string\n sheetGroups?: string | string[]\n backgroundEffect?: boolean\n content: ReactElement | {\n (): JSX.Element\n }\n overwrap?: boolean\n close_option?: CloseOptions\n hold_state?: boolean\n\n openAfter?(): void\n closeAfter?(): void\n } & TagProperty.BasicElement\n export type SizeParams = 'S' | 'R' | 'L' | '2L' | '3L' | 'MAX'\n export type CloseOptions = {\n pageTransit?: boolean\n escapeKeyDown?: boolean\n aroundClick?: boolean\n elementBlur?: $$.Args\n }\n export type Sheet =\n 'normal.topLeft' |\n 'normal.topCenter' |\n 'normal.topRight' |\n 'normal.middleLeft' |\n 'normal.middleCenter' |\n 'normal.middleRight' |\n 'normal.bottomLeft' |\n 'normal.bottomCenter' |\n 'normal.bottomRight' |\n\n 'drawer.left' | 'drawer.right' | 'drawer.bottom' |\n\n 'custom' |\n 'image'\n export type NormalParams = UniParams & {\n type: Sheet\n size?: SizeParams\n }\n export type EdgeParams = UniParams & {\n type: Sheet\n size?: SizeParams\n }\n export type CustomParams = UniParams & {\n type: 'custom'\n parent: $$.Args\n gravityPoint?: number\n }\n export type ImageParams = Omit<UniParams,'content'> & {\n type: 'image'\n src: string | string[]\n }\n export namespace Bottom {\n export type Sizes = 'S' | 'R' | 'L'\n export type Params = UniParams & {\n type: 'drawer.bottom'\n size: Sizes\n sizeChanged?( size: Sizes ): void\n baseStyles?: TagProperty.Params\n close_option?: CloseOptions & {\n swipeDown?: boolean\n }\n }\n }\n}\n\n\nconst Comps = {\n mainSheetScrolls: 0,\n subSheetLength: 0,\n currentIndex: 0,\n contents: {} as {\n [ key: string ]: {\n open: boolean\n hold_state: boolean\n params: Sheet.Params\n created_at: Time.Chains\n }\n },\n Wrapper: () => {\n let [ val_refresh,set_refresh ] = useState( $$.uuid.gen() )\n\n useStore.set( {\n key: 'Sheet-' + Config.get().sessionUID,\n value: {\n refresh: () => {\n set_refresh( $$.uuid.gen() )\n }\n }\n } )\n useEffect( () => {\n $$( document )\n .addEvent( {\n eventType: 'keyup',\n callback: function ( event ) {\n let { key,metaKey } = event as any\n if ( key == 'Escape' || key == ',' && metaKey ) {\n let OpenSheets = Object.values( Comps.contents ).filter( ( elm ) => elm.open )\n if ( !OpenSheets.length ) return\n let latestSheet = OpenSheets.reduce( ( a,b ) => {\n return a.created_at.value > b.created_at.value ? a : b\n } )\n Sheet.close( latestSheet.params.sheetID!,key )\n }\n }\n } )\n .addEvent( {\n eventType: 'click',\n callback: function ( event ) {\n let customSheets = Object.values( Comps.contents ).filter( ( elm ) => elm.params.type == 'custom' )\n if ( !customSheets.length ) return\n let isParent = !!customSheets.find( ( customSheet ) => {\n let { params } = customSheet\n let Parent = $$( Config.get().appRoot ).find( ( params as Sheet.CustomParams ).parent )\n let Target = $$( Config.get().appRoot ).find( event.target )\n return Parent[ 0 ] == Target[ 0 ] || !!Parent.find( Target ).length\n } )\n if ( isParent ) return\n if ( event.target?.closest( '.' + SheetClasses( 'CustomSheet' ) ) ) return\n\n customSheets.forEach( ( customSheets ) => {\n if ( !!customSheets.params.close_option?.aroundClick ) {\n Sheet.close( customSheets.params.sheetID! )\n }\n } )\n }\n } )\n },[] )\n\n let Sheets = Object.entries( Comps.contents ).map( ( [ sheetID,Sheet ] ) => {\n return <Box id={ 'Sheet-' + sheetID }>\n <Comps.Core { ...Sheet.params } />\n </Box>\n } )\n\n return <Box\n className={ [\n \"AMOTIFY_be\",\n SheetClasses( 'Wrapper' )\n ].join( ' ' ) }\n children={ Sheets }\n />\n },\n addNewSheet: function ( params: Sheet.Params ) {\n params = {\n sheetGroups: params.sheetGroups || [],\n backgroundEffect: true,\n overwrap: params.type == 'custom' ? true : false,\n hold_state: false,\n ...params,\n sheetID: params.sheetID || $$.uuid.gen(),\n close_option: {\n pageTransit: true,\n escapeKeyDown: true,\n aroundClick: params.type == 'custom',\n ...params.close_option\n },\n }\n\n if ( this.contents[ params.sheetID! ] ) {\n /** open Exist Sheet */\n let component = useStore.get( params.sheetID! )\n if ( component && component.refresh ) component.refresh( params,true )\n return\n }\n\n this.contents[ params.sheetID! ] = {\n open: true,\n hold_state: !!params.hold_state,\n params: params,\n created_at: $$.Time()\n }\n\n let wrapper = useStore.get( 'Sheet-' + Config.get().sessionUID )\n wrapper && wrapper.refresh()\n },\n Core: ( params: Sheet.Params ) => {\n let [ val_componentID ] = useState( $$.uuid.gen() )\n let [ val_params,set_params ] = useState( params )\n let [ val_open,set_open ] = useState( true )\n\n let {\n type,\n sheetID,\n openAfter,\n closeAfter,\n } = val_params\n\n let isNewSheet = !params.overwrap\n\n let ContentFC: any = Comps.Types[ {\n 'normal.topLeft': 'Normal',\n 'normal.topCenter': 'Normal',\n 'normal.topRight': 'Normal',\n 'normal.middleLeft': 'Normal',\n 'normal.middleCenter': 'Normal',\n 'normal.middleRight': 'Normal',\n 'normal.bottomLeft': 'Normal',\n 'normal.bottomCenter': 'Normal',\n 'normal.bottomRight': 'Normal',\n 'image': 'Normal',\n\n 'drawer.left': 'Edge',\n 'drawer.right': 'Edge',\n 'drawer.bottom': 'Bottom',\n\n 'custom': 'Custom',\n }[ type ] as 'Normal' ]\n\n useEffect( () => {\n useStore.set( {\n key: sheetID!,\n value: {\n refresh: ( params: Sheet.Params,open?: boolean ) => {\n set_params( params )\n set_open( open ?? false )\n },\n resize: ( size: string ) => {\n if ( type == 'drawer.bottom' ) {\n let component = useStore.get( val_componentID )\n if ( component && component.resize ) component.resize( size )\n } else if (\n val_params.type.includes( 'normal' ) ||\n val_params.type.includes( 'drawer' )\n ) {\n set_params( {\n ...val_params,\n size: size\n } as any )\n }\n },\n close: ( force: boolean ) => {\n Comps.contents[ sheetID! ].open = false\n\n set_open( false )\n },\n open: () => {\n Comps.contents[ sheetID! ].open = true\n\n set_open( true )\n }\n }\n } )\n } )\n useEffect( () => {\n Comps.currentIndex++\n\n let {\n close_option\n } = params\n\n $$.scope( () => {\n if ( !close_option?.elementBlur ) return\n let element = $$( Config.get().appRoot ).find( close_option.elementBlur )\n if ( !element[ 0 ] ) return\n element.addEvent( {\n eventID: 'SheetClosation-' + sheetID!,\n eventType: 'mouseout',\n callback: () => {\n Sheet.close( sheetID! )\n\n $$().removeEvent( 'SheetClosation-' + sheetID! )\n }\n } )\n } )\n },[] )\n useEffect( () => {\n $$.scope( () => {\n if ( !isNewSheet ) return\n if ( !params.backgroundEffect ) return\n\n Comps.subSheetLength = Comps.subSheetLength + ( val_open ? 1 : -1 )\n if ( val_open ) {\n let html = $$( 'html' )\n\n if ( Comps.subSheetLength == 1 ) {\n let scroll = html[ 0 ].scrollTop\n Comps.mainSheetScrolls = scroll\n }\n\n if ( !Config.get().isPhone ) {\n html\n .abort()\n .addClass( SheetClasses( 'FixHeight' ) )\n .callback( () => {\n $$( Config.get().appRoot )\n .find( '.AMOTIFY_be_root' )\n .addClass( SheetClasses( 'FixScroll' ) )\n [ 0 ].scrollTop = Comps.mainSheetScrolls\n } )\n .addClass( [\n SheetClasses( 'FloatMainSheet' ),\n SheetClasses( 'Type_' + type )\n ] )\n [ 0 ].scrollTop = 0\n }\n } else {\n if ( Comps.subSheetLength != 0 ) return\n if ( Config.get().isPhone ) return\n let html = $$( 'html' )\n html\n .abort()\n .removeClass( SheetClasses( 'FloatMainSheet' ) )\n .await( 251 )\n .removeClass( SheetClasses( 'FixHeight' ) )\n .callback( ( html ) => {\n html[ 0 ].scrollTop = Comps.mainSheetScrolls | 0\n\n $$( Config.get().appRoot )\n .find( '.AMOTIFY_be_root' )\n [ 0 ].scrollTop = 0\n } )\n }\n } )\n $$.scope( () => {\n let Core = $$( Config.get().appRoot ).find( '#' + val_componentID )\n\n if ( val_open ) {\n $$( Core )\n .abort()\n .await( 10 )\n .removeClass( SheetClasses( 'Hide' ) )\n .await( 10 )\n .addClass( SheetClasses( 'Open' ) )\n .callback( () => {\n if ( openAfter ) openAfter()\n } )\n } else {\n $$( Core )\n .abort()\n .await( 10 )\n .removeClass( SheetClasses( 'Open' ) )\n .await( 251 )\n .addClass( SheetClasses( 'Hide' ) )\n .callback( () => {\n !closeAfter || closeAfter()\n\n if ( params.hold_state ) {\n return\n }\n delete Comps.contents[ sheetID! ]\n\n $$( Config.get().appRoot )\n .find( '#Sheet-' + sheetID )\n .remove()\n $$().removeEvent( 'SheetClosation-' + sheetID! )\n } )\n }\n } )\n },[ val_open ] )\n\n let [ Tcate,Tpos ] = type.split( '.' )\n\n return <Box\n className={ [\n SheetClasses( 'Wrap' ),\n SheetClasses( 'Tcate_' + Tcate ),\n SheetClasses( 'Tpos_' + Tpos ),\n SheetClasses( 'isNewSheet_' + isNewSheet ),\n ].join( ' ' ) }\n width={ 1 }\n height={ 0 }\n ssAbsoluteCovered\n freeCSS={ {\n zIndex: Comps.currentIndex + 1\n } }\n id={ val_componentID }\n >\n <Column\n className={ SheetClasses( 'Content' ) }\n gap={ 0 }\n height={ 'viewHeight' }\n overflow={ 'auto' }\n transition='middle'\n >\n { isNewSheet ? <Comps.TapSensor\n sheetID={ sheetID! }\n delegateAroundClick={ params.close_option?.aroundClick }\n /> : null }\n <ContentFC\n componentID={ val_componentID }\n { ...val_params }\n />\n </Column>\n </Box>\n },\n Types: {\n Normal: ( params: Sheet.NormalParams ) => {\n let {\n sheetID,\n sheetGroups,\n content: Content,\n className = '',\n type,\n size = 'R',\n freeCSS,\n openAfter,\n hold_state,\n overwrap,\n ...styles\n } = params\n let [ Tcate,Tpos ] = type.split( '.' )\n\n let SysStyles: TagProperty.Params = {}\n let transformOrigins: string[] = []\n\n if ( Tpos.match( /top/ ) ) {\n transformOrigins.push( 'top' )\n\n SysStyles.marginBottom = 'auto'\n } else if ( Tpos.match( /middle/ ) ) {\n transformOrigins.push( 'center' )\n\n SysStyles.marginTop = 'auto'\n SysStyles.marginBottom = 'auto'\n } else if ( Tpos.match( /bottom/ ) ) {\n transformOrigins.push( 'bottom' )\n\n SysStyles.marginTop = 'auto'\n }\n\n if ( Tpos.match( /left/i ) ) {\n transformOrigins.push( 'left' )\n\n SysStyles.marginRight = 'auto'\n } else if ( Tpos.match( /center/i ) ) {\n transformOrigins.push( 'center' )\n\n SysStyles.marginLeft = 'auto'\n SysStyles.marginRight = 'auto'\n } else if ( Tpos.match( /right/i ) ) {\n transformOrigins.push( 'right' )\n\n SysStyles.marginLeft = 'auto'\n }\n\n return <Box\n className={ [\n SheetClasses( 'BB' ),\n className\n ].join( ' ' ) }\n\n transition='long'\n opacity='trans'\n { ...SysStyles }\n { ...styles }\n freeCSS={ {\n width: {\n 'S': '26rem',\n 'R': '36rem',\n 'L': '44rem',\n '2L': '60rem',\n '3L': '72rem',\n 'MAX': '95vw'\n }[ size ],\n maxWidth: '96vw',\n transformOrigin: transformOrigins.join( ' ' ),\n ...freeCSS\n } }\n children={ $$.is.function( Content ) ? <Content /> : Content }\n />\n },\n Edge: ( params: Sheet.NormalParams ) => {\n let {\n sheetID,\n sheetGroups,\n type,\n content: Content,\n className = '',\n size = 'R',\n freeCSS,\n close_option,\n hold_state,\n overwrap,\n ...styles\n } = params\n\n return <Box\n opacity='trans'\n transition='long'\n position='relative'\n backgroundColor={ '1.layer.base' }\n flexSizing={ 'none' }\n minHeight={ 'viewHeight' }\n boxShadow={ '3.remark' }\n className={ [\n SheetClasses( 'BB' ),\n className\n ].join( ' ' ) }\n { ...type == 'drawer.right' ? {\n marginLeft: 'auto'\n } : type == 'drawer.left' ? {\n marginRight: 'auto'\n } : {} }\n { ...styles }\n freeCSS={ {\n width: {\n 'S': '20rem',\n 'R': '27rem',\n 'L': '32rem',\n '2L': '40rem',\n '3L': '58rem',\n 'MAX': '95vw'\n }[ size ],\n ...freeCSS\n } }\n children={ $$.is.function( Content ) ? <Content /> : Content }\n />\n },\n Bottom: ( params: Sheet.Bottom.Params ) => {\n let {\n componentID,\n sheetID,\n sheetGroups,\n content: Content,\n size = 'R',\n sizeChanged,\n baseStyles,\n close_option: {\n swipeDown = true,\n } = {},\n hold_state,\n overwrap,\n ...styles\n } = params\n let screen = $$.getScreenSize()\n\n let sizeArray = [ 0,.2,.6,.95 ]\n let SizeSets = {\n 'ZERO': 0,\n 'S': 1,\n 'R': 2,\n 'L': 3\n }\n\n let [ val_stableSize,set_stableSize ] = useState( size as any )\n let [ val_edit,set_edit ] = useState( {\n process: false,\n processStart: 0,\n originY: 0,\n originValue: 0,\n viewHeight: 0,\n value: sizeArray[ SizeSets[ size ] ]\n } )\n\n useStore.update( {\n key: componentID!,\n value: {\n val_edit,\n resize: ( size: Sheet.Bottom.Sizes ) => {\n let Size = sizeArray[ SizeSets[ size ] ]\n set_edit( {\n ...val_edit,\n value: Size\n } )\n set_stableSize( size )\n }\n }\n } )\n\n const Effects = {\n Start: ( event: any ) => {\n $$( document ).addEvent( { eventID: 'BottomSheetMouseMove',eventType: 'mousemove',callback: Effects.Move } )\n .addEvent( { eventID: 'BottomSheetTouchMove',eventType: 'touchmove',callback: Effects.Move } )\n .addEvent( { eventID: 'BottomSheetMouseUp',eventType: 'mouseup',callback: Effects.End } )\n .addEvent( { eventID: 'BottomSheetTouchEnd',eventType: 'touchend',callback: Effects.End } )\n\n let cursor = $$.getCursor( event )\n let newEditInfo = {\n ...val_edit,\n process: true,\n processStart: new Date().getTime(),\n originY: cursor.y,\n originValue: val_edit.value,\n viewHeight: $$.getScreenSize().height,\n }\n useStore.update( {\n key: componentID!,\n value: {\n val_edit: newEditInfo\n }\n } )\n set_edit( newEditInfo )\n },\n Move: ( event: any ) => {\n let editInfo = useStore.get( componentID! )?.val_edit as typeof val_edit\n if ( !editInfo.process ) return\n\n let margin = $$.getCursor( event ).y - editInfo.originY\n let marginRate = margin / editInfo.viewHeight\n let newRate = editInfo.originValue - marginRate\n\n if ( newRate > .95 ) {\n let margin = newRate - .95\n newRate = .95 + margin * .5\n } else if ( newRate < .2 ) {\n let margin = .2 - newRate\n margin -= .1\n newRate = .1 + ( .1 - margin ) * .5\n }\n\n set_edit( {\n ...editInfo,\n value: newRate\n } )\n },\n End: ( event: any ) => {\n let editInfo = useStore.get( componentID! )?.val_edit as typeof val_edit\n if ( !editInfo.process ) return\n $$( document ).removeEvent( [\n 'BottomSheetMouseMove',\n 'BottomSheetTouchMove',\n 'BottomSheetMouseUp',\n 'BottomSheetTouchEnd'\n ] )\n\n let sizeIndex = 0\n if ( editInfo.value < .1 ) {\n } else if ( editInfo.value < .5 ) {\n sizeIndex = 1\n } else if ( editInfo.value > .75 ) {\n sizeIndex = 3\n } else {\n sizeIndex = 2\n }\n\n let ms = new Date().getTime() - editInfo.processStart\n if ( ms < 300 ) {\n let margin = $$.getCursor( event ).y - editInfo.originY\n if ( Math.abs( margin ) >= 20 ) {\n let dir = Number( margin < 0 ) * 2 - 1\n sizeIndex += dir\n sizeIndex = Math.min( Math.max( sizeIndex,0 ),sizeArray.length - 1 )\n }\n }\n\n if ( sizeIndex == 0 ) {\n if ( !swipeDown ) sizeIndex = 1\n }\n set_stableSize( [ 'ZERO','S','R','L' ][ sizeIndex ] as any )\n set_edit( {\n ...editInfo,\n value: sizeArray[ sizeIndex ],\n process: false\n } )\n }\n }\n\n const mounted = useRef( false )\n useEffect( () => {\n if ( mounted.current ) {\n if ( val_stableSize == 'ZERO' ) {\n if ( swipeDown ) Sheet.close( sheetID! )\n } else {\n setTimeout( () => {\n if ( params.sizeChanged ) params.sizeChanged( val_stableSize )\n },250 )\n }\n } else {\n mounted.current = true\n }\n },[ val_stableSize ] )\n\n return <Box\n className={ SheetClasses( 'BB' ) }\n margin={ [ 0,'auto' ] }\n marginTop={ 'auto' }\n opacity='trans'\n width={ 1 }\n transition='long'\n freeCSS={ {\n maxWidth: 12 * 60,\n height: screen.height * val_edit.value,\n ...val_edit.process ? {\n transition: '0s'\n } : {},\n } }\n >\n <Column\n gap={ 0 }\n flexSizing={ 'none' }\n borderTopLeftRadius={ '1.tone.primary' }\n borderTopRightRadius={ '1.tone.primary' }\n border\n borderBottom='unset'\n boxShadow={ '3.remark' }\n position='relative'\n overflow={ 'hidden' }\n height={ 1 }\n { ...baseStyles }\n >\n <Row.Separate\n padding={ '1/2' }\n backgroundColor='1.layer.base'\n position='relative'\n freeCSS={ {\n userSelect: 'none'\n } }\n >\n <Row.Center\n flexSizing={ 0 }\n padding={ '2/3' }\n onMouseDown={ Effects.Start }\n onTouchStart={ Effects.Start }\n ssPushable\n isRounded\n freeCSS={ {\n cursor: 'grab',\n userSelect: 'none'\n } }\n >\n <Box\n unitWidth={ 6 }\n unitHeight={ '1/2' }\n backgroundColor='5.layer.darker'\n isRounded\n className={ SheetClasses( 'DragBar' ) }\n />\n </Row.Center>\n\n <Button.Button.Sub.R\n color='cloud'\n ssSphere={ 2 }\n onClick={ () => {\n Sheet.close( sheetID! )\n } }\n >\n <FAI.Times />\n </Button.Button.Sub.R>\n </Row.Separate>\n <Box\n backgroundColor={ '1.layer.base' }\n flexSizing={ 0 }\n overflow={ 'auto' }\n { ...styles }\n >\n { $$.is.function( Content ) ? <Content /> : Content }\n </Box>\n </Column>\n </Box>\n },\n Custom: ( params: Sheet.CustomParams ) => {\n let {\n sheetID,\n sheetGroups,\n parent,\n gravityPoint: GPT = 22,\n content: Content,\n close_option,\n hold_state,\n overwrap,\n openAfter,\n closeAfter,\n ...others\n } = params\n\n let [ val_componentID ] = useState( $$.uuid.gen() )\n let Parent = $$( Config.get().appRoot ).find( parent )\n\n let Query = $$( Config.get().appRoot ).find( '[data-sheet-id=\"' + val_componentID + '\"]' )\n let ContentQuery = $$( Config.get().appRoot ).find( '[data-sheet-content=\"' + val_componentID + '\"]' )\n\n GPT = GPT!\n let column = GPT % 5 || 5\n let row = Math.ceil( GPT / 5 )\n\n const getWrapperCSS = () => {\n let WrapperCSS: React.CSSProperties = {}\n let { top,right,bottom,left,height,width } = Parent.position()\n\n if ( [ 1,2 ].includes( column ) ) {\n WrapperCSS.left = left\n } else if ( column == 3 ) {\n WrapperCSS.left = left + width / 2\n } else if ( [ 4,5 ].includes( column ) ) {\n WrapperCSS.left = right\n }\n\n if ( GPT <= 10 ) {\n WrapperCSS.top = top\n } else if ( GPT <= 15 ) {\n WrapperCSS.top = top + height / 2\n } else if ( GPT <= 25 ) {\n WrapperCSS.top = bottom\n }\n return WrapperCSS\n }\n\n let [ val_Styles,set_Styles ] = useState( getWrapperCSS() )\n const AdjustExtrusion = () => {\n let BaseRect = Query.position()\n let ContentRect = ContentQuery.position()\n let screen = $$.getScreenSize()\n\n let newStyles = { ...val_Styles }\n if ( ContentRect.top < 0 ) {\n newStyles.top = BaseRect.top - ContentRect.top\n }\n if ( ContentRect.left < 0 ) {\n newStyles.left = BaseRect.left - ContentRect.left\n }\n if ( ContentRect.right > screen.width ) {\n newStyles.left = BaseRect.left - ( ContentRect.right - screen.width )\n }\n if ( ContentRect.bottom > screen.height ) {\n newStyles.top = BaseRect.top - ( ContentRect.bottom - screen.height )\n }\n\n return newStyles\n }\n\n useEffect( () => {\n Query\n .await( 10 )\n .addClass( SheetClasses( 'Open' ) )\n .await( 250 )\n .callback( () => {\n set_Styles( AdjustExtrusion() )\n } )\n\n useStore.update( {\n key: 'customSheet-' + params.sheetID!,\n value: {\n reposition: () => {\n setTimeout( () => {\n set_Styles( AdjustExtrusion() )\n },200 )\n }\n }\n } )\n },[] )\n\n if ( !Parent[ 0 ] ) return null\n\n return <Box\n className={ [\n SheetClasses( 'BB' ),\n SheetClasses( 'CustomSheet' )\n ].join( ' ' ) }\n data-sheet-id={ val_componentID }\n transition='long'\n opacity='trans'\n position='absolute'\n width={ 0 }\n height={ 0 }\n flexCenter\n freeCSS={ val_Styles }\n >\n <Flex\n className={ [\n SheetClasses( 'GPT' ),\n SheetClasses( 'GPT_' + GPT ),\n SheetClasses( 'Col_' + column ),\n SheetClasses( 'Row_' + row ),\n ].join( ' ' ) }\n position='absolute'\n >\n <Box\n flexSizing={ 'none' }\n data-sheet-content={ val_componentID }\n maxHeight={ 'viewHeight' }\n overflow={ 'auto' }\n padding={ 1 }\n { ...others }\n freeCSS={ {\n maxWidth: '98vw',\n ...others.freeCSS\n } }\n >\n { $$.is.function( Content ) ? <Content /> : Content }\n </Box>\n </Flex>\n </Box>\n },\n },\n TapSensor: ( params: {\n sheetID: string\n delegateAroundClick?: boolean\n } ) => ( <Button.Button.Plain\n className={ SheetClasses( 'TapSensor' ) }\n onClick={ () => {\n if ( params.delegateAroundClick ?? false ) Sheet.close( params.sheetID )\n } }\n freeCSS={ {\n cursor: 'default'\n } }\n >\n <Box\n className={ SheetClasses( 'TapContent' ) }\n />\n </Button.Button.Plain> )\n}\n\nconst Sheet: Sheet.Methods = {\n Wrapper: () => ( <Comps.Wrapper /> ),\n open: ( params ) => {\n params.sheetID = ( params.sheetID || '' ).replace( /\\./g,'-' )\n if ( params.type == 'image' ) {\n let {\n type,\n sheetID = $$.uuid.gen(),\n src,\n ...others\n } = params as Sheet.ImageParams\n\n Sheet.open( {\n type: 'normal.topCenter',\n sheetID: sheetID,\n backgroundColor: 'trans',\n boxShadow: 'none',\n ...others,\n close_option: {\n ...params.close_option,\n },\n freeCSS: {\n maxWidth: '96vw',\n transformOrigin: 'top'\n },\n content: () => {\n let [ val_image ] = useState( $$.flatArray( src ) )\n let [ val_viewIndex,set_viewIndex ] = useState( 0 )\n\n let Radio: Input.List.Options[] = []\n let Slides: ReactElement[] = []\n val_image.forEach( ( src,index ) => {\n Radio.push( {\n value: index,\n label: <Img\n src={ $$.flatArray( src )[ 0 ] }\n width={ 'auto' }\n height={ 1 }\n freeCSS={ {\n maxHeight: 12 * 3\n } }\n />\n } )\n Slides.push( <Img\n width={ 1 }\n height={ 'auto' }\n src={ $$.flatArray( src )[ 0 ] }\n /> )\n } )\n return <Column\n gap={ 0 }\n >\n <Row.Separate\n gap={ 2 }\n padding={ 1 }\n backgroundColor='1.layer.base'\n borderTopLeftRadius={ '1.tone.primary' }\n borderTopRightRadius={ '1.tone.primary' }\n >\n <Input.Radio\n tone='border'\n icon={ false }\n value={ val_viewIndex }\n override='force'\n horizontalAlign='center'\n onUpdateValidValue={ ( { value } ) => {\n set_viewIndex( value[ 0 ] )\n } }\n cellStyles={ {\n borderWidth: 2,\n padding: '1/3'\n } }\n options={ Radio }\n />\n <Button.Button.Sub.R\n color='cloud'\n ssSphere={ 3 }\n fontSize={ '4.thirdTitle' }\n onClick={ () => {\n Sheet.close( sheetID! )\n } }\n >\n <FAI.Times />\n </Button.Button.Sub.R>\n </Row.Separate>\n <Layout.SwipeView\n slideIndex={ val_viewIndex }\n options={ {\n loop: val_image.length > 1,\n onSlideCallback: ( index ) => {\n set_viewIndex( index )\n }\n } }\n slides={ Slides }\n wrapper={ ( View ) => ( <Box\n borderBottomLeftRadius={ '1.tone.primary' }\n borderBottomRightRadius={ '1.tone.primary' }\n >\n { View }\n </Box> ) }\n />\n </Column>\n },\n } )\n return\n }\n Comps.addNewSheet( params )\n },\n refresh: ( params,open ) => {\n params.sheetID = ( params.sheetID || '' ).replace( /\\./g,'-' )\n\n let comps = useStore.get( params.sheetID! )\n comps && comps.refresh && comps.refresh( params,open )\n },\n resize: ( params ) => {\n params.sheetID = ( params.sheetID || '' ).replace( /\\./g,'-' )\n let comps = useStore.get( params.sheetID! )\n comps && comps.resize && comps.resize( params.size )\n },\n reposition: ( sheetID ) => {\n let Comps = useStore.get( 'customSheet-' + sheetID )\n Comps && Comps.reposition && Comps.reposition()\n },\n close: function ( sheetID,et,force ) {\n let Content\n sheetID = sheetID?.replace( /\\./g,'-' )\n Content = Comps.contents[ sheetID ]\n\n if ( !Content ) return\n if ( et == 'Escape' && !Content.params.close_option?.escapeKeyDown ) return\n\n {\n let { params } = Content\n let { sheetID } = params\n\n let component = useStore.get( sheetID! )\n component && component.close && component.close( force )\n }\n },\n closeGroup: ( sheetGroup ) => {\n sheetGroup = ( sheetGroup || '' ).replace( /\\./g,'-' )\n\n for ( let [ key,value ] of Object.entries( Comps.contents ) ) {\n if ( value.params.sheetGroups?.includes( sheetGroup ) ) Sheet.close( key )\n }\n },\n closeAll: ( pageTransit ) => {\n for ( let [ key,value ] of Object.entries( Comps.contents ) ) {\n if ( pageTransit ) {\n if ( value.params.close_option?.pageTransit == false ) continue\n }\n Sheet.close( key,'pageTransit',true )\n }\n },\n Comps: {\n Body: ( params ) => ( <Box\n className={ SheetClasses( 'BaseBody' ) }\n backgroundColor='1.layer.base'\n borderRadius={ '1.tone.primary' }\n position='relative'\n boxShadow={ '3.remark' }\n transition='long'\n { ...params }\n /> ),\n }\n}\n\nexport {\n Sheet,\n Sheet as default\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "useState", "useEffect", "useRef", "$$", "Config", "useStore", "Box", "Img", "FAI", "Flex", "Column", "Row", "Button", "Layout", "Input", "SheetClasses", "Comps", "val_refresh", "set_refresh", "event", "key", "metaKey", "OpenSheets", "elm", "latestSheet", "a", "b", "Sheet", "_a", "customSheets", "customSheet", "params", "Parent", "Target", "Sheets", "sheetID", "__spreadValues", "__spreadProps", "component", "wrapper", "val_componentID", "val_params", "set_params", "val_open", "set_open", "type", "openAfter", "closeAfter", "isNewSheet", "ContentFC", "open", "size", "force", "close_option", "element", "html", "scroll", "Core", "Tcate", "Tpos", "sheetGroups", "Content", "className", "freeCSS", "hold_state", "overwrap", "styles", "__objRest", "SysStyles", "transformOrigins", "componentID", "sizeChanged", "baseStyles", "swipeDown", "screen", "sizeArray", "SizeSets", "val_stableSize", "set_stableSize", "val_edit", "set_edit", "Size", "Effects", "cursor", "newEditInfo", "editInfo", "marginRate", "newRate", "margin", "sizeIndex", "dir", "mounted", "parent", "GPT", "others", "Query", "ContentQuery", "column", "row", "getWrapperCSS", "WrapperCSS", "top", "right", "bottom", "left", "height", "width", "val_Styles", "set_Styles", "AdjustExtrusion", "BaseRect", "ContentRect", "newStyles", "src", "val_image", "val_viewIndex", "set_viewIndex", "Radio", "Slides", "index", "value", "View", "comps", "et", "sheetGroup", "pageTransit"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ReactElement } from '../@declaration/_';
|
|
3
|
+
import Box from '../atoms/Box';
|
|
4
|
+
declare namespace Snackbar {
|
|
5
|
+
type Methods = {
|
|
6
|
+
add(props: AddParams): Snackbar.Methods;
|
|
7
|
+
remove(snackID: string): Snackbar.Methods;
|
|
8
|
+
Wrapper(): JSX.Element;
|
|
9
|
+
};
|
|
10
|
+
type AddParams = Omit<Box.Input, 'children'> & {
|
|
11
|
+
children?: ReactElement | {
|
|
12
|
+
(): JSX.Element;
|
|
13
|
+
};
|
|
14
|
+
customChildren?: {
|
|
15
|
+
(params: {
|
|
16
|
+
close(): void;
|
|
17
|
+
}): JSX.Element;
|
|
18
|
+
};
|
|
19
|
+
snackID?: string;
|
|
20
|
+
secondsToClose?: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
declare const Snackbar: Snackbar.Methods;
|
|
24
|
+
export { Snackbar, Snackbar as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as m,c,d as C}from"../chunk-E3D4DIO4.js";import{Fragment as A,jsx as a,jsxs as O}from"react/jsx-runtime";import{createElement as P}from"react";import{$$ as o,Config as f,useStore as p}from"@utils";import{useState as k,useEffect as D}from"react";import x from"@atoms/Box";import w from"@atoms/Flex";import y from"@atoms/FAI";import E from"@mols/Row";import R from"@fn/Button";import{SnackbarClasses as g}from"@styles/componentClasses/_";const u={add:function(l){return p.get("Snackbar-"+f.get().sessionUID).add(l),this},remove:function(l){return p.get("Snackbar-"+f.get().sessionUID).remove(l),this},Wrapper:()=>a(B.Wrapper,{})},B={Cell:l=>{let b=l,{snackID:i,secondsToClose:n=10,componentID:S=o.uuid.gen(),children:d,customChildren:e}=b,r=C(b,["snackID","secondsToClose","componentID","children","customChildren"]),[t]=k(S),[s,h]=k(!1);D(()=>{let v=o(f.get().appRoot).find('[data-component-id="'+t+'"]');setTimeout(()=>{v.addClass(g("FadeIn"))},10),p.set({key:"Snackbar-"+i,value:{remove:()=>{v.addClass(g("FadeOut"))}}})},[]),D(()=>{o.interval.clear("Snackbar-"+t),s||setTimeout(()=>{o.interval.standBy("Snackbar-"+t,n*1e3,()=>{s||u.remove(i)})},100)},[s]);let I=a(A,{});return e?I=a(e,{close:()=>{u.remove(i)}}):I=O(E.Separate,{verticalAlign:"top",children:[a(x,{padding:["1/4",0],flexSizing:0,children:o.is.function(d)?a(d,{}):d}),a(R.Button.Clear.R,{color:"layer",backgroundColor:"lcOpLow",fontColor:"white",ssSphere:2.5,onClick:()=>{u.remove(i)},children:a(y.Times,{})})]}),a(x,c(m({className:g("Cell"),opacity:"trans",width:1,padding:"2/3",marginBottom:1,borderRadius:"1.tone.primary",fontColor:"white",boxShadow:"1.remark",backgroundColor:"dark",transition:"middle",componentID:t,onMouseOver:()=>{h(!0)},onMouseOut:()=>{h(!1)}},r),{children:I}))},Wrapper:()=>{let[l,i]=k(o.uuid.gen()),[n,S]=k([]);p.set({key:"Snackbar-"+f.get().sessionUID,value:{add:e=>{e.snackID=e.snackID||o.uuid.gen();let r=n.findIndex(t=>t.snackID==e.snackID);if(r==-1)n.unshift(c(m({},e),{snackID:e.snackID}));else{let t=[...n];t[r]=c(m({},e),{snackID:e.snackID}),n=t}i(o.uuid.gen())},remove:e=>{let r=p.get("Snackbar-"+e);r&&r.remove&&(r.remove(),setTimeout(()=>{let t=n.findIndex(s=>s.snackID==e);if(t!=-1){let s=[...n];s.splice(t,1),n=s,i(o.uuid.gen())}},210))}}});let d=n.map(e=>P(B.Cell,c(m({},e),{key:e.snackID})));return a(w,{className:["AMOTIFY_be",g("Wrapper")].join(" "),position:"fixed",right:0,bottom:0,paddingLeft:0,paddingRight:1,paddingBottom:"safeAreaBottom",verticalAlign:"bottom",children:d,overflow:"auto",UnderBreakPointStyles:{left:0,paddingLeft:1,width:"auto"}})}};export{u as Snackbar,u as default};
|
|
2
|
+
//# sourceMappingURL=Snackbar.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/fn/Snackbar.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n ReactElement\n} from '@declaration'\nimport {\n $$,\n Config,\n useStore\n} from '@utils'\nimport {\n useState,\n useEffect\n} from 'react'\n\nimport Box from '@atoms/Box'\nimport Flex from '@atoms/Flex'\nimport FAI from '@atoms/FAI'\nimport Row from '@mols/Row'\nimport Button from '@fn/Button'\n\nimport { SnackbarClasses } from '@styles/componentClasses/_'\n\nnamespace Snackbar {\n export type Methods = {\n add( props: AddParams ): Snackbar.Methods\n remove( snackID: string ): Snackbar.Methods\n Wrapper(): JSX.Element\n }\n export type AddParams = Omit<Box.Input,'children'> & {\n children?: ReactElement | {\n (): JSX.Element\n }\n customChildren?: {\n ( params: {\n close(): void\n } ): JSX.Element\n }\n snackID?: string\n secondsToClose?: number\n }\n}\n\n\nconst Snackbar: Snackbar.Methods = {\n add: function ( params ) {\n useStore.get( 'Snackbar-' + Config.get().sessionUID ).add( params )\n return this\n },\n remove: function ( val_componentID ) {\n useStore.get( 'Snackbar-' + Config.get().sessionUID ).remove( val_componentID )\n return this\n },\n Wrapper: () => {\n return <Comps.Wrapper />\n }\n}\n\ntype ElementParams = Snackbar.AddParams & {\n snackID: string\n}\n\nconst Comps = {\n Cell: ( props: ElementParams ) => {\n let {\n snackID,\n secondsToClose = 10,\n componentID = $$.uuid.gen(),\n children: Children,\n customChildren: CustomChildren,\n ...others\n } = props\n\n let [ val_componentID ] = useState( componentID )\n let [ val_mouseOn,set_mouseOn ] = useState( false )\n\n useEffect( () => {\n let Wrapper = $$( Config.get().appRoot ).find( '[data-component-id=\"' + val_componentID + '\"]' )\n setTimeout( () => {\n Wrapper.addClass( SnackbarClasses( 'FadeIn' ) )\n },10 )\n\n useStore.set( {\n key: 'Snackbar-' + snackID,\n value: {\n remove: () => {\n Wrapper.addClass( SnackbarClasses( 'FadeOut' ) )\n }\n }\n } )\n },[] )\n\n useEffect( () => {\n $$.interval.clear( 'Snackbar-' + val_componentID )\n if ( !val_mouseOn ) {\n setTimeout( () => {\n $$.interval.standBy(\n 'Snackbar-' + val_componentID,\n secondsToClose * 1000,\n () => {\n if ( !val_mouseOn ) Snackbar.remove( snackID )\n }\n )\n },100 )\n }\n },[ val_mouseOn ] )\n\n let Content: ReactElement = <></>\n if ( CustomChildren ) {\n Content = <CustomChildren\n close={ () => {\n Snackbar.remove( snackID )\n } }\n />\n } else {\n Content = <Row.Separate\n verticalAlign='top'\n >\n <Box\n padding={ [ '1/4',0 ] }\n flexSizing={ 0 }\n >\n { $$.is.function( Children ) ? <Children /> : Children }\n </Box>\n <Button.Button.Clear.R\n color='layer'\n backgroundColor='lcOpLow'\n fontColor='white'\n ssSphere={ 2.5 }\n onClick={ () => {\n Snackbar.remove( snackID )\n } }\n >\n <FAI.Times />\n </Button.Button.Clear.R>\n </Row.Separate>\n }\n\n return <Box\n className={ SnackbarClasses( 'Cell' ) }\n opacity='trans'\n width={ 1 }\n padding={ '2/3' }\n marginBottom={ 1 }\n borderRadius={ '1.tone.primary' }\n fontColor={ 'white' }\n boxShadow={ '1.remark' }\n backgroundColor='dark'\n transition={ 'middle' }\n componentID={ val_componentID }\n onMouseOver={ () => {\n set_mouseOn( true )\n } }\n onMouseOut={ () => {\n set_mouseOn( false )\n } }\n { ...others }\n >\n { Content }\n </Box>\n },\n Wrapper: () => {\n let [ val_refresh,set_refresh ] = useState( $$.uuid.gen() )\n let [ val_elements,set_elements ] = useState<ElementParams[]>( [] )\n\n useStore.set( {\n key: 'Snackbar-' + Config.get().sessionUID,\n value: {\n add: ( params: Snackbar.AddParams ) => {\n params.snackID = params.snackID || $$.uuid.gen()\n let findIndex = val_elements.findIndex( ( el ) => el.snackID == params.snackID )\n\n if ( findIndex == -1 ) {\n val_elements.unshift( {\n ...params,\n snackID: params.snackID\n } )\n } else {\n let newList = [ ...val_elements ]\n newList[ findIndex ] = {\n ...params,\n snackID: params.snackID\n }\n val_elements = newList\n }\n set_refresh( $$.uuid.gen() )\n },\n remove: ( snackID: string ) => {\n let component = useStore.get( 'Snackbar-' + snackID )\n if ( component && component.remove ) {\n component.remove()\n setTimeout( () => {\n let findIndex = val_elements.findIndex( ( cell ) => cell.snackID == snackID )\n if ( findIndex != -1 ) {\n let newList = [ ...val_elements ]\n newList.splice( findIndex,1 )\n\n val_elements = newList\n set_refresh( $$.uuid.gen() )\n }\n },210 )\n }\n }\n }\n } )\n\n let Snackbars = val_elements.map( ( el ) => ( <Comps.Cell { ...el } key={ el.snackID } /> ) )\n\n return <Flex\n className={ [\n 'AMOTIFY_be',\n SnackbarClasses( 'Wrapper' )\n ].join( ' ' ) }\n position='fixed'\n right={ 0 }\n bottom={ 0 }\n paddingLeft={ 0 }\n paddingRight={ 1 }\n paddingBottom={ 'safeAreaBottom' }\n verticalAlign='bottom'\n children={ Snackbars }\n overflow='auto'\n UnderBreakPointStyles={ {\n left: 0,\n paddingLeft: 1,\n width: 'auto'\n } }\n />\n }\n}\n\n\nexport {\n Snackbar,\n Snackbar as default\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "createElement", "$$", "Config", "useStore", "useState", "useEffect", "Box", "Flex", "FAI", "Row", "Button", "SnackbarClasses", "Snackbar", "params", "val_componentID", "Comps", "props", "_a", "snackID", "secondsToClose", "componentID", "Children", "CustomChildren", "others", "__objRest", "val_mouseOn", "set_mouseOn", "Wrapper", "Content", "__spreadProps", "__spreadValues", "val_refresh", "set_refresh", "val_elements", "set_elements", "findIndex", "el", "newList", "component", "cell", "Snackbars"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TagProperty, ReactElement } from '../../@declaration/_';
|
|
3
|
+
import { TableTypes } from './_';
|
|
4
|
+
import TableParts from './Parts';
|
|
5
|
+
declare namespace Data {
|
|
6
|
+
type Cell = TableParts.TableCell & {
|
|
7
|
+
type?: 'th' | 'td';
|
|
8
|
+
data: string | number;
|
|
9
|
+
option?: any;
|
|
10
|
+
orderIndex?: string | number;
|
|
11
|
+
};
|
|
12
|
+
type HeadRow = Cell[];
|
|
13
|
+
type BodyRow = Array<Cell> & ArrayObject;
|
|
14
|
+
type ArrayObject = {
|
|
15
|
+
rowID?: any;
|
|
16
|
+
__sys4SearchKey?: string;
|
|
17
|
+
checked?: boolean;
|
|
18
|
+
filtered?: boolean;
|
|
19
|
+
currentPage?: boolean;
|
|
20
|
+
};
|
|
21
|
+
type Input = TableTypes.UniInput & {
|
|
22
|
+
tableID?: string;
|
|
23
|
+
head: HeadRow;
|
|
24
|
+
rows: BodyRow[];
|
|
25
|
+
onRowClick?: TableTypes.OnRowClick;
|
|
26
|
+
eventID?: string;
|
|
27
|
+
checker?: boolean;
|
|
28
|
+
searchKeyword?: string;
|
|
29
|
+
filter?: boolean | boolean[];
|
|
30
|
+
order?: boolean | boolean[];
|
|
31
|
+
defaultOrder?: Order;
|
|
32
|
+
pageRowLength: number;
|
|
33
|
+
noRecords?: ReactElement;
|
|
34
|
+
onOrderChanged?: {
|
|
35
|
+
(order: Order): void;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
type FNs = {
|
|
39
|
+
__memoryID: string;
|
|
40
|
+
useStatus(tableID: string): useStatusOutput;
|
|
41
|
+
getRowData(tableID: string): BodyRow[];
|
|
42
|
+
setPageIndex(tableID: string, pageIndex: number): void;
|
|
43
|
+
setRowLength(tableID: string, rowLength: number): void;
|
|
44
|
+
setSearchKeyword(tableID: string, keyword: string): void;
|
|
45
|
+
};
|
|
46
|
+
type Parts = {
|
|
47
|
+
SearchInput: React.FC<{
|
|
48
|
+
tableID: string;
|
|
49
|
+
}>;
|
|
50
|
+
Info: React.FC<{
|
|
51
|
+
tableID: string;
|
|
52
|
+
}>;
|
|
53
|
+
Paging: React.FC<{
|
|
54
|
+
tableID: string;
|
|
55
|
+
}>;
|
|
56
|
+
RowLength: React.FC<{
|
|
57
|
+
tableID: string;
|
|
58
|
+
lengthSelect: number[];
|
|
59
|
+
}>;
|
|
60
|
+
};
|
|
61
|
+
type useStatusOutput = {
|
|
62
|
+
tableComponentDidMount: boolean;
|
|
63
|
+
totalRows: number;
|
|
64
|
+
pageRows: number;
|
|
65
|
+
filteredRows: number;
|
|
66
|
+
searchKeyword: string;
|
|
67
|
+
filter: {
|
|
68
|
+
enabled: boolean;
|
|
69
|
+
column: boolean[];
|
|
70
|
+
current: (string[])[];
|
|
71
|
+
};
|
|
72
|
+
order: {
|
|
73
|
+
enabled: boolean;
|
|
74
|
+
column: boolean[];
|
|
75
|
+
current: Data.Order;
|
|
76
|
+
};
|
|
77
|
+
paging: {
|
|
78
|
+
rowLength: number;
|
|
79
|
+
pageLength: number;
|
|
80
|
+
currentPageIndex: number;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
type FilterColumnsProps = {
|
|
84
|
+
index: number;
|
|
85
|
+
keyword: string;
|
|
86
|
+
enabled: boolean;
|
|
87
|
+
}[];
|
|
88
|
+
type Order = [number, 'ASC' | 'DESC'];
|
|
89
|
+
type Options = {
|
|
90
|
+
tableID: string;
|
|
91
|
+
componentID: string;
|
|
92
|
+
colLength: number;
|
|
93
|
+
checker: boolean;
|
|
94
|
+
searchKeyword: string;
|
|
95
|
+
filter: {
|
|
96
|
+
enabled: boolean;
|
|
97
|
+
column: boolean[];
|
|
98
|
+
current: (string[])[];
|
|
99
|
+
};
|
|
100
|
+
order: {
|
|
101
|
+
enabled: boolean;
|
|
102
|
+
column: boolean[];
|
|
103
|
+
current: Data.Order;
|
|
104
|
+
};
|
|
105
|
+
paging: {
|
|
106
|
+
rowLength: number;
|
|
107
|
+
pageLength: number;
|
|
108
|
+
currentPageIndex: number;
|
|
109
|
+
};
|
|
110
|
+
head: Data.HeadRow;
|
|
111
|
+
rows: Data.BodyRow[];
|
|
112
|
+
noRecords: ReactElement;
|
|
113
|
+
cellStyles?: TagProperty.Params;
|
|
114
|
+
cellClassName?: string;
|
|
115
|
+
cellStylesCallback?: {
|
|
116
|
+
(params: TableTypes.StylesCallbackInput): TagProperty.Params;
|
|
117
|
+
};
|
|
118
|
+
onRowClick?: TableTypes.OnRowClick;
|
|
119
|
+
onOrderChanged?: {
|
|
120
|
+
(args: Data.Order): void;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
type Methods = {
|
|
124
|
+
(props: Data.Input): JSX.Element;
|
|
125
|
+
} & FNs & Parts;
|
|
126
|
+
}
|
|
127
|
+
declare const Data: Data.Methods;
|
|
128
|
+
export { Data, Data as default };
|