powell-react 0.0.31 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/index.cjs.js +348 -2072
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.cjs11.js +18 -0
  4. package/dist/index.cjs11.js.map +1 -0
  5. package/dist/index.cjs12.js +123 -0
  6. package/dist/index.cjs12.js.map +1 -0
  7. package/dist/index.cjs13.js +120 -0
  8. package/dist/index.cjs13.js.map +1 -0
  9. package/dist/index.cjs14.js +16 -0
  10. package/dist/index.cjs14.js.map +1 -0
  11. package/dist/index.cjs15.js +8 -0
  12. package/dist/index.cjs15.js.map +1 -0
  13. package/dist/index.cjs16.js +29 -0
  14. package/dist/index.cjs16.js.map +1 -0
  15. package/dist/index.cjs17.js +1330 -0
  16. package/dist/index.cjs17.js.map +1 -0
  17. package/dist/index.cjs18.js +8 -0
  18. package/dist/index.cjs18.js.map +1 -0
  19. package/dist/index.cjs19.js +8 -0
  20. package/dist/index.cjs19.js.map +1 -0
  21. package/dist/index.cjs2.js +167 -0
  22. package/dist/index.cjs2.js.map +1 -0
  23. package/dist/index.cjs20.js +26 -0
  24. package/dist/index.cjs20.js.map +1 -0
  25. package/dist/index.cjs3.js +10 -0
  26. package/dist/index.cjs3.js.map +1 -0
  27. package/dist/index.cjs4.js +18 -0
  28. package/dist/index.cjs4.js.map +1 -0
  29. package/dist/index.cjs5.js +144 -0
  30. package/dist/index.cjs5.js.map +1 -0
  31. package/dist/index.cjs6.js +55 -0
  32. package/dist/index.cjs6.js.map +1 -0
  33. package/dist/index.cjs7.js +128 -0
  34. package/dist/index.cjs7.js.map +1 -0
  35. package/dist/index.cjs8.js +201 -0
  36. package/dist/index.cjs8.js.map +1 -0
  37. package/dist/index.cjs9.js +63 -0
  38. package/dist/index.cjs9.js.map +1 -0
  39. package/dist/index.es.js +9 -1744
  40. package/dist/index.es.js.map +1 -1
  41. package/dist/index.es11.js +14 -0
  42. package/dist/index.es11.js.map +1 -0
  43. package/dist/index.es12.js +119 -0
  44. package/dist/index.es12.js.map +1 -0
  45. package/dist/index.es13.js +118 -0
  46. package/dist/index.es13.js.map +1 -0
  47. package/dist/index.es14.js +11 -0
  48. package/dist/index.es14.js.map +1 -0
  49. package/dist/index.es15.js +4 -0
  50. package/dist/index.es15.js.map +1 -0
  51. package/dist/index.es16.js +25 -0
  52. package/dist/index.es16.js.map +1 -0
  53. package/dist/index.es17.js +1326 -0
  54. package/dist/index.es17.js.map +1 -0
  55. package/dist/index.es18.js +4 -0
  56. package/dist/index.es18.js.map +1 -0
  57. package/dist/index.es19.js +4 -0
  58. package/dist/index.es19.js.map +1 -0
  59. package/dist/index.es2.js +163 -0
  60. package/dist/index.es2.js.map +1 -0
  61. package/dist/index.es20.js +22 -0
  62. package/dist/index.es20.js.map +1 -0
  63. package/dist/index.es3.js +6 -0
  64. package/dist/index.es3.js.map +1 -0
  65. package/dist/index.es4.js +14 -0
  66. package/dist/index.es4.js.map +1 -0
  67. package/dist/index.es5.js +140 -0
  68. package/dist/index.es5.js.map +1 -0
  69. package/dist/index.es6.js +51 -0
  70. package/dist/index.es6.js.map +1 -0
  71. package/dist/index.es7.js +123 -0
  72. package/dist/index.es7.js.map +1 -0
  73. package/dist/index.es8.js +196 -0
  74. package/dist/index.es8.js.map +1 -0
  75. package/dist/index.es9.js +59 -0
  76. package/dist/index.es9.js.map +1 -0
  77. package/package.json +5 -2
