powell-react 0.0.33 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index.cjs15.js → esm/_virtual/jsx-runtime.js} +1 -1
- package/dist/esm/_virtual/jsx-runtime.js.map +1 -0
- package/dist/{index.cjs19.js → esm/_virtual/react-jsx-runtime.development.js} +1 -1
- package/dist/esm/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/dist/{index.cjs18.js → esm/_virtual/react-jsx-runtime.production.min.js} +1 -1
- package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/{index.cjs17.js → esm/node_modules/react/cjs/react-jsx-runtime.development.js} +2 -2
- package/dist/esm/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
- package/dist/{index.cjs16.js → esm/node_modules/react/cjs/react-jsx-runtime.production.min.js} +2 -2
- package/dist/esm/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/{index.cjs11.js → esm/node_modules/react/jsx-runtime.js} +4 -4
- package/dist/esm/node_modules/react/jsx-runtime.js.map +1 -0
- package/dist/{index.cjs5.js → esm/powell/api/PowellProvider.js} +8 -8
- package/dist/esm/powell/api/PowellProvider.js.map +1 -0
- package/dist/{index.cjs3.js → esm/powell/api/configService.js} +2 -2
- package/dist/esm/powell/api/configService.js.map +1 -0
- package/dist/{index.cjs20.js → esm/powell/api/overlayEmitter.js} +1 -1
- package/dist/esm/powell/api/overlayEmitter.js.map +1 -0
- package/dist/{index.cjs4.js → esm/powell/api/powellDefaults.js} +1 -1
- package/dist/esm/powell/api/powellDefaults.js.map +1 -0
- package/dist/{index.cjs2.js → esm/powell/components/Button/Button.js} +4 -4
- package/dist/esm/powell/components/Button/Button.js.map +1 -0
- package/dist/{index.cjs13.js → esm/powell/components/FormContainer/FormContainer.js} +4 -4
- package/dist/esm/powell/components/FormContainer/FormContainer.js.map +1 -0
- package/dist/{index.cjs14.js → esm/powell/components/FormContainer/FormContext.js} +2 -2
- package/dist/esm/powell/components/FormContainer/FormContext.js.map +1 -0
- package/dist/{index.cjs12.js → esm/powell/components/Toast/Toast.js} +5 -5
- package/dist/esm/powell/components/Toast/Toast.js.map +1 -0
- package/dist/{index.cjs6.js → esm/powell/hooks/useApplyConfig.js} +2 -2
- package/dist/esm/powell/hooks/useApplyConfig.js.map +1 -0
- package/dist/{index.cjs7.js → esm/powell/hooks/useFormContext.js} +4 -4
- package/dist/esm/powell/hooks/useFormContext.js.map +1 -0
- package/dist/{index.cjs8.js → esm/powell/hooks/usePowellConfig.js} +5 -5
- package/dist/esm/powell/hooks/usePowellConfig.js.map +1 -0
- package/dist/{index.cjs.js → esm/powell/index.js} +10 -10
- package/dist/{index.cjs.js.map → esm/powell/index.js.map} +1 -1
- package/dist/{index.cjs9.js → esm/powell/utils/globalState.js} +1 -1
- package/dist/esm/powell/utils/globalState.js.map +1 -0
- package/package.json +12 -7
- package/dist/index.cjs11.js.map +0 -1
- package/dist/index.cjs12.js.map +0 -1
- package/dist/index.cjs13.js.map +0 -1
- package/dist/index.cjs14.js.map +0 -1
- package/dist/index.cjs15.js.map +0 -1
- package/dist/index.cjs16.js.map +0 -1
- package/dist/index.cjs17.js.map +0 -1
- package/dist/index.cjs18.js.map +0 -1
- package/dist/index.cjs19.js.map +0 -1
- package/dist/index.cjs2.js.map +0 -1
- package/dist/index.cjs20.js.map +0 -1
- package/dist/index.cjs3.js.map +0 -1
- package/dist/index.cjs4.js.map +0 -1
- package/dist/index.cjs5.js.map +0 -1
- package/dist/index.cjs6.js.map +0 -1
- package/dist/index.cjs7.js.map +0 -1
- package/dist/index.cjs8.js.map +0 -1
- package/dist/index.cjs9.js.map +0 -1
- package/dist/index.es.js +0 -107
- package/dist/index.es.js.map +0 -1
- package/dist/index.es11.js +0 -14
- package/dist/index.es11.js.map +0 -1
- package/dist/index.es12.js +0 -119
- package/dist/index.es12.js.map +0 -1
- package/dist/index.es13.js +0 -118
- package/dist/index.es13.js.map +0 -1
- package/dist/index.es14.js +0 -11
- package/dist/index.es14.js.map +0 -1
- package/dist/index.es15.js +0 -4
- package/dist/index.es15.js.map +0 -1
- package/dist/index.es16.js +0 -25
- package/dist/index.es16.js.map +0 -1
- package/dist/index.es17.js +0 -1326
- package/dist/index.es17.js.map +0 -1
- package/dist/index.es18.js +0 -4
- package/dist/index.es18.js.map +0 -1
- package/dist/index.es19.js +0 -4
- package/dist/index.es19.js.map +0 -1
- package/dist/index.es2.js +0 -163
- package/dist/index.es2.js.map +0 -1
- package/dist/index.es20.js +0 -22
- package/dist/index.es20.js.map +0 -1
- package/dist/index.es3.js +0 -6
- package/dist/index.es3.js.map +0 -1
- package/dist/index.es4.js +0 -14
- package/dist/index.es4.js.map +0 -1
- package/dist/index.es5.js +0 -140
- package/dist/index.es5.js.map +0 -1
- package/dist/index.es6.js +0 -51
- package/dist/index.es6.js.map +0 -1
- package/dist/index.es7.js +0 -123
- package/dist/index.es7.js.map +0 -1
- package/dist/index.es8.js +0 -196
- package/dist/index.es8.js.map +0 -1
- package/dist/index.es9.js +0 -59
- package/dist/index.es9.js.map +0 -1
package/dist/index.es6.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.es6.js","sources":["../src/powell/hooks/useApplyConfig.ts"],"sourcesContent":["import {usePowellConfig} from \"@powell/hooks/usePowellConfig\";\r\nimport {PowellConfig, SafeAny} from \"@powell/models\";\r\n\r\ninterface ApplyConfigOptions<T> {\r\n isFixLabel: boolean;\r\n sizable: boolean;\r\n groups: Record<string, PropDescriptor<T>[]>\r\n}\r\n\r\ninterface CommonConfigProps {\r\n rtl?: PowellConfig[\"rtl\"];\r\n showRequiredStar?: PowellConfig[\"showRequiredStar\"];\r\n labelPosition?: PowellConfig[\"labelPosition\"];\r\n inputSize?: PowellConfig[\"inputSize\"];\r\n variant?: PowellConfig[\"inputStyle\"];\r\n}\r\n\r\ntype PropDescriptor<T> =\r\n | keyof T & string\r\n | {\r\n key: keyof T & string;\r\n alias?: string;\r\n defaultValue?: T[keyof T] | (() => T[keyof T]);\r\n keepInRest?: boolean;\r\n};\r\n\r\nconst splitProps = <T extends Record<string, SafeAny>>(props: T, groups: Record<string, PropDescriptor<T>[]>) => {\r\n const result: Record<string, SafeAny> = {};\r\n const rest: Partial<T> = {};\r\n const assigned: Partial<Record<keyof T, boolean>> = {};\r\n const restEligible: Partial<Record<keyof T, boolean>> = {};\r\n\r\n for (const groupName in groups) {\r\n for (const descriptor of groups[groupName]) {\r\n const key = typeof descriptor === 'string' ? descriptor : descriptor.key;\r\n const alias = typeof descriptor === 'string' ? undefined : descriptor.alias;\r\n const defaultValue = typeof descriptor === 'string' ? undefined : descriptor.defaultValue;\r\n const keepInRest = typeof descriptor === 'string' ? false : descriptor.keepInRest ?? false;\r\n\r\n if (!result[groupName]) {\r\n result[groupName] = {};\r\n }\r\n\r\n const value = key in props ? props[key] : typeof defaultValue === 'function' ? (defaultValue as SafeAny)() : defaultValue;\r\n result[groupName][alias ?? key] = value;\r\n\r\n assigned[key] = true;\r\n if (keepInRest) {\r\n restEligible[key] = true;\r\n }\r\n }\r\n }\r\n\r\n for (const key in props) {\r\n const typedKey = key as keyof T;\r\n if (!assigned[typedKey] || restEligible[typedKey]) {\r\n rest[typedKey] = props[typedKey];\r\n }\r\n }\r\n\r\n result.rest = rest;\r\n return result as Record<string, Partial<T>> & {rest: Partial<T>};\r\n}\r\n\r\nexport const useApplyConfig = <T extends CommonConfigProps>(props: T, options: ApplyConfigOptions<T>) => {\r\n const [config] = usePowellConfig();\r\n const {sizable = true, isFixLabel = false, groups = {}} = options;\r\n\r\n const result = {\r\n ...props,\r\n rtl: props.rtl ?? config.rtl,\r\n showRequiredStar: props.showRequiredStar ?? config.showRequiredStar,\r\n labelPosition: props.labelPosition ?? (isFixLabel ? config.fixLabelPosition : config.labelPosition),\r\n ...('variant' in props ? {variant: props.variant ?? config.inputStyle} : {}),\r\n }\r\n\r\n if (sizable) {\r\n result.inputSize = props.inputSize ?? config.inputSize;\r\n }\r\n\r\n return splitProps<T>(result, groups);\r\n}\r\n"],"names":[],"mappings":";;AA0BA,MAAM,UAAA,GAAa,CAAoC,KAAA,EAAU,MAAgD,KAAA;AAC/G,EAAA,MAAM,SAAkC,EAAC;AACzC,EAAA,MAAM,OAAmB,EAAC;AAC1B,EAAA,MAAM,WAA8C,EAAC;AACrD,EAAA,MAAM,eAAkD,EAAC;AAEzD,EAAA,KAAA,MAAW,aAAa,MAAQ,EAAA;AAC9B,IAAW,KAAA,MAAA,UAAA,IAAc,MAAO,CAAA,SAAS,CAAG,EAAA;AAC1C,MAAA,MAAM,GAAM,GAAA,OAAO,UAAe,KAAA,QAAA,GAAW,aAAa,UAAW,CAAA,GAAA;AACrE,MAAA,MAAM,KAAQ,GAAA,OAAO,UAAe,KAAA,QAAA,GAAW,SAAY,UAAW,CAAA,KAAA;AACtE,MAAA,MAAM,YAAe,GAAA,OAAO,UAAe,KAAA,QAAA,GAAW,SAAY,UAAW,CAAA,YAAA;AAC7E,MAAA,MAAM,aAAa,OAAO,UAAA,KAAe,QAAW,GAAA,KAAA,GAAQ,WAAW,UAAc,IAAA,KAAA;AAErF,MAAI,IAAA,CAAC,MAAO,CAAA,SAAS,CAAG,EAAA;AACtB,QAAO,MAAA,CAAA,SAAS,IAAI,EAAC;AAAA;AAGvB,MAAM,MAAA,KAAA,GAAQ,GAAO,IAAA,KAAA,GAAQ,KAAM,CAAA,GAAG,IAAI,OAAO,YAAA,KAAiB,UAAc,GAAA,YAAA,EAA6B,GAAA,YAAA;AAC7G,MAAA,MAAA,CAAO,SAAS,CAAA,CAAE,KAAS,IAAA,GAAG,CAAI,GAAA,KAAA;AAElC,MAAA,QAAA,CAAS,GAAG,CAAI,GAAA,IAAA;AAChB,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,YAAA,CAAa,GAAG,CAAI,GAAA,IAAA;AAAA;AACtB;AACF;AAGF,EAAA,KAAA,MAAW,OAAO,KAAO,EAAA;AACvB,IAAA,MAAM,QAAW,GAAA,GAAA;AACjB,IAAA,IAAI,CAAC,QAAS,CAAA,QAAQ,CAAK,IAAA,YAAA,CAAa,QAAQ,CAAG,EAAA;AACjD,MAAK,IAAA,CAAA,QAAQ,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAA;AAAA;AACjC;AAGF,EAAA,MAAA,CAAO,IAAO,GAAA,IAAA;AACd,EAAO,OAAA,MAAA;AACT,CAAA;AAEa,MAAA,cAAA,GAAiB,CAA8B,KAAA,EAAU,OAAmC,KAAA;AACvG,EAAM,MAAA,CAAC,MAAM,CAAA,GAAI,eAAgB,EAAA;AACjC,EAAM,MAAA,EAAC,UAAU,IAAM,EAAA,UAAA,GAAa,OAAO,MAAS,GAAA,IAAM,GAAA,OAAA;AAE1D,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,GAAG,KAAA;AAAA,IACH,GAAA,EAAK,KAAM,CAAA,GAAA,IAAO,MAAO,CAAA,GAAA;AAAA,IACzB,gBAAA,EAAkB,KAAM,CAAA,gBAAA,IAAoB,MAAO,CAAA,gBAAA;AAAA,IACnD,eAAe,KAAM,CAAA,aAAA,KAAkB,UAAa,GAAA,MAAA,CAAO,mBAAmB,MAAO,CAAA,aAAA,CAAA;AAAA,IACrF,GAAI,SAAa,IAAA,KAAA,GAAQ,EAAC,OAAA,EAAS,MAAM,OAAW,IAAA,MAAA,CAAO,UAAU,EAAA,GAAI;AAAC,GAC5E;AAEA,EAAA,IAAI,OAAS,EAAA;AACX,IAAO,MAAA,CAAA,SAAA,GAAY,KAAM,CAAA,SAAA,IAAa,MAAO,CAAA,SAAA;AAAA;AAG/C,EAAO,OAAA,UAAA,CAAc,QAAQ,MAAM,CAAA;AACrC;;;;"}
|
package/dist/index.es7.js
DELETED
@@ -1,123 +0,0 @@
|
|
1
|
-
import { useContext } from 'react';
|
2
|
-
import './index.es13.js';
|
3
|
-
import { FormContext } from './index.es14.js';
|
4
|
-
import { FormikContext, useFormikContext } from 'formik';
|
5
|
-
import 'yup';
|
6
|
-
import './index.es11.js';
|
7
|
-
import 'primereact/autocomplete';
|
8
|
-
import 'primereact/calendar';
|
9
|
-
import 'primereact/cascadeselect';
|
10
|
-
import 'primereact/checkbox';
|
11
|
-
import 'primereact/chips';
|
12
|
-
import 'primereact/colorpicker';
|
13
|
-
import 'primereact/dropdown';
|
14
|
-
import 'primereact/editor';
|
15
|
-
import 'primereact/floatlabel';
|
16
|
-
import 'primereact/inputicon';
|
17
|
-
import 'primereact/iconfield';
|
18
|
-
import 'primereact/inputmask';
|
19
|
-
import 'primereact/inputswitch';
|
20
|
-
import 'primereact/inputnumber';
|
21
|
-
import 'primereact/inputotp';
|
22
|
-
import 'primereact/inputtext';
|
23
|
-
import 'primereact/inputtextarea';
|
24
|
-
import 'primereact/knob';
|
25
|
-
import 'primereact/listbox';
|
26
|
-
import 'primereact/mention';
|
27
|
-
import 'primereact/multiselect';
|
28
|
-
import 'primereact/multistatecheckbox';
|
29
|
-
import 'primereact/password';
|
30
|
-
import 'primereact/radiobutton';
|
31
|
-
import 'primereact/rating';
|
32
|
-
import 'primereact/selectbutton';
|
33
|
-
import 'primereact/slider';
|
34
|
-
import 'primereact/treeselect';
|
35
|
-
import 'primereact/tristatecheckbox';
|
36
|
-
import 'primereact/togglebutton';
|
37
|
-
import 'primereact/button';
|
38
|
-
import 'primereact/speeddial';
|
39
|
-
import 'primereact/splitbutton';
|
40
|
-
import 'primereact/datatable';
|
41
|
-
import 'primereact/dataview';
|
42
|
-
import 'primereact/datascroller';
|
43
|
-
import 'primereact/orderlist';
|
44
|
-
import 'primereact/organizationchart';
|
45
|
-
import 'primereact/paginator';
|
46
|
-
import 'primereact/picklist';
|
47
|
-
import 'primereact/tree';
|
48
|
-
import 'primereact/treetable';
|
49
|
-
import 'primereact/timeline';
|
50
|
-
import 'primereact/virtualscroller';
|
51
|
-
import 'primereact/accordion';
|
52
|
-
import 'primereact/card';
|
53
|
-
import 'primereact/deferredcontent';
|
54
|
-
import 'primereact/divider';
|
55
|
-
import 'primereact/fieldset';
|
56
|
-
import 'primereact/panel';
|
57
|
-
import 'primereact/scrollpanel';
|
58
|
-
import 'primereact/splitter';
|
59
|
-
import 'primereact/stepper';
|
60
|
-
import 'primereact/tabview';
|
61
|
-
import 'primereact/toolbar';
|
62
|
-
import 'primereact/confirmdialog';
|
63
|
-
import 'primereact/confirmpopup';
|
64
|
-
import 'primereact/dialog';
|
65
|
-
import 'primereact/overlaypanel';
|
66
|
-
import 'primereact/sidebar';
|
67
|
-
import 'primereact/tooltip';
|
68
|
-
import 'primereact/fileupload';
|
69
|
-
import 'primereact/breadcrumb';
|
70
|
-
import 'primereact/contextmenu';
|
71
|
-
import 'primereact/dock';
|
72
|
-
import 'primereact/megamenu';
|
73
|
-
import 'primereact/menu';
|
74
|
-
import 'primereact/menubar';
|
75
|
-
import 'primereact/panelmenu';
|
76
|
-
import 'primereact/steps';
|
77
|
-
import 'primereact/tabmenu';
|
78
|
-
import 'primereact/tieredmenu';
|
79
|
-
import 'primereact/message';
|
80
|
-
import 'primereact/messages';
|
81
|
-
import 'primereact/toast';
|
82
|
-
import 'primereact/carousel';
|
83
|
-
import 'primereact/galleria';
|
84
|
-
import 'primereact/image';
|
85
|
-
import 'primereact/avatar';
|
86
|
-
import 'primereact/badge';
|
87
|
-
import 'primereact/blockui';
|
88
|
-
import 'primereact/chip';
|
89
|
-
import 'primereact/inplace';
|
90
|
-
import 'primereact/metergroup';
|
91
|
-
import 'primereact/scrolltop';
|
92
|
-
import 'primereact/skeleton';
|
93
|
-
import 'primereact/progressbar';
|
94
|
-
import 'primereact/progressspinner';
|
95
|
-
import 'primereact/ripple';
|
96
|
-
import 'primereact/styleclass';
|
97
|
-
import 'primereact/tag';
|
98
|
-
import 'primereact/terminal';
|
99
|
-
import 'primereact/api';
|
100
|
-
import 'primereact/utils';
|
101
|
-
|
102
|
-
const useFormContext = () => {
|
103
|
-
const context = useContext(FormContext);
|
104
|
-
const formikContext = useSafeFormikContext();
|
105
|
-
if (!context || !formikContext) {
|
106
|
-
return null;
|
107
|
-
}
|
108
|
-
return { ...context, ...formikContext };
|
109
|
-
};
|
110
|
-
function useSafeFormikContext() {
|
111
|
-
const context = useContext(FormikContext);
|
112
|
-
try {
|
113
|
-
if (context) {
|
114
|
-
return useFormikContext();
|
115
|
-
}
|
116
|
-
return void 0;
|
117
|
-
} catch {
|
118
|
-
return void 0;
|
119
|
-
}
|
120
|
-
}
|
121
|
-
|
122
|
-
export { useFormContext, useSafeFormikContext };
|
123
|
-
//# sourceMappingURL=index.es7.js.map
|
package/dist/index.es7.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.es7.js","sources":["../src/powell/hooks/useFormContext.ts"],"sourcesContent":["import {useContext} from \"react\";\r\nimport {FormContext} from \"@powell/components/FormContainer\";\r\nimport {$FormikConfig, $FormikContext, $FormikContextType, $FormikValues, $useFormikContext} from \"@powell/api\";\r\nimport {SafeAny} from \"@powell/models\";\r\n\r\nexport const useFormContext = () => {\r\n const context = useContext(FormContext) as $FormikConfig<$FormikValues>;\r\n const formikContext = useSafeFormikContext();\r\n\r\n if (!context || !formikContext) {\r\n return null;\r\n }\r\n\r\n return {...context, ...formikContext} as $FormikContextType<$FormikValues>;\r\n};\r\n\r\nexport function useSafeFormikContext<T = SafeAny>() {\r\n const context = useContext($FormikContext);\r\n try {\r\n if (context) {\r\n return $useFormikContext<T>();\r\n }\r\n return undefined;\r\n } catch {\r\n return undefined;\r\n }\r\n}\r\n"],"names":["$FormikContext","$useFormikContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,iBAAiB,MAAM;AAClC,EAAM,MAAA,OAAA,GAAU,WAAW,WAAW,CAAA;AACtC,EAAA,MAAM,gBAAgB,oBAAqB,EAAA;AAE3C,EAAI,IAAA,CAAC,OAAW,IAAA,CAAC,aAAe,EAAA;AAC9B,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,OAAO,EAAC,GAAG,OAAS,EAAA,GAAG,aAAa,EAAA;AACtC;AAEO,SAAS,oBAAoC,GAAA;AAClD,EAAM,MAAA,OAAA,GAAU,WAAWA,aAAc,CAAA;AACzC,EAAI,IAAA;AACF,IAAA,IAAI,OAAS,EAAA;AACX,MAAA,OAAOC,gBAAqB,EAAA;AAAA;AAE9B,IAAO,OAAA,KAAA,CAAA;AAAA,GACD,CAAA,MAAA;AACN,IAAO,OAAA,MAAA;AAAA;AAEX;;;;"}
|
package/dist/index.es8.js
DELETED
@@ -1,196 +0,0 @@
|
|
1
|
-
import { configService } from './index.es3.js';
|
2
|
-
import 'formik';
|
3
|
-
import 'yup';
|
4
|
-
import './index.es11.js';
|
5
|
-
import { useContext } from 'react';
|
6
|
-
import './index.es13.js';
|
7
|
-
import './index.es14.js';
|
8
|
-
import 'primereact/autocomplete';
|
9
|
-
import 'primereact/calendar';
|
10
|
-
import 'primereact/cascadeselect';
|
11
|
-
import 'primereact/checkbox';
|
12
|
-
import 'primereact/chips';
|
13
|
-
import 'primereact/colorpicker';
|
14
|
-
import 'primereact/dropdown';
|
15
|
-
import 'primereact/editor';
|
16
|
-
import 'primereact/floatlabel';
|
17
|
-
import 'primereact/inputicon';
|
18
|
-
import 'primereact/iconfield';
|
19
|
-
import 'primereact/inputmask';
|
20
|
-
import 'primereact/inputswitch';
|
21
|
-
import 'primereact/inputnumber';
|
22
|
-
import 'primereact/inputotp';
|
23
|
-
import 'primereact/inputtext';
|
24
|
-
import 'primereact/inputtextarea';
|
25
|
-
import 'primereact/knob';
|
26
|
-
import 'primereact/listbox';
|
27
|
-
import 'primereact/mention';
|
28
|
-
import 'primereact/multiselect';
|
29
|
-
import 'primereact/multistatecheckbox';
|
30
|
-
import 'primereact/password';
|
31
|
-
import 'primereact/radiobutton';
|
32
|
-
import 'primereact/rating';
|
33
|
-
import 'primereact/selectbutton';
|
34
|
-
import 'primereact/slider';
|
35
|
-
import 'primereact/treeselect';
|
36
|
-
import 'primereact/tristatecheckbox';
|
37
|
-
import 'primereact/togglebutton';
|
38
|
-
import 'primereact/button';
|
39
|
-
import 'primereact/speeddial';
|
40
|
-
import 'primereact/splitbutton';
|
41
|
-
import 'primereact/datatable';
|
42
|
-
import 'primereact/dataview';
|
43
|
-
import 'primereact/datascroller';
|
44
|
-
import 'primereact/orderlist';
|
45
|
-
import 'primereact/organizationchart';
|
46
|
-
import 'primereact/paginator';
|
47
|
-
import 'primereact/picklist';
|
48
|
-
import 'primereact/tree';
|
49
|
-
import 'primereact/treetable';
|
50
|
-
import 'primereact/timeline';
|
51
|
-
import 'primereact/virtualscroller';
|
52
|
-
import 'primereact/accordion';
|
53
|
-
import 'primereact/card';
|
54
|
-
import 'primereact/deferredcontent';
|
55
|
-
import 'primereact/divider';
|
56
|
-
import 'primereact/fieldset';
|
57
|
-
import 'primereact/panel';
|
58
|
-
import 'primereact/scrollpanel';
|
59
|
-
import 'primereact/splitter';
|
60
|
-
import 'primereact/stepper';
|
61
|
-
import 'primereact/tabview';
|
62
|
-
import 'primereact/toolbar';
|
63
|
-
import 'primereact/confirmdialog';
|
64
|
-
import 'primereact/confirmpopup';
|
65
|
-
import 'primereact/dialog';
|
66
|
-
import 'primereact/overlaypanel';
|
67
|
-
import 'primereact/sidebar';
|
68
|
-
import 'primereact/tooltip';
|
69
|
-
import 'primereact/fileupload';
|
70
|
-
import 'primereact/breadcrumb';
|
71
|
-
import 'primereact/contextmenu';
|
72
|
-
import 'primereact/dock';
|
73
|
-
import 'primereact/megamenu';
|
74
|
-
import 'primereact/menu';
|
75
|
-
import 'primereact/menubar';
|
76
|
-
import 'primereact/panelmenu';
|
77
|
-
import 'primereact/steps';
|
78
|
-
import 'primereact/tabmenu';
|
79
|
-
import 'primereact/tieredmenu';
|
80
|
-
import 'primereact/message';
|
81
|
-
import 'primereact/messages';
|
82
|
-
import 'primereact/toast';
|
83
|
-
import 'primereact/carousel';
|
84
|
-
import 'primereact/galleria';
|
85
|
-
import 'primereact/image';
|
86
|
-
import 'primereact/avatar';
|
87
|
-
import 'primereact/badge';
|
88
|
-
import 'primereact/blockui';
|
89
|
-
import 'primereact/chip';
|
90
|
-
import 'primereact/inplace';
|
91
|
-
import 'primereact/metergroup';
|
92
|
-
import 'primereact/scrolltop';
|
93
|
-
import 'primereact/skeleton';
|
94
|
-
import 'primereact/progressbar';
|
95
|
-
import 'primereact/progressspinner';
|
96
|
-
import 'primereact/ripple';
|
97
|
-
import 'primereact/styleclass';
|
98
|
-
import 'primereact/tag';
|
99
|
-
import 'primereact/terminal';
|
100
|
-
import { PrimeReactContext } from 'primereact/api';
|
101
|
-
import 'primereact/utils';
|
102
|
-
|
103
|
-
const usePowellConfig = () => {
|
104
|
-
const [powellConfig, setPowellConfig] = configService.use();
|
105
|
-
const {
|
106
|
-
setPt,
|
107
|
-
setFilterMatchModeOptions,
|
108
|
-
setLocale,
|
109
|
-
setNonce,
|
110
|
-
setHideOverlaysOnDocumentScrolling,
|
111
|
-
setRipple,
|
112
|
-
setCssTransition,
|
113
|
-
setStyleContainer,
|
114
|
-
setInputStyle,
|
115
|
-
setNullSortOrder,
|
116
|
-
setZIndex,
|
117
|
-
setAutoZIndex,
|
118
|
-
setAppendTo,
|
119
|
-
changeTheme,
|
120
|
-
...restPrimeConfig
|
121
|
-
} = useContext(PrimeReactContext);
|
122
|
-
const configAction = {
|
123
|
-
pt: setPt,
|
124
|
-
filterMatchModeOptions: setFilterMatchModeOptions,
|
125
|
-
locale: setLocale,
|
126
|
-
nonce: setNonce,
|
127
|
-
hideOverlaysOnDocumentScrolling: setHideOverlaysOnDocumentScrolling,
|
128
|
-
ripple: setRipple,
|
129
|
-
cssTransition: setCssTransition,
|
130
|
-
styleContainer: setStyleContainer,
|
131
|
-
inputStyle: setInputStyle,
|
132
|
-
nullSortOrder: setNullSortOrder,
|
133
|
-
zIndex: setZIndex,
|
134
|
-
autoZIndex: setAutoZIndex,
|
135
|
-
appendTo: setAppendTo,
|
136
|
-
theme: (v) => changeTheme?.(powellConfig.theme, v.theme, "powell-theme-link")
|
137
|
-
};
|
138
|
-
const updateConfig = (c) => {
|
139
|
-
for (const key in c) {
|
140
|
-
if (key in configAction) {
|
141
|
-
configAction[key]?.(c);
|
142
|
-
}
|
143
|
-
applyConfigToDom({ ...c, injectDirectionToRoot: powellConfig.injectDirectionToRoot });
|
144
|
-
setPowellConfig((prev) => ({ ...prev, ...c }));
|
145
|
-
}
|
146
|
-
};
|
147
|
-
return [{ ...powellConfig, ...restPrimeConfig }, updateConfig];
|
148
|
-
};
|
149
|
-
const applyConfigToDom = (config) => {
|
150
|
-
handleBodyClasses(config);
|
151
|
-
if ("rtl" in config && config.injectDirectionToRoot) {
|
152
|
-
document.documentElement.setAttribute("dir", config.rtl ? "rtl" : "ltr");
|
153
|
-
} else {
|
154
|
-
document.documentElement.removeAttribute("dir");
|
155
|
-
}
|
156
|
-
};
|
157
|
-
const kebabCase = (str) => str.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
158
|
-
const handleBodyClasses = (config) => {
|
159
|
-
const specialBodyClassRules = {
|
160
|
-
ripple: [
|
161
|
-
{
|
162
|
-
condition: (v) => v === false,
|
163
|
-
className: "p-ripple-disabled"
|
164
|
-
}
|
165
|
-
],
|
166
|
-
inputStyle: [
|
167
|
-
{
|
168
|
-
condition: (v) => v === "filled",
|
169
|
-
className: "p-input-filled"
|
170
|
-
}
|
171
|
-
]
|
172
|
-
};
|
173
|
-
for (const key in config) {
|
174
|
-
const value = config[key];
|
175
|
-
if (value === void 0) continue;
|
176
|
-
const rules = specialBodyClassRules[key];
|
177
|
-
if (rules && rules.length) {
|
178
|
-
for (const rule of rules) {
|
179
|
-
const shouldApply = rule.condition(value);
|
180
|
-
document.body.classList.toggle(rule.className, shouldApply);
|
181
|
-
}
|
182
|
-
} else {
|
183
|
-
const prefix = `powell-${kebabCase(key)}-`;
|
184
|
-
document.body.classList.forEach((cls) => {
|
185
|
-
if (cls.startsWith(prefix)) {
|
186
|
-
document.body.classList.remove(cls);
|
187
|
-
}
|
188
|
-
});
|
189
|
-
const finalValue = typeof value === "boolean" ? value ? "enabled" : "disabled" : value;
|
190
|
-
document.body.classList.add(`${prefix}${finalValue}`);
|
191
|
-
}
|
192
|
-
}
|
193
|
-
};
|
194
|
-
|
195
|
-
export { applyConfigToDom, usePowellConfig };
|
196
|
-
//# sourceMappingURL=index.es8.js.map
|
package/dist/index.es8.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.es8.js","sources":["../src/powell/hooks/usePowellConfig.ts"],"sourcesContent":["import {$PrimeReactContext, configService} from \"@powell/api\";\r\nimport {Dispatch, SetStateAction, useContext} from \"react\";\r\nimport {PowellConfig, SafeAny} from \"@powell/models\";\r\n\r\ntype BodyClassRule = {\r\n condition: (value: SafeAny) => boolean;\r\n className: string;\r\n};\r\n\r\nexport const usePowellConfig = () => {\r\n const [powellConfig, setPowellConfig] = configService.use();\r\n const {\r\n setPt,\r\n setFilterMatchModeOptions,\r\n setLocale,\r\n setNonce,\r\n setHideOverlaysOnDocumentScrolling,\r\n setRipple,\r\n setCssTransition,\r\n setStyleContainer,\r\n setInputStyle,\r\n setNullSortOrder,\r\n setZIndex,\r\n setAutoZIndex,\r\n setAppendTo,\r\n changeTheme,\r\n ...restPrimeConfig\r\n } = useContext($PrimeReactContext);\r\n\r\n const configAction: Partial<Record<keyof PowellConfig, Dispatch<SetStateAction<SafeAny>>>> = {\r\n pt: setPt,\r\n filterMatchModeOptions: setFilterMatchModeOptions,\r\n locale: setLocale,\r\n nonce: setNonce,\r\n hideOverlaysOnDocumentScrolling: setHideOverlaysOnDocumentScrolling,\r\n ripple: setRipple,\r\n cssTransition: setCssTransition,\r\n styleContainer: setStyleContainer,\r\n inputStyle: setInputStyle,\r\n nullSortOrder: setNullSortOrder,\r\n zIndex: setZIndex,\r\n autoZIndex: setAutoZIndex,\r\n appendTo: setAppendTo,\r\n theme: (v: PowellConfig) => changeTheme?.(powellConfig.theme, v.theme!, 'powell-theme-link')\r\n }\r\n const updateConfig = (c: Partial<PowellConfig>) => {\r\n for (const key in c) {\r\n if (key in configAction) {\r\n configAction[key as keyof PowellConfig]?.(c);\r\n }\r\n applyConfigToDom({...c, injectDirectionToRoot: powellConfig.injectDirectionToRoot});\r\n setPowellConfig(prev => ({...prev, ...c}));\r\n }\r\n }\r\n return [{...powellConfig, ...restPrimeConfig}, updateConfig] as [config: PowellConfig, (c: Partial<PowellConfig>) => any];\r\n}\r\n\r\nexport const applyConfigToDom = (config: PowellConfig) => {\r\n handleBodyClasses(config);\r\n if ('rtl' in config && config.injectDirectionToRoot) {\r\n document.documentElement.setAttribute('dir', config.rtl ? 'rtl' : 'ltr');\r\n } else {\r\n document.documentElement.removeAttribute('dir');\r\n }\r\n}\r\n\r\nconst kebabCase = (str: string) => str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\r\n\r\nconst handleBodyClasses = (config: PowellConfig) => {\r\n const specialBodyClassRules: Partial<Record<keyof PowellConfig, BodyClassRule[]>> = {\r\n ripple: [\r\n {\r\n condition: (v) => v === false,\r\n className: 'p-ripple-disabled',\r\n },\r\n ],\r\n inputStyle: [\r\n {\r\n condition: (v) => v === 'filled',\r\n className: 'p-input-filled',\r\n },\r\n ],\r\n };\r\n\r\n for (const key in config) {\r\n const value = config[key as keyof PowellConfig];\r\n if (value === undefined) continue;\r\n\r\n const rules = specialBodyClassRules[key as keyof PowellConfig];\r\n\r\n if (rules && rules.length) {\r\n for (const rule of rules) {\r\n const shouldApply = rule.condition(value);\r\n document.body.classList.toggle(rule.className, shouldApply);\r\n }\r\n } else {\r\n const prefix = `powell-${kebabCase(key)}-`;\r\n document.body.classList.forEach((cls) => {\r\n if (cls.startsWith(prefix)) {\r\n document.body.classList.remove(cls);\r\n }\r\n });\r\n const finalValue = typeof value === 'boolean' ? (value ? 'enabled' : 'disabled') : value;\r\n document.body.classList.add(`${prefix}${finalValue}`);\r\n }\r\n }\r\n};\r\n\r\n"],"names":["$PrimeReactContext"],"mappings":"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"}
|
package/dist/index.es9.js
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
import { useState, useLayoutEffect, useEffect, useRef } from 'react';
|
2
|
-
|
3
|
-
const useIsomorphicLayoutEffect = typeof window !== "undefined" || typeof document !== "undefined" ? useLayoutEffect : useEffect;
|
4
|
-
const equ = (a, b) => a === b;
|
5
|
-
const FR = {};
|
6
|
-
function useComparator(v, c = equ) {
|
7
|
-
const f = useRef(FR);
|
8
|
-
let nv = f.current;
|
9
|
-
useIsomorphicLayoutEffect(() => {
|
10
|
-
f.current = nv;
|
11
|
-
});
|
12
|
-
if (f.current === FR || !c(v, f.current)) {
|
13
|
-
nv = v;
|
14
|
-
}
|
15
|
-
return nv;
|
16
|
-
}
|
17
|
-
function globalState(initialValue, options) {
|
18
|
-
let sb = [];
|
19
|
-
let v = initialValue;
|
20
|
-
function set(newValue, callback) {
|
21
|
-
const pv = v;
|
22
|
-
v = newValue instanceof Function ? newValue(v) : newValue;
|
23
|
-
setTimeout(() => {
|
24
|
-
sb.forEach((c) => c(v, pv));
|
25
|
-
callback?.(v, pv);
|
26
|
-
options?.onSet?.(v, pv);
|
27
|
-
});
|
28
|
-
}
|
29
|
-
function subscribe(subscriber) {
|
30
|
-
sb.push(subscriber);
|
31
|
-
return () => {
|
32
|
-
sb = sb.filter((f) => f !== subscriber);
|
33
|
-
};
|
34
|
-
}
|
35
|
-
function useSubscription(subscriber) {
|
36
|
-
useIsomorphicLayoutEffect(() => subscribe(subscriber), [subscriber]);
|
37
|
-
}
|
38
|
-
function use() {
|
39
|
-
const [l, s] = useState(v);
|
40
|
-
useSubscription(s);
|
41
|
-
return [l, set];
|
42
|
-
}
|
43
|
-
function useSelector(selector, comparator = equ) {
|
44
|
-
const [rv] = use();
|
45
|
-
return useComparator(selector(rv), comparator);
|
46
|
-
}
|
47
|
-
return {
|
48
|
-
use,
|
49
|
-
useSelector,
|
50
|
-
useValue: () => use()[0],
|
51
|
-
get: () => v,
|
52
|
-
set,
|
53
|
-
reset: () => set(initialValue),
|
54
|
-
subscribe
|
55
|
-
};
|
56
|
-
}
|
57
|
-
|
58
|
-
export { globalState };
|
59
|
-
//# sourceMappingURL=index.es9.js.map
|
package/dist/index.es9.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.es9.js","sources":["../src/powell/utils/globalState.ts"],"sourcesContent":["import {SetStateAction, useEffect, useLayoutEffect, useRef, useState} from \"react\";\r\n\r\ntype Set<T> = (newState: SetStateAction<T>, callback?: (newState: T) => void) => void;\r\n\r\ntype UseSelector<T> = <TSelected = unknown>(selector: (state: T) => TSelected, equalityFn?: Comparator<TSelected>) => TSelected;\r\n\r\nexport interface StateWithValue<T> {\r\n use: () => [T, Set<T>];\r\n useValue: () => T;\r\n get: () => T;\r\n useSelector: UseSelector<T>;\r\n set: Set<T>;\r\n reset: () => void;\r\n subscribe(subscriber: SubscriberFunc<T>): () => void;\r\n}\r\n\r\ntype SubscriberFunc<T> = (newState: T, previousState: T) => void;\r\n\r\ninterface Options<T> {\r\n onSet?: SubscriberFunc<T>;\r\n}\r\n\r\ntype Comparator<TSelected = unknown> = (a: TSelected, b: TSelected) => boolean;\r\n\r\nconst useIsomorphicLayoutEffect =\r\n typeof window !== \"undefined\" || typeof document !== \"undefined\"\r\n ? useLayoutEffect\r\n : useEffect;\r\n\r\nconst equ: Comparator = (a, b) => a === b;\r\n\r\nconst FR = {};\r\n\r\nfunction useComparator<T>(v: T, c: Comparator<T> = equ): T {\r\n const f = useRef(FR as T);\r\n let nv = f.current;\r\n\r\n useIsomorphicLayoutEffect(() => {\r\n f.current = nv;\r\n });\r\n\r\n if (f.current === FR || !c(v, f.current)) {\r\n nv = v;\r\n }\r\n\r\n return nv;\r\n}\r\n\r\nexport function globalState<T>(initialValue: T, options?: Options<T>): StateWithValue<T> {\r\n let sb: SubscriberFunc<T>[] = [];\r\n\r\n let v: T = initialValue;\r\n\r\n function set(newValue: SetStateAction<T>, callback?: SubscriberFunc<T>) {\r\n const pv = v;\r\n v = newValue instanceof Function ? newValue(v) : newValue;\r\n\r\n setTimeout(() => {\r\n sb.forEach((c) => c(v, pv));\r\n callback?.(v, pv);\r\n options?.onSet?.(v, pv);\r\n });\r\n }\r\n\r\n function subscribe(subscriber: SubscriberFunc<T>): () => void {\r\n sb.push(subscriber);\r\n return () => {\r\n sb = sb.filter((f) => f !== subscriber);\r\n };\r\n }\r\n\r\n function useSubscription(subscriber: SubscriberFunc<T>) {\r\n useIsomorphicLayoutEffect(() => subscribe(subscriber), [subscriber]);\r\n }\r\n\r\n function use(): [T, Set<T>] {\r\n const [l, s] = useState<T>(v);\r\n useSubscription(s);\r\n return [l, set];\r\n }\r\n\r\n function useSelector<TSelected = unknown>(selector: (state: T) => TSelected, comparator: Comparator<TSelected> = equ): TSelected {\r\n const [rv] = use();\r\n return useComparator(selector(rv), comparator);\r\n }\r\n\r\n return {\r\n use,\r\n useSelector,\r\n useValue: () => use()[0],\r\n get: () => v,\r\n set,\r\n reset: () => set(initialValue),\r\n subscribe,\r\n };\r\n}\r\n"],"names":[],"mappings":";;AAwBA,MAAM,4BACF,OAAO,MAAA,KAAW,eAAe,OAAO,QAAA,KAAa,cAC/C,eACA,GAAA,SAAA;AAEV,MAAM,GAAkB,GAAA,CAAC,CAAG,EAAA,CAAA,KAAM,CAAM,KAAA,CAAA;AAExC,MAAM,KAAK,EAAC;AAEZ,SAAS,aAAA,CAAiB,CAAM,EAAA,CAAA,GAAmB,GAAQ,EAAA;AACzD,EAAM,MAAA,CAAA,GAAI,OAAO,EAAO,CAAA;AACxB,EAAA,IAAI,KAAK,CAAE,CAAA,OAAA;AAEX,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,CAAA,CAAE,OAAU,GAAA,EAAA;AAAA,GACb,CAAA;AAED,EAAI,IAAA,CAAA,CAAE,YAAY,EAAM,IAAA,CAAC,EAAE,CAAG,EAAA,CAAA,CAAE,OAAO,CAAG,EAAA;AACxC,IAAK,EAAA,GAAA,CAAA;AAAA;AAGP,EAAO,OAAA,EAAA;AACT;AAEgB,SAAA,WAAA,CAAe,cAAiB,OAAyC,EAAA;AACvF,EAAA,IAAI,KAA0B,EAAC;AAE/B,EAAA,IAAI,CAAO,GAAA,YAAA;AAEX,EAAS,SAAA,GAAA,CAAI,UAA6B,QAA8B,EAAA;AACtE,IAAA,MAAM,EAAK,GAAA,CAAA;AACX,IAAA,CAAA,GAAI,QAAoB,YAAA,QAAA,GAAW,QAAS,CAAA,CAAC,CAAI,GAAA,QAAA;AAEjD,IAAA,UAAA,CAAW,MAAM;AACf,MAAA,EAAA,CAAG,QAAQ,CAAC,CAAA,KAAM,CAAE,CAAA,CAAA,EAAG,EAAE,CAAC,CAAA;AAC1B,MAAA,QAAA,GAAW,GAAG,EAAE,CAAA;AAChB,MAAS,OAAA,EAAA,KAAA,GAAQ,GAAG,EAAE,CAAA;AAAA,KACvB,CAAA;AAAA;AAGH,EAAA,SAAS,UAAU,UAA2C,EAAA;AAC5D,IAAA,EAAA,CAAG,KAAK,UAAU,CAAA;AAClB,IAAA,OAAO,MAAM;AACX,MAAA,EAAA,GAAK,EAAG,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,MAAM,UAAU,CAAA;AAAA,KACxC;AAAA;AAGF,EAAA,SAAS,gBAAgB,UAA+B,EAAA;AACtD,IAAA,yBAAA,CAA0B,MAAM,SAAU,CAAA,UAAU,CAAG,EAAA,CAAC,UAAU,CAAC,CAAA;AAAA;AAGrE,EAAA,SAAS,GAAmB,GAAA;AAC1B,IAAA,MAAM,CAAC,CAAA,EAAG,CAAC,CAAA,GAAI,SAAY,CAAC,CAAA;AAC5B,IAAA,eAAA,CAAgB,CAAC,CAAA;AACjB,IAAO,OAAA,CAAC,GAAG,GAAG,CAAA;AAAA;AAGhB,EAAS,SAAA,WAAA,CAAiC,QAAmC,EAAA,UAAA,GAAoC,GAAgB,EAAA;AAC/H,IAAM,MAAA,CAAC,EAAE,CAAA,GAAI,GAAI,EAAA;AACjB,IAAA,OAAO,aAAc,CAAA,QAAA,CAAS,EAAE,CAAA,EAAG,UAAU,CAAA;AAAA;AAG/C,EAAO,OAAA;AAAA,IACL,GAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAU,EAAA,MAAM,GAAI,EAAA,CAAE,CAAC,CAAA;AAAA,IACvB,KAAK,MAAM,CAAA;AAAA,IACX,GAAA;AAAA,IACA,KAAA,EAAO,MAAM,GAAA,CAAI,YAAY,CAAA;AAAA,IAC7B;AAAA,GACF;AACF;;;;"}
|