powell-react 0.0.45 → 0.0.50

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 (169) hide show
  1. package/dist/global.css +1 -0
  2. package/dist/index.cjs.css +1 -0
  3. package/dist/index.cjs.js +2 -0
  4. package/dist/index.cjs.js.map +1 -0
  5. package/dist/index.esm.css +1 -0
  6. package/dist/index.esm.js +2 -0
  7. package/dist/index.esm.js.map +1 -0
  8. package/dist/types/api/PowellProvider.d.ts +6 -0
  9. package/dist/types/api/configService.d.ts +2 -0
  10. package/dist/types/api/forms.d.ts +73 -0
  11. package/dist/types/api/index.d.ts +7 -0
  12. package/dist/types/api/overlayEmitter.d.ts +10 -0
  13. package/dist/types/api/overlayService.d.ts +9 -0
  14. package/dist/types/api/powellDefaults.d.ts +2 -0
  15. package/dist/types/api/primereact.d.ts +979 -0
  16. package/dist/types/components/AutoComplete/AutoComplete.d.ts +2 -0
  17. package/dist/types/components/AutoComplete/index.d.ts +1 -0
  18. package/dist/types/components/Button/Button.d.ts +2 -0
  19. package/dist/types/components/Button/index.d.ts +1 -0
  20. package/dist/types/components/CascadeSelect/CascadeSelect.d.ts +2 -0
  21. package/dist/types/components/CascadeSelect/index.d.ts +1 -0
  22. package/dist/types/components/Checkbox/Checkbox.d.ts +2 -0
  23. package/dist/types/components/Checkbox/index.d.ts +1 -0
  24. package/dist/types/components/Chips/Chips.d.ts +2 -0
  25. package/dist/types/components/Chips/index.d.ts +1 -0
  26. package/dist/types/components/ColorPicker/ColorPicker.d.ts +2 -0
  27. package/dist/types/components/ColorPicker/index.d.ts +1 -0
  28. package/dist/types/components/Dialog/Dialog.d.ts +2 -0
  29. package/dist/types/components/Dialog/index.d.ts +1 -0
  30. package/dist/types/components/DialogForm/DialogForm.d.ts +2 -0
  31. package/dist/types/components/DialogForm/index.d.ts +1 -0
  32. package/dist/types/components/Dropdown/Dropdown.d.ts +2 -0
  33. package/dist/types/components/Dropdown/index.d.ts +1 -0
  34. package/dist/types/components/Editor/Editor.d.ts +2 -0
  35. package/dist/types/components/Editor/index.d.ts +1 -0
  36. package/dist/types/components/FieldControl/FieldControl.d.ts +2 -0
  37. package/dist/types/components/FieldControl/index.d.ts +1 -0
  38. package/dist/types/components/FieldLayout/FieldLayout.d.ts +3 -0
  39. package/dist/types/components/FieldLayout/index.d.ts +1 -0
  40. package/dist/types/components/FormContainer/FormContainer.d.ts +3 -0
  41. package/dist/types/components/FormContainer/FormContext.d.ts +4 -0
  42. package/dist/types/components/FormContainer/index.d.ts +2 -0
  43. package/dist/types/components/InputMask/InputMask.d.ts +2 -0
  44. package/dist/types/components/InputMask/index.d.ts +1 -0
  45. package/dist/types/components/InputNumber/InputNumber.d.ts +2 -0
  46. package/dist/types/components/InputNumber/index.d.ts +1 -0
  47. package/dist/types/components/InputOtp/InputOtp.d.ts +2 -0
  48. package/dist/types/components/InputOtp/index.d.ts +1 -0
  49. package/dist/types/components/InputPassword/InputPassword.d.ts +2 -0
  50. package/dist/types/components/InputPassword/index.d.ts +1 -0
  51. package/dist/types/components/InputSwitch/InputSwitch.d.ts +2 -0
  52. package/dist/types/components/InputSwitch/index.d.ts +1 -0
  53. package/dist/types/components/InputText/InputText.d.ts +2 -0
  54. package/dist/types/components/InputText/index.d.ts +1 -0
  55. package/dist/types/components/InputTextarea/InputTextarea.d.ts +2 -0
  56. package/dist/types/components/InputTextarea/index.d.ts +1 -0
  57. package/dist/types/components/Knob/Knob.d.ts +2 -0
  58. package/dist/types/components/Knob/index.d.ts +1 -0
  59. package/dist/types/components/ListBox/ListBox.d.ts +2 -0
  60. package/dist/types/components/ListBox/index.d.ts +1 -0
  61. package/dist/types/components/Mention/Mention.d.ts +2 -0
  62. package/dist/types/components/Mention/index.d.ts +1 -0
  63. package/dist/types/components/MultiSelect/MultiSelect.d.ts +2 -0
  64. package/dist/types/components/MultiSelect/index.d.ts +1 -0
  65. package/dist/types/components/MultiStateCheckbox/MultiStateCheckbox.d.ts +2 -0
  66. package/dist/types/components/MultiStateCheckbox/index.d.ts +1 -0
  67. package/dist/types/components/RadioGroup/RadioGroup.d.ts +2 -0
  68. package/dist/types/components/RadioGroup/index.d.ts +1 -0
  69. package/dist/types/components/Rating/Rating.d.ts +2 -0
  70. package/dist/types/components/Rating/index.d.ts +1 -0
  71. package/dist/types/components/SelectButton/SelectButton.d.ts +2 -0
  72. package/dist/types/components/SelectButton/index.d.ts +1 -0
  73. package/dist/types/components/Slider/Slider.d.ts +2 -0
  74. package/dist/types/components/Slider/index.d.ts +1 -0
  75. package/dist/types/components/Toast/Toast.d.ts +2 -0
  76. package/dist/types/components/Toast/index.d.ts +1 -0
  77. package/dist/types/components/ToggleButton/ToggleButton.d.ts +2 -0
  78. package/dist/types/components/ToggleButton/index.d.ts +1 -0
  79. package/dist/types/components/TreeSelect/TreeSelect.d.ts +2 -0
  80. package/dist/types/components/TreeSelect/index.d.ts +1 -0
  81. package/dist/types/components/TriStateCheckbox/TriStateCheckbox.d.ts +2 -0
  82. package/dist/types/components/TriStateCheckbox/index.d.ts +1 -0
  83. package/dist/types/components/index.d.ts +33 -0
  84. package/dist/types/hooks/index.d.ts +3 -0
  85. package/dist/types/hooks/useApplyConfig.d.ts +23 -0
  86. package/dist/types/hooks/useFormContext.d.ts +4 -0
  87. package/dist/types/hooks/usePowellConfig.d.ts +3 -0
  88. package/dist/types/index.d.ts +5 -539
  89. package/dist/types/models/common.d.ts +10 -0
  90. package/dist/types/models/config.d.ts +14 -0
  91. package/dist/types/models/forms.d.ts +27 -0
  92. package/dist/types/models/index.d.ts +5 -0
  93. package/dist/types/models/overlay.d.ts +220 -0
  94. package/dist/types/models/props.d.ts +107 -0
  95. package/dist/types/utils/globalState.d.ts +19 -0
  96. package/dist/types/utils/index.d.ts +1 -0
  97. package/package.json +21 -71
  98. package/dist/cjs/_virtual/jsx-runtime.js +0 -6
  99. package/dist/cjs/_virtual/jsx-runtime.js.map +0 -1
  100. package/dist/cjs/_virtual/react-jsx-runtime.development.js +0 -6
  101. package/dist/cjs/_virtual/react-jsx-runtime.development.js.map +0 -1
  102. package/dist/cjs/_virtual/react-jsx-runtime.production.min.js +0 -6
  103. package/dist/cjs/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  104. package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1328
  105. package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
  106. package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -27
  107. package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +0 -1
  108. package/dist/cjs/node_modules/react/jsx-runtime.js +0 -16
  109. package/dist/cjs/node_modules/react/jsx-runtime.js.map +0 -1
  110. package/dist/cjs/powell/api/PowellProvider.js +0 -143
  111. package/dist/cjs/powell/api/PowellProvider.js.map +0 -1
  112. package/dist/cjs/powell/api/configService.js +0 -8
  113. package/dist/cjs/powell/api/configService.js.map +0 -1
  114. package/dist/cjs/powell/api/overlayEmitter.js +0 -24
  115. package/dist/cjs/powell/api/overlayEmitter.js.map +0 -1
  116. package/dist/cjs/powell/api/powellDefaults.js +0 -16
  117. package/dist/cjs/powell/api/powellDefaults.js.map +0 -1
  118. package/dist/cjs/powell/components/Button/Button.js +0 -163
  119. package/dist/cjs/powell/components/Button/Button.js.map +0 -1
  120. package/dist/cjs/powell/components/FormContainer/FormContext.js +0 -9
  121. package/dist/cjs/powell/components/FormContainer/FormContext.js.map +0 -1
  122. package/dist/cjs/powell/components/Toast/Toast.js +0 -122
  123. package/dist/cjs/powell/components/Toast/Toast.js.map +0 -1
  124. package/dist/cjs/powell/hooks/useApplyConfig.js +0 -59
  125. package/dist/cjs/powell/hooks/useApplyConfig.js.map +0 -1
  126. package/dist/cjs/powell/hooks/useFormContext.js +0 -128
  127. package/dist/cjs/powell/hooks/useFormContext.js.map +0 -1
  128. package/dist/cjs/powell/hooks/usePowellConfig.js +0 -202
  129. package/dist/cjs/powell/hooks/usePowellConfig.js.map +0 -1
  130. package/dist/cjs/powell/index.js +0 -768
  131. package/dist/cjs/powell/index.js.map +0 -1
  132. package/dist/cjs/powell/utils/globalState.js +0 -61
  133. package/dist/cjs/powell/utils/globalState.js.map +0 -1
  134. package/dist/esm/_virtual/jsx-runtime.js +0 -4
  135. package/dist/esm/_virtual/jsx-runtime.js.map +0 -1
  136. package/dist/esm/_virtual/react-jsx-runtime.development.js +0 -4
  137. package/dist/esm/_virtual/react-jsx-runtime.development.js.map +0 -1
  138. package/dist/esm/_virtual/react-jsx-runtime.production.min.js +0 -4
  139. package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  140. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1326
  141. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
  142. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -25
  143. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +0 -1
  144. package/dist/esm/node_modules/react/jsx-runtime.js +0 -14
  145. package/dist/esm/node_modules/react/jsx-runtime.js.map +0 -1
  146. package/dist/esm/powell/api/PowellProvider.js +0 -141
  147. package/dist/esm/powell/api/PowellProvider.js.map +0 -1
  148. package/dist/esm/powell/api/configService.js +0 -6
  149. package/dist/esm/powell/api/configService.js.map +0 -1
  150. package/dist/esm/powell/api/overlayEmitter.js +0 -22
  151. package/dist/esm/powell/api/overlayEmitter.js.map +0 -1
  152. package/dist/esm/powell/api/powellDefaults.js +0 -14
  153. package/dist/esm/powell/api/powellDefaults.js.map +0 -1
  154. package/dist/esm/powell/components/Button/Button.js +0 -161
  155. package/dist/esm/powell/components/Button/Button.js.map +0 -1
  156. package/dist/esm/powell/components/FormContainer/FormContext.js +0 -7
  157. package/dist/esm/powell/components/FormContainer/FormContext.js.map +0 -1
  158. package/dist/esm/powell/components/Toast/Toast.js +0 -120
  159. package/dist/esm/powell/components/Toast/Toast.js.map +0 -1
  160. package/dist/esm/powell/hooks/useApplyConfig.js +0 -57
  161. package/dist/esm/powell/hooks/useApplyConfig.js.map +0 -1
  162. package/dist/esm/powell/hooks/useFormContext.js +0 -125
  163. package/dist/esm/powell/hooks/useFormContext.js.map +0 -1
  164. package/dist/esm/powell/hooks/usePowellConfig.js +0 -199
  165. package/dist/esm/powell/hooks/usePowellConfig.js.map +0 -1
  166. package/dist/esm/powell/index.js +0 -106
  167. package/dist/esm/powell/index.js.map +0 -1
  168. package/dist/esm/powell/utils/globalState.js +0 -59
  169. package/dist/esm/powell/utils/globalState.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import { $APIOptions } from "@api";