@@ -0,0 +1,55 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const usePowellConfig = require('./index.cjs8.js');
6
+
7
+ const splitProps = (props, groups) => {
8
+ const result = {};
9
+ const rest = {};
10
+ const assigned = {};
11
+ const restEligible = {};
12
+ for (const groupName in groups) {
13
+ for (const descriptor of groups[groupName]) {
14
+ const key = typeof descriptor === "string" ? descriptor : descriptor.key;
15
+ const alias = typeof descriptor === "string" ? void 0 : descriptor.alias;
16
+ const defaultValue = typeof descriptor === "string" ? void 0 : descriptor.defaultValue;
17
+ const keepInRest = typeof descriptor === "string" ? false : descriptor.keepInRest ?? false;
18
+ if (!result[groupName]) {
19
+ result[groupName] = {};
20
+ }
21
+ const value = key in props ? props[key] : typeof defaultValue === "function" ? defaultValue() : defaultValue;
22
+ result[groupName][alias ?? key] = value;
23
+ assigned[key] = true;
24
+ if (keepInRest) {
25
+ restEligible[key] = true;
26
+ }
27
+ }
28
+ }
29
+ for (const key in props) {
30
+ const typedKey = key;
31
+ if (!assigned[typedKey] || restEligible[typedKey]) {
32
+ rest[typedKey] = props[typedKey];
33
+ }
34
+ }
35
+ result.rest = rest;
36
+ return result;
37
+ };
38
+ const useApplyConfig = (props, options) => {
39
+ const [config] = usePowellConfig.usePowellConfig();
40
+ const { sizable = true, isFixLabel = false, groups = {} } = options;
41
+ const result = {
42
+ ...props,
43
+ rtl: props.rtl ?? config.rtl,
44
+ showRequiredStar: props.showRequiredStar ?? config.showRequiredStar,
45
+ labelPosition: props.labelPosition ?? (isFixLabel ? config.fixLabelPosition : config.labelPosition),
46
+ ..."variant" in props ? { variant: props.variant ?? config.inputStyle } : {}
47
+ };
48
+ if (sizable) {
49
+ result.inputSize = props.inputSize ?? config.inputSize;
50
+ }
51
+ return splitProps(result, groups);
52
+ };
53
+
54
+ exports.useApplyConfig = useApplyConfig;
55
+ //# sourceMappingURL=index.cjs6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs6.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":["usePowellConfig"],"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,GAAIA,+BAAgB,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;;;;"}
@@ -0,0 +1,128 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const require$$0 = require('react');
6
+ require('./index.cjs13.js');
7
+ const FormContext = require('./index.cjs14.js');
8
+ const formik = require('formik');
9
+ require('yup');
10
+ require('./index.cjs11.js');
11
+ require('primereact/autocomplete');
12
+ require('primereact/calendar');
13
+ require('primereact/cascadeselect');
14
+ require('primereact/checkbox');
15
+ require('primereact/chips');
16
+ require('primereact/colorpicker');
17
+ require('primereact/dropdown');
18
+ require('primereact/editor');
19
+ require('primereact/floatlabel');
20
+ require('primereact/inputicon');
21
+ require('primereact/iconfield');
22
+ require('primereact/inputmask');
23
+ require('primereact/inputswitch');
24
+ require('primereact/inputnumber');
25
+ require('primereact/inputotp');
26
+ require('primereact/inputtext');
27
+ require('primereact/inputtextarea');
28
+ require('primereact/knob');
29
+ require('primereact/listbox');
30
+ require('primereact/mention');
31
+ require('primereact/multiselect');
32
+ require('primereact/multistatecheckbox');
33
+ require('primereact/password');
34
+ require('primereact/radiobutton');
35
+ require('primereact/rating');
36
+ require('primereact/selectbutton');
37
+ require('primereact/slider');
38
+ require('primereact/treeselect');
39
+ require('primereact/tristatecheckbox');
40
+ require('primereact/togglebutton');
41
+ require('primereact/button');
42
+ require('primereact/speeddial');
43
+ require('primereact/splitbutton');
44
+ require('primereact/datatable');
45
+ require('primereact/dataview');
46
+ require('primereact/datascroller');
47
+ require('primereact/orderlist');
48
+ require('primereact/organizationchart');
49
+ require('primereact/paginator');
50
+ require('primereact/picklist');
51
+ require('primereact/tree');
52
+ require('primereact/treetable');
53
+ require('primereact/timeline');
54
+ require('primereact/virtualscroller');
55
+ require('primereact/accordion');
56
+ require('primereact/card');
57
+ require('primereact/deferredcontent');
58
+ require('primereact/divider');
59
+ require('primereact/fieldset');
60
+ require('primereact/panel');
61
+ require('primereact/scrollpanel');
62
+ require('primereact/splitter');
63
+ require('primereact/stepper');
64
+ require('primereact/tabview');
65
+ require('primereact/toolbar');
66
+ require('primereact/confirmdialog');
67
+ require('primereact/confirmpopup');
68
+ require('primereact/dialog');
69
+ require('primereact/overlaypanel');
70
+ require('primereact/sidebar');
71
+ require('primereact/tooltip');
72
+ require('primereact/fileupload');
73
+ require('primereact/breadcrumb');
74
+ require('primereact/contextmenu');
75
+ require('primereact/dock');
76
+ require('primereact/megamenu');
77
+ require('primereact/menu');
78
+ require('primereact/menubar');
79
+ require('primereact/panelmenu');
80
+ require('primereact/steps');
81
+ require('primereact/tabmenu');
82
+ require('primereact/tieredmenu');
83
+ require('primereact/message');
84
+ require('primereact/messages');
85
+ require('primereact/toast');
86
+ require('primereact/carousel');
87
+ require('primereact/galleria');
88
+ require('primereact/image');
89
+ require('primereact/avatar');
90
+ require('primereact/badge');
91
+ require('primereact/blockui');
92
+ require('primereact/chip');
93
+ require('primereact/inplace');
94
+ require('primereact/metergroup');
95
+ require('primereact/scrolltop');
96
+ require('primereact/skeleton');
97
+ require('primereact/progressbar');
98
+ require('primereact/progressspinner');
99
+ require('primereact/ripple');
100
+ require('primereact/styleclass');
101
+ require('primereact/tag');
102
+ require('primereact/terminal');
103
+ require('primereact/api');
104
+ require('primereact/utils');
105
+
106
+ const useFormContext = () => {
107
+ const context = require$$0.useContext(FormContext.FormContext);
108
+ const formikContext = useSafeFormikContext();
109
+ if (!context || !formikContext) {
110
+ return null;
111
+ }
112
+ return { ...context, ...formikContext };
113
+ };
114
+ function useSafeFormikContext() {
115
+ const context = require$$0.useContext(formik.FormikContext);
116
+ try {
117
+ if (context) {
118
+ return formik.useFormikContext();
119
+ }
120
+ return void 0;
121
+ } catch {
122
+ return void 0;
123
+ }
124
+ }
125
+
126
+ exports.useFormContext = useFormContext;
127
+ exports.useSafeFormikContext = useSafeFormikContext;
128
+ //# sourceMappingURL=index.cjs7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs7.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":["useContext","FormContext","$FormikContext","$useFormikContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,iBAAiB,MAAM;AAClC,EAAM,MAAA,OAAA,GAAUA,sBAAWC,uBAAW,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,GAAUD,sBAAWE,oBAAc,CAAA;AACzC,EAAI,IAAA;AACF,IAAA,IAAI,OAAS,EAAA;AACX,MAAA,OAAOC,uBAAqB,EAAA;AAAA;AAE9B,IAAO,OAAA,KAAA,CAAA;AAAA,GACD,CAAA,MAAA;AACN,IAAO,OAAA,MAAA;AAAA;AAEX;;;;;"}
@@ -0,0 +1,201 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const configService = require('./index.cjs3.js');
6
+ require('formik');
7
+ require('yup');
8
+ require('./index.cjs11.js');
9
+ const require$$0 = require('react');
10
+ require('./index.cjs13.js');
11
+ require('./index.cjs14.js');
12
+ require('primereact/autocomplete');
13
+ require('primereact/calendar');
14
+ require('primereact/cascadeselect');
15
+ require('primereact/checkbox');
16
+ require('primereact/chips');
17
+ require('primereact/colorpicker');
18
+ require('primereact/dropdown');
19
+ require('primereact/editor');
20
+ require('primereact/floatlabel');
21
+ require('primereact/inputicon');
22
+ require('primereact/iconfield');
23
+ require('primereact/inputmask');
24
+ require('primereact/inputswitch');
25
+ require('primereact/inputnumber');
26
+ require('primereact/inputotp');
27
+ require('primereact/inputtext');
28
+ require('primereact/inputtextarea');
29
+ require('primereact/knob');
30
+ require('primereact/listbox');
31
+ require('primereact/mention');
32
+ require('primereact/multiselect');
33
+ require('primereact/multistatecheckbox');
34
+ require('primereact/password');
35
+ require('primereact/radiobutton');
36
+ require('primereact/rating');
37
+ require('primereact/selectbutton');
38
+ require('primereact/slider');
39
+ require('primereact/treeselect');
40
+ require('primereact/tristatecheckbox');
41
+ require('primereact/togglebutton');
42
+ require('primereact/button');
43
+ require('primereact/speeddial');
44
+ require('primereact/splitbutton');
45
+ require('primereact/datatable');
46
+ require('primereact/dataview');
47
+ require('primereact/datascroller');
48
+ require('primereact/orderlist');
49
+ require('primereact/organizationchart');
50
+ require('primereact/paginator');
51
+ require('primereact/picklist');
52
+ require('primereact/tree');
53
+ require('primereact/treetable');
54
+ require('primereact/timeline');
55
+ require('primereact/virtualscroller');
56
+ require('primereact/accordion');
57
+ require('primereact/card');
58
+ require('primereact/deferredcontent');
59
+ require('primereact/divider');
60
+ require('primereact/fieldset');
61
+ require('primereact/panel');
62
+ require('primereact/scrollpanel');
63
+ require('primereact/splitter');
64
+ require('primereact/stepper');
65
+ require('primereact/tabview');
66
+ require('primereact/toolbar');
67
+ require('primereact/confirmdialog');
68
+ require('primereact/confirmpopup');
69
+ require('primereact/dialog');
70
+ require('primereact/overlaypanel');
71
+ require('primereact/sidebar');
72
+ require('primereact/tooltip');
73
+ require('primereact/fileupload');
74
+ require('primereact/breadcrumb');
75
+ require('primereact/contextmenu');
76
+ require('primereact/dock');
77
+ require('primereact/megamenu');
78
+ require('primereact/menu');
79
+ require('primereact/menubar');
80
+ require('primereact/panelmenu');
81
+ require('primereact/steps');
82
+ require('primereact/tabmenu');
83
+ require('primereact/tieredmenu');
84
+ require('primereact/message');
85
+ require('primereact/messages');
86
+ require('primereact/toast');
87
+ require('primereact/carousel');
88
+ require('primereact/galleria');
89
+ require('primereact/image');
90
+ require('primereact/avatar');
91
+ require('primereact/badge');
92
+ require('primereact/blockui');
93
+ require('primereact/chip');
94
+ require('primereact/inplace');
95
+ require('primereact/metergroup');
96
+ require('primereact/scrolltop');
97
+ require('primereact/skeleton');
98
+ require('primereact/progressbar');
99
+ require('primereact/progressspinner');
100
+ require('primereact/ripple');
101
+ require('primereact/styleclass');
102
+ require('primereact/tag');
103
+ require('primereact/terminal');
104
+ const api = require('primereact/api');
105
+ require('primereact/utils');
106
+
107
+ const usePowellConfig = () => {
108
+ const [powellConfig, setPowellConfig] = configService.configService.use();
109
+ const {
110
+ setPt,
111
+ setFilterMatchModeOptions,
112
+ setLocale,
113
+ setNonce,
114
+ setHideOverlaysOnDocumentScrolling,
115
+ setRipple,
116
+ setCssTransition,
117
+ setStyleContainer,
118
+ setInputStyle,
119
+ setNullSortOrder,
120
+ setZIndex,
121
+ setAutoZIndex,
122
+ setAppendTo,
123
+ changeTheme,
124
+ ...restPrimeConfig
125
+ } = require$$0.useContext(api.PrimeReactContext);
126
+ const configAction = {
127
+ pt: setPt,
128
+ filterMatchModeOptions: setFilterMatchModeOptions,
129
+ locale: setLocale,
130
+ nonce: setNonce,
131
+ hideOverlaysOnDocumentScrolling: setHideOverlaysOnDocumentScrolling,
132
+ ripple: setRipple,
133
+ cssTransition: setCssTransition,
134
+ styleContainer: setStyleContainer,
135
+ inputStyle: setInputStyle,
136
+ nullSortOrder: setNullSortOrder,
137
+ zIndex: setZIndex,
138
+ autoZIndex: setAutoZIndex,
139
+ appendTo: setAppendTo,
140
+ theme: (v) => changeTheme?.(powellConfig.theme, v.theme, "powell-theme-link")
141
+ };
142
+ const updateConfig = (c) => {
143
+ for (const key in c) {
144
+ if (key in configAction) {
145
+ configAction[key]?.(c);
146
+ }
147
+ applyConfigToDom({ ...c, injectDirectionToRoot: powellConfig.injectDirectionToRoot });
148
+ setPowellConfig((prev) => ({ ...prev, ...c }));
149
+ }
150
+ };
151
+ return [{ ...powellConfig, ...restPrimeConfig }, updateConfig];
152
+ };
153
+ const applyConfigToDom = (config) => {
154
+ handleBodyClasses(config);
155
+ if ("rtl" in config && config.injectDirectionToRoot) {
156
+ document.documentElement.setAttribute("dir", config.rtl ? "rtl" : "ltr");
157
+ } else {
158
+ document.documentElement.removeAttribute("dir");
159
+ }
160
+ };
161
+ const kebabCase = (str) => str.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
162
+ const handleBodyClasses = (config) => {
163
+ const specialBodyClassRules = {
164
+ ripple: [
165
+ {
166
+ condition: (v) => v === false,
167
+ className: "p-ripple-disabled"
168
+ }
169
+ ],
170
+ inputStyle: [
171
+ {
172
+ condition: (v) => v === "filled",
173
+ className: "p-input-filled"
174
+ }
175
+ ]
176
+ };
177
+ for (const key in config) {
178
+ const value = config[key];
179
+ if (value === void 0) continue;
180
+ const rules = specialBodyClassRules[key];
181
+ if (rules && rules.length) {
182
+ for (const rule of rules) {
183
+ const shouldApply = rule.condition(value);
184
+ document.body.classList.toggle(rule.className, shouldApply);
185
+ }
186
+ } else {
187
+ const prefix = `powell-${kebabCase(key)}-`;
188
+ document.body.classList.forEach((cls) => {
189
+ if (cls.startsWith(prefix)) {
190
+ document.body.classList.remove(cls);
191
+ }
192
+ });
193
+ const finalValue = typeof value === "boolean" ? value ? "enabled" : "disabled" : value;
194
+ document.body.classList.add(`${prefix}${finalValue}`);
195
+ }
196
+ }
197
+ };
198
+
199
+ exports.applyConfigToDom = applyConfigToDom;
200
+ exports.usePowellConfig = usePowellConfig;
201
+ //# sourceMappingURL=index.cjs8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs8.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":["configService","useContext","$PrimeReactContext"],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const require$$0 = require('react');
6
+
7
+ const useIsomorphicLayoutEffect = typeof window !== "undefined" || typeof document !== "undefined" ? require$$0.useLayoutEffect : require$$0.useEffect;
8
+ const equ = (a, b) => a === b;
9
+ const FR = {};
10
+ function useComparator(v, c = equ) {
11
+ const f = require$$0.useRef(FR);
12
+ let nv = f.current;
13
+ useIsomorphicLayoutEffect(() => {
14
+ f.current = nv;
15
+ });
16
+ if (f.current === FR || !c(v, f.current)) {
17
+ nv = v;
18
+ }
19
+ return nv;
20
+ }
21
+ function globalState(initialValue, options) {
22
+ let sb = [];
23
+ let v = initialValue;
24
+ function set(newValue, callback) {
25
+ const pv = v;
26
+ v = newValue instanceof Function ? newValue(v) : newValue;
27
+ setTimeout(() => {
28
+ sb.forEach((c) => c(v, pv));
29
+ callback?.(v, pv);
30
+ options?.onSet?.(v, pv);
31
+ });
32
+ }
33
+ function subscribe(subscriber) {
34
+ sb.push(subscriber);
35
+ return () => {
36
+ sb = sb.filter((f) => f !== subscriber);
37
+ };
38
+ }
39
+ function useSubscription(subscriber) {
40
+ useIsomorphicLayoutEffect(() => subscribe(subscriber), [subscriber]);
41
+ }
42
+ function use() {
43
+ const [l, s] = require$$0.useState(v);
44
+ useSubscription(s);
45
+ return [l, set];
46
+ }
47
+ function useSelector(selector, comparator = equ) {
48
+ const [rv] = use();
49
+ return useComparator(selector(rv), comparator);
50
+ }
51
+ return {
52
+ use,
53
+ useSelector,
54
+ useValue: () => use()[0],
55
+ get: () => v,
56
+ set,
57
+ reset: () => set(initialValue),
58
+ subscribe
59
+ };
60
+ }
61
+
62
+ exports.globalState = globalState;
63
+ //# sourceMappingURL=index.cjs9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs9.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":["useLayoutEffect","useEffect","useRef","useState"],"mappings":";;;;;;AAwBA,MAAM,4BACF,OAAO,MAAA,KAAW,eAAe,OAAO,QAAA,KAAa,cAC/CA,0BACA,GAAAC,oBAAA;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,GAAIC,kBAAO,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,GAAIC,oBAAY,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;;;;"}