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.
Files changed (95) hide show
  1. package/dist/{index.cjs15.js → esm/_virtual/jsx-runtime.js} +1 -1
  2. package/dist/esm/_virtual/jsx-runtime.js.map +1 -0
  3. package/dist/{index.cjs19.js → esm/_virtual/react-jsx-runtime.development.js} +1 -1
  4. package/dist/esm/_virtual/react-jsx-runtime.development.js.map +1 -0
  5. package/dist/{index.cjs18.js → esm/_virtual/react-jsx-runtime.production.min.js} +1 -1
  6. package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  7. package/dist/{index.cjs17.js → esm/node_modules/react/cjs/react-jsx-runtime.development.js} +2 -2
  8. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
  9. package/dist/{index.cjs16.js → esm/node_modules/react/cjs/react-jsx-runtime.production.min.js} +2 -2
  10. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
  11. package/dist/{index.cjs11.js → esm/node_modules/react/jsx-runtime.js} +4 -4
  12. package/dist/esm/node_modules/react/jsx-runtime.js.map +1 -0
  13. package/dist/{index.cjs5.js → esm/powell/api/PowellProvider.js} +8 -8
  14. package/dist/esm/powell/api/PowellProvider.js.map +1 -0
  15. package/dist/{index.cjs3.js → esm/powell/api/configService.js} +2 -2
  16. package/dist/esm/powell/api/configService.js.map +1 -0
  17. package/dist/{index.cjs20.js → esm/powell/api/overlayEmitter.js} +1 -1
  18. package/dist/esm/powell/api/overlayEmitter.js.map +1 -0
  19. package/dist/{index.cjs4.js → esm/powell/api/powellDefaults.js} +1 -1
  20. package/dist/esm/powell/api/powellDefaults.js.map +1 -0
  21. package/dist/{index.cjs2.js → esm/powell/components/Button/Button.js} +4 -4
  22. package/dist/esm/powell/components/Button/Button.js.map +1 -0
  23. package/dist/{index.cjs13.js → esm/powell/components/FormContainer/FormContainer.js} +4 -4
  24. package/dist/esm/powell/components/FormContainer/FormContainer.js.map +1 -0
  25. package/dist/{index.cjs14.js → esm/powell/components/FormContainer/FormContext.js} +2 -2
  26. package/dist/esm/powell/components/FormContainer/FormContext.js.map +1 -0
  27. package/dist/{index.cjs12.js → esm/powell/components/Toast/Toast.js} +5 -5
  28. package/dist/esm/powell/components/Toast/Toast.js.map +1 -0
  29. package/dist/{index.cjs6.js → esm/powell/hooks/useApplyConfig.js} +2 -2
  30. package/dist/esm/powell/hooks/useApplyConfig.js.map +1 -0
  31. package/dist/{index.cjs7.js → esm/powell/hooks/useFormContext.js} +4 -4
  32. package/dist/esm/powell/hooks/useFormContext.js.map +1 -0
  33. package/dist/{index.cjs8.js → esm/powell/hooks/usePowellConfig.js} +5 -5
  34. package/dist/esm/powell/hooks/usePowellConfig.js.map +1 -0
  35. package/dist/{index.cjs.js → esm/powell/index.js} +10 -10
  36. package/dist/{index.cjs.js.map → esm/powell/index.js.map} +1 -1
  37. package/dist/{index.cjs9.js → esm/powell/utils/globalState.js} +1 -1
  38. package/dist/esm/powell/utils/globalState.js.map +1 -0
  39. package/package.json +12 -7
  40. package/dist/index.cjs11.js.map +0 -1
  41. package/dist/index.cjs12.js.map +0 -1
  42. package/dist/index.cjs13.js.map +0 -1
  43. package/dist/index.cjs14.js.map +0 -1
  44. package/dist/index.cjs15.js.map +0 -1
  45. package/dist/index.cjs16.js.map +0 -1
  46. package/dist/index.cjs17.js.map +0 -1
  47. package/dist/index.cjs18.js.map +0 -1
  48. package/dist/index.cjs19.js.map +0 -1
  49. package/dist/index.cjs2.js.map +0 -1
  50. package/dist/index.cjs20.js.map +0 -1
  51. package/dist/index.cjs3.js.map +0 -1
  52. package/dist/index.cjs4.js.map +0 -1
  53. package/dist/index.cjs5.js.map +0 -1
  54. package/dist/index.cjs6.js.map +0 -1
  55. package/dist/index.cjs7.js.map +0 -1
  56. package/dist/index.cjs8.js.map +0 -1
  57. package/dist/index.cjs9.js.map +0 -1
  58. package/dist/index.es.js +0 -107
  59. package/dist/index.es.js.map +0 -1
  60. package/dist/index.es11.js +0 -14
  61. package/dist/index.es11.js.map +0 -1
  62. package/dist/index.es12.js +0 -119
  63. package/dist/index.es12.js.map +0 -1
  64. package/dist/index.es13.js +0 -118
  65. package/dist/index.es13.js.map +0 -1
  66. package/dist/index.es14.js +0 -11
  67. package/dist/index.es14.js.map +0 -1
  68. package/dist/index.es15.js +0 -4
  69. package/dist/index.es15.js.map +0 -1
  70. package/dist/index.es16.js +0 -25
  71. package/dist/index.es16.js.map +0 -1
  72. package/dist/index.es17.js +0 -1326
  73. package/dist/index.es17.js.map +0 -1
  74. package/dist/index.es18.js +0 -4
  75. package/dist/index.es18.js.map +0 -1
  76. package/dist/index.es19.js +0 -4
  77. package/dist/index.es19.js.map +0 -1
  78. package/dist/index.es2.js +0 -163
  79. package/dist/index.es2.js.map +0 -1
  80. package/dist/index.es20.js +0 -22
  81. package/dist/index.es20.js.map +0 -1
  82. package/dist/index.es3.js +0 -6
  83. package/dist/index.es3.js.map +0 -1
  84. package/dist/index.es4.js +0 -14
  85. package/dist/index.es4.js.map +0 -1
  86. package/dist/index.es5.js +0 -140
  87. package/dist/index.es5.js.map +0 -1
  88. package/dist/index.es6.js +0 -51
  89. package/dist/index.es6.js.map +0 -1
  90. package/dist/index.es7.js +0 -123
  91. package/dist/index.es7.js.map +0 -1
  92. package/dist/index.es8.js +0 -196
  93. package/dist/index.es8.js.map +0 -1
  94. package/dist/index.es9.js +0 -59
  95. package/dist/index.es9.js.map +0 -1
@@ -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
@@ -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
@@ -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
@@ -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;;;;"}