2
+ import { FixLabelPosition, LabelPosition, Size } from "@models";
3
+ export type ThemeName = "arya-blue" | "arya-green" | "arya-orange" | "arya-purple" | "bootstrap4-dark-blue" | "bootstrap4-dark-purple" | "bootstrap4-light-blue" | "bootstrap4-light-purple" | "fluent-light" | "lara-dark-amber" | "lara-dark-blue" | "lara-dark-cyan" | "lara-dark-green" | "lara-dark-indigo" | "lara-dark-pink" | "lara-dark-purple" | "lara-dark-teal" | "lara-light-amber" | "lara-light-blue" | "lara-light-cyan" | "lara-light-green" | "lara-light-indigo" | "lara-light-pink" | "lara-light-purple" | "lara-light-teal" | "luna-amber" | "luna-blue" | "luna-green" | "luna-pink" | "md-dark-deeppurple" | "md-dark-indigo" | "md-light-deeppurple" | "md-light-indigo" | "mdc-dark-deeppurple" | "mdc-dark-indigo" | "mdc-light-deeppurple" | "mdc-light-indigo" | "mira" | "nano" | "nova" | "nova-accent" | "nova-alt" | "rhea" | "saga-blue" | "saga-green" | "saga-orange" | "saga-purple" | "soho-dark" | "soho-light" | "tailwind-light" | "vela-blue" | "vela-green" | "vela-orange" | "vela-purple" | "viva-dark" | "viva-light";
4
+ type OmittedApiOptions = Omit<$APIOptions, "setAppendTo" | "setStyleContainer" | "setAutoZIndex" | "setCssTransition" | "setFilterMatchModeOptions" | "setHideOverlaysOnDocumentScrolling" | "setInputStyle" | "setLocale" | "setNonce" | "setNullSortOrder" | "setRipple" | "setZIndex" | "setPt" | "changeTheme">;
5
+ export interface PowellConfig extends OmittedApiOptions {
6
+ theme?: ThemeName;
7
+ rtl?: boolean;
8
+ showRequiredStar?: boolean;
9
+ inputSize?: Size;
10
+ labelPosition?: LabelPosition;
11
+ fixLabelPosition?: FixLabelPosition;
12
+ injectDirectionToRoot?: boolean;
13
+ }
14
+ export {};
@@ -0,0 +1,27 @@
1
+ import { $ButtonProps, $FieldProps } from "@api";
2
+ import { ButtonAppearance, Position, SafeAny } from "@models";
3
+ import { MouseEvent, ReactNode } from "react";
4
+ export type LabelPosition = 'float' | 'side' | 'top';
5
+ export type FixLabelPosition = Exclude<LabelPosition, 'float'>;
6
+ export type IconPosition = Exclude<Position, 'top' | 'bottom'>;
7
+ export interface FieldControlMeta extends Partial<$FieldProps> {
8
+ handleChange?: (value: SafeAny) => void;
9
+ handleBlur?: (value: SafeAny) => void;
10
+ isRequired?: boolean;
11
+ errorElement?: ReactNode;
12
+ id?: string;
13
+ }
14
+ export interface AddonConfig {
15
+ type: 'button' | 'icon' | 'text';
16
+ label?: string;
17
+ severity?: $ButtonProps["severity"];
18
+ appearance?: ButtonAppearance;
19
+ icon?: string;
20
+ iconPosition?: IconPosition;
21
+ text?: string;
22
+ onClick?: (event: MouseEvent<HTMLElement>) => void;
23
+ }
24
+ export interface Addon {
25
+ before?: AddonConfig;
26
+ after?: AddonConfig;
27
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./common";
2
+ export * from "./config";
3
+ export * from "./forms";
4
+ export * from "./overlay";
5
+ export * from "./props";
@@ -0,0 +1,220 @@
1
+ import { ButtonAppearance, CssObject, IconPosition, SafeAny, Severity, Size, ToastPosition } from "@models";
2
+ export type DefaultFocus = 'accept' | 'reject';
3
+ export type HistoricComponent = 'confirmDialog' | 'confirmPopup' | 'dialog' | 'dialogForm' | 'bottomSheet';
4
+ export interface HistoryState {
5
+ key?: string;
6
+ component: HistoricComponent;
7
+ }
8
+ export interface NgToastOptions {
9
+ autoZIndex?: boolean;
10
+ baseZIndex?: number;
11
+ style?: CSSStyleDeclaration;
12
+ position?: ToastPosition;
13
+ preventOpenDuplicates?: boolean;
14
+ preventDuplicates?: boolean;
15
+ showTransformOptions?: string;
16
+ hideTransformOptions?: string;
17
+ showTransitionOptions?: string;
18
+ hideTransitionOptions?: string;
19
+ breakpoints?: SafeAny;
20
+ severity?: Severity;
21
+ summary?: string;
22
+ detail?: string;
23
+ id?: SafeAny;
24
+ key?: string;
25
+ life?: number;
26
+ sticky?: boolean;
27
+ closable?: boolean;
28
+ data?: SafeAny;
29
+ icon?: string;
30
+ contentStyleClass?: string;
31
+ styleClass?: string;
32
+ closeIcon?: string;
33
+ rtl?: boolean;
34
+ }
35
+ export interface NgMessageOptions {
36
+ summary?: string;
37
+ detail?: string;
38
+ icon?: string;
39
+ }
40
+ export interface NgConfirmPopupOptions {
41
+ showTransitionOptions?: string;
42
+ hideTransitionOptions?: string;
43
+ autoZIndex?: boolean;
44
+ baseZIndex?: number;
45
+ style?: CssObject;
46
+ styleClass?: string;
47
+ message?: string;
48
+ key?: string;
49
+ icon?: string;
50
+ header?: string;
51
+ accept?: () => SafeAny;
52
+ reject?: () => SafeAny;
53
+ acceptLabel?: string;
54
+ rejectLabel?: string;
55
+ acceptIcon?: string;
56
+ rejectIcon?: string;
57
+ acceptVisible?: boolean;
58
+ rejectVisible?: boolean;
59
+ blockScroll?: boolean;
60
+ closeOnEscape?: boolean;
61
+ dismissableMask?: boolean;
62
+ defaultFocus?: DefaultFocus;
63
+ acceptButtonStyleClass?: string;
64
+ rejectButtonStyleClass?: string;
65
+ target?: EventTarget;
66
+ acceptEvent?: SafeAny;
67
+ rejectEvent?: SafeAny;
68
+ buttonFull?: boolean;
69
+ acceptSeverity?: Severity;
70
+ acceptAppearance?: ButtonAppearance;
71
+ rejectSeverity?: Severity;
72
+ rejectAppearance?: ButtonAppearance;
73
+ buttonSize?: Size;
74
+ buttonIconPos?: IconPosition;
75
+ rtl?: boolean;
76
+ }
77
+ export interface NgConfirmDialogOptions {
78
+ header?: string;
79
+ icon?: string;
80
+ message?: string;
81
+ style?: CssObject;
82
+ styleClass?: string;
83
+ maskStyleClass?: string;
84
+ acceptIcon?: string;
85
+ acceptLabel?: string;
86
+ closeAriaLabel?: string;
87
+ acceptAriaLabel?: string;
88
+ acceptVisible?: boolean;
89
+ rejectIcon?: string;
90
+ rejectLabel?: string;
91
+ rejectAriaLabel?: string;
92
+ rejectVisible?: boolean;
93
+ acceptButtonStyleClass?: string;
94
+ rejectButtonStyleClass?: string;
95
+ closeOnEscape?: boolean;
96
+ dismissableMask?: boolean;
97
+ blockScroll?: boolean;
98
+ closable?: boolean;
99
+ appendTo?: SafeAny;
100
+ key?: string;
101
+ autoZIndex?: boolean;
102
+ baseZIndex?: number;
103
+ transitionOptions?: string;
104
+ focusTrap?: boolean;
105
+ defaultFocus?: DefaultFocus;
106
+ breakpoints?: SafeAny;
107
+ visible?: SafeAny;
108
+ position?: string;
109
+ buttonFull?: boolean;
110
+ acceptSeverity?: Severity;
111
+ acceptAppearance?: ButtonAppearance;
112
+ rejectSeverity?: Severity;
113
+ rejectAppearance?: ButtonAppearance;
114
+ buttonSize?: Size;
115
+ buttonIconPos?: IconPosition;
116
+ rtl?: boolean;
117
+ }
118
+ interface NgDialogBase {
119
+ header?: string;
120
+ draggable?: boolean;
121
+ resizable?: boolean;
122
+ positionLeft?: number;
123
+ positionTop?: number;
124
+ contentStyle?: CssObject;
125
+ contentStyleClass?: string;
126
+ modal?: boolean;
127
+ closeOnEscape?: boolean;
128
+ dismissableMask?: boolean;
129
+ rtl?: boolean;
130
+ closable?: boolean;
131
+ responsive?: boolean;
132
+ appendTo?: SafeAny;
133
+ breakpoints?: SafeAny;
134
+ styleClass?: string;
135
+ maskStyleClass?: string;
136
+ maskStyle?: CssObject;
137
+ showHeader?: boolean;
138
+ breakpoint?: number;
139
+ blockScroll?: boolean;
140
+ autoZIndex?: boolean;
141
+ baseZIndex?: number;
142
+ minX?: number;
143
+ minY?: number;
144
+ focusOnShow?: boolean;
145
+ maximizable?: boolean;
146
+ keepInViewport?: boolean;
147
+ focusTrap?: boolean;
148
+ transitionOptions?: string;
149
+ closeIcon?: string;
150
+ closeAriaLabel?: string;
151
+ closeTabindex?: string;
152
+ minimizeIcon?: string;
153
+ maximizeIcon?: string;
154
+ style?: CssObject;
155
+ position?: SafeAny;
156
+ onShow?: () => SafeAny;
157
+ onHide?: () => SafeAny;
158
+ visibleChange?: (event: SafeAny) => SafeAny;
159
+ onResizeInit?: (event: SafeAny) => SafeAny;
160
+ onResizeEnd?: (event: SafeAny) => SafeAny;
161
+ onDragEnd?: (event: SafeAny) => SafeAny;
162
+ onMaximize?: (event: SafeAny) => SafeAny;
163
+ }
164
+ export interface NgDialogOptions extends NgDialogBase {
165
+ buttonStyleClass?: string;
166
+ buttonIcon?: string;
167
+ buttonIconPos?: IconPosition;
168
+ buttonFull?: boolean;
169
+ buttonLabel?: string;
170
+ buttonSeverity?: Severity;
171
+ buttonAppearance?: ButtonAppearance;
172
+ buttonSize?: Size;
173
+ content?: string;
174
+ }
175
+ export interface NgDialogFormOptions extends NgDialogBase {
176
+ containerStyleClass?: string;
177
+ containerStyle?: CssObject;
178
+ defaultFocus?: DefaultFocus;
179
+ acceptButtonStyleClass?: string;
180
+ rejectButtonStyleClass?: string;
181
+ acceptVisible?: boolean;
182
+ acceptIcon?: string;
183
+ acceptSeverity?: Severity;
184
+ acceptLabel?: string;
185
+ acceptAppearance?: ButtonAppearance;
186
+ rejectVisible?: boolean;
187
+ rejectIcon?: string;
188
+ rejectSeverity?: Severity;
189
+ rejectLabel?: string;
190
+ rejectAppearance?: ButtonAppearance;
191
+ buttonFull?: boolean;
192
+ buttonSize?: Size;
193
+ buttonIconPosition?: IconPosition;
194
+ submitDisabled?: boolean | ((dialogFormEvent?: SafeAny) => boolean);
195
+ formValidator?: {
196
+ type: string;
197
+ validator: SafeAny;
198
+ message: string;
199
+ style?: CssObject;
200
+ };
201
+ }
202
+ export interface NgDialogFormResult {
203
+ formValue: SafeAny;
204
+ finalizeSubmit: (hideDialog?: boolean) => void;
205
+ }
206
+ export interface NgDialogFormValidation {
207
+ type: SafeAny | string;
208
+ validator: SafeAny;
209
+ message: string | ((control: SafeAny) => string);
210
+ }
211
+ export interface NgDialogFormEvent {
212
+ event?: SafeAny;
213
+ form?: SafeAny;
214
+ currentConfig?: DialogFormConfig;
215
+ allConfig?: DialogFormConfig[];
216
+ }
217
+ export type NgDialogFormComponent = 'hidden' | 'template' | 'auto-complete' | 'button' | 'cascade-select' | 'checkbox' | 'checkbox-group' | 'chips' | 'color-picker' | 'dropdown' | 'dual-label-switch' | 'editor' | 'file-picker' | 'file-picker2' | 'datepicker' | 'image' | 'input-mask' | 'input-number' | 'input-otp' | 'input-password' | 'input-text' | 'input-textarea' | 'iran-map' | 'knob' | 'listbox' | 'map' | 'message' | 'multi-select' | 'radio' | 'rating' | 'select-button' | 'slider' | 'switch' | 'toggle-button' | 'tree' | 'tree-select' | 'tri-state-checkbox';
218
+ export interface DialogFormConfig {
219
+ }
220
+ export {};
@@ -0,0 +1,107 @@
1
+ import { $AutoCompleteProps, $ButtonProps, $CascadeSelectProps, $CheckboxProps, $ChipsProps, $ColorPickerProps, $DialogProps, $DropdownProps, $EditorProps, $FormikConfig, $FormikContextType, $FormikValues, $IconFieldProps, $InputMaskProps, $InputNumberProps, $InputOtpProps, $InputSwitchProps, $InputTextareaProps, $InputTextProps, $KnobProps, $ListBoxProps, $MentionProps, $MultiSelectProps, $MultiStateCheckboxProps, $PasswordProps, $RadioButtonProps, $RatingProps, $SelectButtonProps, $SliderProps, $ToastProps, $ToggleButtonProps, $TreeSelectProps, $TriStateCheckboxProps } from "@api";
2
+ import { MouseEvent, ReactNode } from "react";
3
+ import { Addon, ButtonAppearance, CssObject, FieldControlMeta, FixLabelPosition, LabelPosition, Orientation, SafeAny, Size } from "@models";
4
+ export interface FieldControlProps {
5
+ name?: string;
6
+ parseError?: (error: string) => ReactNode;
7
+ id?: string;
8
+ children?: ReactNode | ((event: FieldControlMeta) => ReactNode);
9
+ }
10
+ export interface FieldLayoutProps {
11
+ componentName?: string;
12
+ variant?: InputTextProps["variant"];
13
+ isRequired?: boolean;
14
+ showRequiredStar?: boolean;
15
+ rtl?: boolean;
16
+ label?: string;
17
+ labelWidth?: number;
18
+ icon?: string | ReactNode;
19
+ hint?: string;
20
+ id?: string;
21
+ inputSize?: Size;
22
+ addon?: Addon;
23
+ iconPosition?: $IconFieldProps["iconPosition"];
24
+ labelPosition?: LabelPosition;
25
+ errorElement?: ReactNode;
26
+ className?: string;
27
+ containerStyle?: CssObject;
28
+ disabled?: boolean;
29
+ }
30
+ export type HasSize = Pick<FieldLayoutProps, "inputSize">;
31
+ export type HasIcon = Pick<FieldLayoutProps, "icon" | "iconPosition">;
32
+ export type HasAddon = Pick<FieldLayoutProps, "addon">;
33
+ export type HasLabel<T> = {
34
+ labelPosition?: T;
35
+ };
36
+ export type HasControl = Pick<FieldControlProps, "name" | "parseError"> & Pick<FieldLayoutProps, "showRequiredStar" | "hint" | "label" | "labelWidth" | "rtl" | "containerStyle">;
37
+ export type CommonFieldControlProps = HasControl & HasAddon & HasSize & HasIcon & HasLabel<LabelPosition>;
38
+ export type FixFieldControlProps = HasControl & HasLabel<FixLabelPosition>;
39
+ export type AutoCompleteProps = $AutoCompleteProps & CommonFieldControlProps;
40
+ export type InputTextProps = $InputTextProps & CommonFieldControlProps & {
41
+ showClear?: boolean;
42
+ };
43
+ export type CascadeSelectProps = $CascadeSelectProps & CommonFieldControlProps;
44
+ export type CheckboxProps = Partial<$CheckboxProps> & FixFieldControlProps;
45
+ export type ChipsProps = $ChipsProps & CommonFieldControlProps;
46
+ export type ColorPickerProps = $ColorPickerProps & FixFieldControlProps;
47
+ export type DropdownProps = $DropdownProps & CommonFieldControlProps;
48
+ export type EditorProps = $EditorProps & FixFieldControlProps;
49
+ export type InputMaskProps = $InputMaskProps & CommonFieldControlProps;
50
+ export type InputNumberProps = $InputNumberProps & CommonFieldControlProps;
51
+ export type InputOtpProps = $InputOtpProps & FixFieldControlProps;
52
+ export type InputPasswordProps = $PasswordProps & CommonFieldControlProps & {
53
+ showClear?: boolean;
54
+ };
55
+ export type InputSwitchProps = Partial<$InputSwitchProps> & FixFieldControlProps;
56
+ export type InputTextareaProps = $InputTextareaProps & Omit<CommonFieldControlProps, 'inputSize'>;
57
+ export type KnobProps = $KnobProps & FixFieldControlProps;
58
+ export type ListBoxProps = $ListBoxProps & FixFieldControlProps;
59
+ export type MentionProps = $MentionProps & CommonFieldControlProps;
60
+ export type MultiSelectProps = $MultiSelectProps & CommonFieldControlProps;
61
+ export type MultiStateCheckboxProps = $MultiStateCheckboxProps & FixFieldControlProps;
62
+ export type RadioGroupProps = $RadioButtonProps & FixFieldControlProps & {
63
+ orientation?: Orientation;
64
+ options: SafeAny[];
65
+ optionLabel: string;
66
+ optionValue: string;
67
+ };
68
+ export type RatingProps = $RatingProps & FixFieldControlProps;
69
+ export type SelectButtonProps = $SelectButtonProps & FixFieldControlProps;
70
+ export type SliderProps = $SliderProps & FixFieldControlProps;
71
+ export type ToggleButtonProps = $ToggleButtonProps & FixFieldControlProps;
72
+ export type TreeSelectProps = $TreeSelectProps & CommonFieldControlProps;
73
+ export type TriStateCheckboxProps = $TriStateCheckboxProps & FixFieldControlProps;
74
+ export type ButtonState = 'default' | 'loading' | 'next';
75
+ export type ButtonTemplateType = Pick<ButtonProps, "label" | "icon" | "raised" | "appearance" | "severity">;
76
+ export interface ButtonOnClickAsyncEvent {
77
+ loadingCallback: (ok?: boolean) => void;
78
+ event: MouseEvent<HTMLButtonElement>;
79
+ }
80
+ export interface ButtonProps extends Omit<$ButtonProps, "loading" | "link" | "text" | "outlined"> {
81
+ async?: boolean;
82
+ onClickAsync?: (event: ButtonOnClickAsyncEvent) => void;
83
+ appearance?: ButtonAppearance;
84
+ nextLabel?: string;
85
+ nextIcon?: string;
86
+ nextRaised?: boolean;
87
+ nextAppearance?: ButtonAppearance;
88
+ nextSeverity?: ButtonProps['severity'];
89
+ state?: ButtonState;
90
+ onStateChange?: (state: ButtonState) => void;
91
+ }
92
+ export interface DialogProps extends $DialogProps {
93
+ rtl?: boolean;
94
+ }
95
+ export interface DialogFormProps<T extends $FormikValues = SafeAny> {
96
+ config: SafeAny[];
97
+ props: $DialogProps & FormContainerProps<T> & {
98
+ rtl?: boolean;
99
+ };
100
+ }
101
+ export interface FormContainerProps<T extends $FormikValues> extends $FormikConfig<T> {
102
+ onInit?: (context: $FormikContextType<T>) => void;
103
+ className?: string;
104
+ }
105
+ export interface ToastProps extends $ToastProps {
106
+ rtl?: boolean;
107
+ }
@@ -0,0 +1,19 @@
1
+ import { SetStateAction } from "react";
2
+ type Set<T> = (newState: SetStateAction<T>, callback?: (newState: T) => void) => void;
3
+ type UseSelector<T> = <TSelected = unknown>(selector: (state: T) => TSelected, equalityFn?: Comparator<TSelected>) => TSelected;
4
+ export interface StateWithValue<T> {
5
+ use: () => [T, Set<T>];
6
+ useValue: () => T;
7
+ get: () => T;
8
+ useSelector: UseSelector<T>;
9
+ set: Set<T>;
10
+ reset: () => void;
11
+ subscribe(subscriber: SubscriberFunc<T>): () => void;
12
+ }
13
+ type SubscriberFunc<T> = (newState: T, previousState: T) => void;
14
+ interface Options<T> {
15
+ onSet?: SubscriberFunc<T>;
16
+ }
17
+ type Comparator<TSelected = unknown> = (a: TSelected, b: TSelected) => boolean;
18
+ export declare function globalState<T>(initialValue: T, options?: Options<T>): StateWithValue<T>;
19
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./globalState";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powell-react",
3
- "version": "0.0.45",
3
+ "version": "0.0.50",
4
4
  "private": false,
5
5
  "description": "A collection of PrimeReact-based components for Powell projects.",
6
6
  "keywords": [
@@ -12,72 +12,15 @@
12
12
  "author": "Mohammadreza Shahbazi <shahbaziweb@gmail.com>",
13
13
  "license": "MIT",
14
14
  "type": "module",
15
- "main": "./dist/cjs/powell/index.js",
16
- "module": "./dist/esm/powell/index.js",
17
- "types": "./dist/types/index.d.ts",
18
- "exports": {
19
- ".": {
20
- "import": {
21
- "types": "./dist/types/index.d.ts",
22
- "default": "./dist/esm/powell/index.js"
23
- },
24
- "require": {
25
- "types": "./dist/types/index.d.ts",
26
- "default": "./dist/cjs/powell/index.js"
27
- }
28
- },
29
- "./api": {
30
- "import": "./dist/esm/powell/api/index.js",
31
- "require": "./dist/cjs/powell/api/index.js"
32
- },
33
- "./api/*": {
34
- "import": "./dist/esm/powell/api/*.js",
35
- "require": "./dist/cjs/powell/api/*.js"
36
- },
37
- "./components/*": {
38
- "import": "./dist/esm/powell/components/*/index.js",
39
- "require": "./dist/cjs/powell/components/*/index.js"
40
- },
41
- "./hooks": {
42
- "import": "./dist/esm/powell/hooks/index.js",
43
- "require": "./dist/cjs/powell/hooks/index.js"
44
- },
45
- "./hooks/*": {
46
- "import": "./dist/esm/powell/hooks/*.js",
47
- "require": "./dist/cjs/powell/hooks/*.js"
48
- },
49
- "./models": {
50
- "import": "./dist/esm/powell/models/index.js",
51
- "require": "./dist/cjs/powell/models/index.js"
52
- },
53
- "./models/*": {
54
- "import": "./dist/esm/powell/models/*.js",
55
- "require": "./dist/cjs/powell/models/*.js"
56
- },
57
- "./utils": {
58
- "import": "./dist/esm/powell/utils/index.js",
59
- "require": "./dist/cjs/powell/utils/index.js"
60
- },
61
- "./utils/*": {
62
- "import": "./dist/esm/powell/utils/*.js",
63
- "require": "./dist/cjs/powell/utils/*.js"
64
- },
65
- "./themes/*": {
66
- "import": "./dist/themes/*.css",
67
- "require": "./dist/themes/*.css"
68
- },
69
- "./package.json": "./package.json"
70
- },
15
+ "main": "dist/index.cjs.js",
16
+ "module": "dist/index.esm.js",
17
+ "types": "dist/types/index.d.ts",
71
18
  "files": [
72
19
  "dist"
73
20
  ],
74
21
  "scripts": {
75
22
  "build": "rollup -c",
76
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
77
- "prepublishOnly": "npm run build",
78
- "release:patch": "npm version patch && npm publish --access public",
79
- "release:minor": "npm version minor && npm publish --access public",
80
- "release:major": "npm version major && npm publish --access public"
23
+ "dev": "rollup -c -w"
81
24
  },
82
25
  "dependencies": {
83
26
  "formik": "^2.4.6",
@@ -89,13 +32,19 @@
89
32
  "react-dom": ">=16.8.0"
90
33
  },
91
34
  "devDependencies": {
35
+ "@rollup/plugin-commonjs": "^25.0.8",
36
+ "@rollup/plugin-node-resolve": "^15.3.1",
37
+ "@rollup/plugin-typescript": "^11.1.6",
38
+ "rollup": "^4.41.1",
39
+ "rollup-plugin-peer-deps-external": "^2.2.4",
40
+ "rollup-plugin-postcss": "^4.0.2",
41
+ "rollup-plugin-terser": "^7.0.2",
42
+ "typescript": "^5.8.3",
43
+ "sass": "^1.89.0",
92
44
  "@babel/core": "^7.27.1",
93
45
  "@babel/preset-react": "^7.27.1",
94
46
  "@babel/preset-typescript": "^7.27.1",
95
47
  "@rollup/plugin-babel": "^6.0.4",
96
- "@rollup/plugin-commonjs": "^25.0.7",
97
- "@rollup/plugin-node-resolve": "^15.2.3",
98
- "@rollup/plugin-typescript": "^11.1.6",
99
48
  "@types/node": "^22.15.21",
100
49
  "@types/react": "^18.2.66",
101
50
  "@types/react-dom": "^18.2.22",
@@ -105,13 +54,14 @@
105
54
  "eslint-plugin-react-hooks": "^4.6.0",
106
55
  "eslint-plugin-react-refresh": "^0.4.6",
107
56
  "postcss": "^8.5.3",
108
- "rollup": "^4.41.1",
109
- "rollup-plugin-dts": "^6.1.1",
110
- "rollup-plugin-postcss": "^4.0.2",
111
- "sass": "^1.72.0",
112
- "typescript": "^5.2.2"
57
+ "rollup-plugin-dts": "^6.2.1"
113
58
  },
114
59
  "optionalDependencies": {
115
60
  "quill": "^2.0.3"
116
- }
61
+ },
62
+ "sideEffects": [
63
+ "**/*.css",
64
+ "**/*.scss",
65
+ "dist/global.css"
66
+ ]
117
67
  }
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = {exports: {}};
4
-
5
- exports.__module = jsxRuntime;
6
- //# sourceMappingURL=jsx-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-runtime.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var reactJsxRuntime_development = {};
4
-
5
- exports.__exports = reactJsxRuntime_development;
6
- //# sourceMappingURL=react-jsx-runtime.development.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-jsx-runtime.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var reactJsxRuntime_production_min = {};
4
-
5
- exports.__exports = reactJsxRuntime_production_min;
6
- //# sourceMappingURL=react-jsx-runtime.production.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-jsx-runtime.production.min.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}