@rivtn/noseur 1.0.0

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 (138) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/dist/esm/Template.d.ts +7 -0
  4. package/dist/esm/Template.js +13 -0
  5. package/dist/esm/compose/Composed.css +437 -0
  6. package/dist/esm/compose/exotic/ColorPicker.d.ts +41 -0
  7. package/dist/esm/compose/exotic/ColorPicker.js +85 -0
  8. package/dist/esm/compose/exotic/ColorSlider.d.ts +30 -0
  9. package/dist/esm/compose/exotic/ColorSlider.js +99 -0
  10. package/dist/esm/compose/form/ComposedPassword.d.ts +25 -0
  11. package/dist/esm/compose/form/ComposedPassword.js +103 -0
  12. package/dist/esm/compose/form/DateTimeInput.d.ts +28 -0
  13. package/dist/esm/compose/form/DateTimeInput.js +154 -0
  14. package/dist/esm/compose/form/DateTimePicker.d.ts +341 -0
  15. package/dist/esm/compose/form/DateTimePicker.js +1265 -0
  16. package/dist/esm/compose/form/FormControl.d.ts +33 -0
  17. package/dist/esm/compose/form/FormControl.js +163 -0
  18. package/dist/esm/compose/form/FormGroup.d.ts +14 -0
  19. package/dist/esm/compose/form/FormGroup.js +58 -0
  20. package/dist/esm/compose/overlay/Alert.d.ts +56 -0
  21. package/dist/esm/compose/overlay/Alert.js +267 -0
  22. package/dist/esm/constants/Alignment.d.ts +17 -0
  23. package/dist/esm/constants/Alignment.js +18 -0
  24. package/dist/esm/constants/Direction.d.ts +26 -0
  25. package/dist/esm/constants/Direction.js +22 -0
  26. package/dist/esm/constants/Orientation.d.ts +8 -0
  27. package/dist/esm/constants/Orientation.js +9 -0
  28. package/dist/esm/constants/Scheme.d.ts +39 -0
  29. package/dist/esm/constants/Scheme.js +43 -0
  30. package/dist/esm/constants/Transition.d.ts +81 -0
  31. package/dist/esm/constants/Transition.js +85 -0
  32. package/dist/esm/constants/Types.d.ts +74 -0
  33. package/dist/esm/constants/Types.js +14 -0
  34. package/dist/esm/core/ComponentBaseProps.d.ts +53 -0
  35. package/dist/esm/core/ComponentBaseProps.js +33 -0
  36. package/dist/esm/core/noseur.css +2390 -0
  37. package/dist/esm/data/Column.d.ts +235 -0
  38. package/dist/esm/data/Column.js +98 -0
  39. package/dist/esm/data/Data.css +213 -0
  40. package/dist/esm/data/Data.d.ts +98 -0
  41. package/dist/esm/data/Data.js +142 -0
  42. package/dist/esm/data/List.d.ts +14 -0
  43. package/dist/esm/data/List.js +117 -0
  44. package/dist/esm/data/Table.d.ts +22 -0
  45. package/dist/esm/data/Table.js +236 -0
  46. package/dist/esm/form/Button.d.ts +35 -0
  47. package/dist/esm/form/Button.js +131 -0
  48. package/dist/esm/form/Calendar.d.ts +20 -0
  49. package/dist/esm/form/Calendar.js +46 -0
  50. package/dist/esm/form/Checkbox.d.ts +20 -0
  51. package/dist/esm/form/Checkbox.js +155 -0
  52. package/dist/esm/form/ColorMap.d.ts +22 -0
  53. package/dist/esm/form/ColorMap.js +43 -0
  54. package/dist/esm/form/ColorPalette.d.ts +28 -0
  55. package/dist/esm/form/ColorPalette.js +87 -0
  56. package/dist/esm/form/Dropdown.d.ts +78 -0
  57. package/dist/esm/form/Dropdown.js +360 -0
  58. package/dist/esm/form/FileInput.d.ts +134 -0
  59. package/dist/esm/form/FileInput.js +523 -0
  60. package/dist/esm/form/Form.css +467 -0
  61. package/dist/esm/form/Input.d.ts +45 -0
  62. package/dist/esm/form/Input.js +186 -0
  63. package/dist/esm/form/RadioButton.d.ts +21 -0
  64. package/dist/esm/form/RadioButton.js +178 -0
  65. package/dist/esm/form/Slider.d.ts +21 -0
  66. package/dist/esm/form/Slider.js +163 -0
  67. package/dist/esm/hooks/useSearchParams.d.ts +15 -0
  68. package/dist/esm/hooks/useSearchParams.js +50 -0
  69. package/dist/esm/hooks/useSubscription.d.ts +9 -0
  70. package/dist/esm/hooks/useSubscription.js +26 -0
  71. package/dist/esm/index.d.ts +60 -0
  72. package/dist/esm/index.js +73 -0
  73. package/dist/esm/layout/GridView.d.ts +23 -0
  74. package/dist/esm/layout/GridView.js +34 -0
  75. package/dist/esm/layout/Layout.css +5 -0
  76. package/dist/esm/misc/Misc.css +164 -0
  77. package/dist/esm/misc/ProgressBar.d.ts +22 -0
  78. package/dist/esm/misc/ProgressBar.js +86 -0
  79. package/dist/esm/overlay/Dialog.d.ts +46 -0
  80. package/dist/esm/overlay/Dialog.js +290 -0
  81. package/dist/esm/overlay/Message.d.ts +35 -0
  82. package/dist/esm/overlay/Message.js +187 -0
  83. package/dist/esm/overlay/Overlay.css +382 -0
  84. package/dist/esm/overlay/Popover.d.ts +30 -0
  85. package/dist/esm/overlay/Popover.js +245 -0
  86. package/dist/esm/overlay/Portal.d.ts +11 -0
  87. package/dist/esm/overlay/Portal.js +29 -0
  88. package/dist/esm/overlay/Toast.d.ts +49 -0
  89. package/dist/esm/overlay/Toast.js +341 -0
  90. package/dist/esm/panel/Accordion.d.ts +26 -0
  91. package/dist/esm/panel/Accordion.js +127 -0
  92. package/dist/esm/panel/Panel.css +317 -0
  93. package/dist/esm/panel/Panel.d.ts +43 -0
  94. package/dist/esm/panel/Panel.js +125 -0
  95. package/dist/esm/panel/ScrollPanel.d.ts +27 -0
  96. package/dist/esm/panel/ScrollPanel.js +43 -0
  97. package/dist/esm/panel/TabPane.d.ts +82 -0
  98. package/dist/esm/panel/TabPane.js +237 -0
  99. package/dist/esm/presentation/Chart.d.ts +49 -0
  100. package/dist/esm/presentation/Chart.js +62 -0
  101. package/dist/esm/presentation/Paginator.d.ts +90 -0
  102. package/dist/esm/presentation/Paginator.js +331 -0
  103. package/dist/esm/presentation/Presentation.css +23 -0
  104. package/dist/esm/sensor/DragSensor.d.ts +50 -0
  105. package/dist/esm/sensor/DragSensor.js +156 -0
  106. package/dist/esm/sensor/ViewportSensor.d.ts +18 -0
  107. package/dist/esm/sensor/ViewportSensor.js +85 -0
  108. package/dist/esm/utils/BoolHelper.d.ts +13 -0
  109. package/dist/esm/utils/BoolHelper.js +105 -0
  110. package/dist/esm/utils/Classname.d.ts +9 -0
  111. package/dist/esm/utils/Classname.js +20 -0
  112. package/dist/esm/utils/ColorHelper.d.ts +127 -0
  113. package/dist/esm/utils/ColorHelper.js +198 -0
  114. package/dist/esm/utils/DOMUtils.d.ts +142 -0
  115. package/dist/esm/utils/DOMUtils.js +759 -0
  116. package/dist/esm/utils/DateHelper.d.ts +115 -0
  117. package/dist/esm/utils/DateHelper.js +338 -0
  118. package/dist/esm/utils/Debugger.d.ts +12 -0
  119. package/dist/esm/utils/Debugger.js +30 -0
  120. package/dist/esm/utils/FileHelper.d.ts +8 -0
  121. package/dist/esm/utils/FileHelper.js +65 -0
  122. package/dist/esm/utils/FunctionStackManager.d.ts +13 -0
  123. package/dist/esm/utils/FunctionStackManager.js +59 -0
  124. package/dist/esm/utils/InputHelper.d.ts +37 -0
  125. package/dist/esm/utils/InputHelper.js +70 -0
  126. package/dist/esm/utils/MicroBuilder.d.ts +24 -0
  127. package/dist/esm/utils/MicroBuilder.js +61 -0
  128. package/dist/esm/utils/ObjectHelper.d.ts +51 -0
  129. package/dist/esm/utils/ObjectHelper.js +334 -0
  130. package/dist/esm/utils/StringHelper.d.ts +10 -0
  131. package/dist/esm/utils/StringHelper.js +54 -0
  132. package/dist/esm/utils/Subscriber.d.ts +14 -0
  133. package/dist/esm/utils/Subscriber.js +27 -0
  134. package/dist/esm/utils/Timer.d.ts +32 -0
  135. package/dist/esm/utils/Timer.js +68 -0
  136. package/dist/esm/utils/TypeChecker.d.ts +12 -0
  137. package/dist/esm/utils/TypeChecker.js +38 -0
  138. package/package.json +63 -0
@@ -0,0 +1,235 @@
1
+ import "./Data.css";
2
+ import React from 'react';
3
+ import { RowControlOptions } from "./Data";
4
+ import { Scheme } from "../constants/Scheme";
5
+ import { NoseurElement, NoseurObject, SortDirection, SortIcons } from '../constants/Types';
6
+ import { ComponentBaseProps } from '../core/ComponentBaseProps';
7
+ export type ColumnTemplateHandler = () => NoseurElement;
8
+ export type ColumnOnSortHandler = (sortDirection: SortDirection) => void;
9
+ export type ValuedColumnTemplateHandler = (value: any, rowControlOptions?: RowControlOptions) => NoseurElement;
10
+ export interface ColumnManageRef {
11
+ unSort: () => void;
12
+ }
13
+ export interface ColumnProps extends ComponentBaseProps<HTMLTableColElement, ColumnManageRef> {
14
+ key: any;
15
+ value: any;
16
+ group: string;
17
+ element: string;
18
+ dataKey: string;
19
+ sortable: boolean;
20
+ canUnsort: boolean;
21
+ doNotRender: boolean;
22
+ sortIcons: SortIcons;
23
+ valueClassName: string;
24
+ rowControlOptions: RowControlOptions;
25
+ valuedProps: NoseurObject<Partial<ComponentBaseProps<any>> | ((value: any) => Partial<ComponentBaseProps<any>>)>;
26
+ onSort: ColumnOnSortHandler | undefined;
27
+ header: NoseurElement | ColumnTemplateHandler;
28
+ footer: NoseurElement | ColumnTemplateHandler;
29
+ content: NoseurElement | ColumnTemplateHandler;
30
+ template: ValuedColumnTemplateHandler | undefined;
31
+ }
32
+ interface ColumnState {
33
+ sortDirection: SortDirection;
34
+ }
35
+ export declare class ColumnComponent extends React.Component<ColumnProps, ColumnState> {
36
+ static defaultProps: Partial<ColumnProps>;
37
+ state: ColumnState;
38
+ constructor(props: ColumnProps);
39
+ componentDidMount(): void;
40
+ componentWillUnmount(): void;
41
+ unSort(): void;
42
+ onClick(_: any): void;
43
+ renderSortIcon(): React.JSX.Element | null;
44
+ render(): React.DOMElement<{
45
+ role: string;
46
+ key: any;
47
+ "data-n-group": string;
48
+ ref?: React.Ref<any> | undefined;
49
+ manageRef?: React.ForwardedRef<{}> | undefined;
50
+ forwardRef?: React.ForwardedRef<any> | undefined;
51
+ id?: string | undefined;
52
+ name?: string | undefined;
53
+ attrsRelay?: {} | undefined;
54
+ scheme?: Scheme | undefined;
55
+ noStyle?: boolean | undefined;
56
+ className?: string | undefined;
57
+ disabled?: boolean | undefined;
58
+ draggable?: boolean | undefined;
59
+ style?: React.CSSProperties | undefined;
60
+ children?: React.ReactNode;
61
+ dangerouslySetInnerHTML?: {
62
+ __html: string | TrustedHTML;
63
+ } | undefined | undefined;
64
+ onCopy?: React.ClipboardEventHandler<any> | undefined;
65
+ onCopyCapture?: React.ClipboardEventHandler<any> | undefined;
66
+ onCut?: React.ClipboardEventHandler<any> | undefined;
67
+ onCutCapture?: React.ClipboardEventHandler<any> | undefined;
68
+ onPaste?: React.ClipboardEventHandler<any> | undefined;
69
+ onPasteCapture?: React.ClipboardEventHandler<any> | undefined;
70
+ onCompositionEnd?: React.CompositionEventHandler<any> | undefined;
71
+ onCompositionEndCapture?: React.CompositionEventHandler<any> | undefined;
72
+ onCompositionStart?: React.CompositionEventHandler<any> | undefined;
73
+ onCompositionStartCapture?: React.CompositionEventHandler<any> | undefined;
74
+ onCompositionUpdate?: React.CompositionEventHandler<any> | undefined;
75
+ onCompositionUpdateCapture?: React.CompositionEventHandler<any> | undefined;
76
+ onFocus?: React.FocusEventHandler<any> | undefined;
77
+ onFocusCapture?: React.FocusEventHandler<any> | undefined;
78
+ onBlur?: React.FocusEventHandler<any> | undefined;
79
+ onBlurCapture?: React.FocusEventHandler<any> | undefined;
80
+ onChange?: React.ChangeEventHandler<any, Element> | undefined;
81
+ onChangeCapture?: React.ChangeEventHandler<any, Element> | undefined;
82
+ onBeforeInput?: React.InputEventHandler<any> | undefined;
83
+ onBeforeInputCapture?: React.InputEventHandler<any> | undefined;
84
+ onInput?: React.InputEventHandler<any> | undefined;
85
+ onInputCapture?: React.InputEventHandler<any> | undefined;
86
+ onReset?: React.ReactEventHandler<any> | undefined;
87
+ onResetCapture?: React.ReactEventHandler<any> | undefined;
88
+ onSubmit?: React.SubmitEventHandler<any> | undefined;
89
+ onSubmitCapture?: React.SubmitEventHandler<any> | undefined;
90
+ onInvalid?: React.ReactEventHandler<any> | undefined;
91
+ onInvalidCapture?: React.ReactEventHandler<any> | undefined;
92
+ onLoad?: React.ReactEventHandler<any> | undefined;
93
+ onLoadCapture?: React.ReactEventHandler<any> | undefined;
94
+ onError?: React.ReactEventHandler<any> | undefined;
95
+ onErrorCapture?: React.ReactEventHandler<any> | undefined;
96
+ onKeyDown?: React.KeyboardEventHandler<any> | undefined;
97
+ onKeyDownCapture?: React.KeyboardEventHandler<any> | undefined;
98
+ onKeyPress?: React.KeyboardEventHandler<any> | undefined;
99
+ onKeyPressCapture?: React.KeyboardEventHandler<any> | undefined;
100
+ onKeyUp?: React.KeyboardEventHandler<any> | undefined;
101
+ onKeyUpCapture?: React.KeyboardEventHandler<any> | undefined;
102
+ onAbort?: React.ReactEventHandler<any> | undefined;
103
+ onAbortCapture?: React.ReactEventHandler<any> | undefined;
104
+ onCanPlay?: React.ReactEventHandler<any> | undefined;
105
+ onCanPlayCapture?: React.ReactEventHandler<any> | undefined;
106
+ onCanPlayThrough?: React.ReactEventHandler<any> | undefined;
107
+ onCanPlayThroughCapture?: React.ReactEventHandler<any> | undefined;
108
+ onDurationChange?: React.ReactEventHandler<any> | undefined;
109
+ onDurationChangeCapture?: React.ReactEventHandler<any> | undefined;
110
+ onEmptied?: React.ReactEventHandler<any> | undefined;
111
+ onEmptiedCapture?: React.ReactEventHandler<any> | undefined;
112
+ onEncrypted?: React.ReactEventHandler<any> | undefined;
113
+ onEncryptedCapture?: React.ReactEventHandler<any> | undefined;
114
+ onEnded?: React.ReactEventHandler<any> | undefined;
115
+ onEndedCapture?: React.ReactEventHandler<any> | undefined;
116
+ onLoadedData?: React.ReactEventHandler<any> | undefined;
117
+ onLoadedDataCapture?: React.ReactEventHandler<any> | undefined;
118
+ onLoadedMetadata?: React.ReactEventHandler<any> | undefined;
119
+ onLoadedMetadataCapture?: React.ReactEventHandler<any> | undefined;
120
+ onLoadStart?: React.ReactEventHandler<any> | undefined;
121
+ onLoadStartCapture?: React.ReactEventHandler<any> | undefined;
122
+ onPause?: React.ReactEventHandler<any> | undefined;
123
+ onPauseCapture?: React.ReactEventHandler<any> | undefined;
124
+ onPlay?: React.ReactEventHandler<any> | undefined;
125
+ onPlayCapture?: React.ReactEventHandler<any> | undefined;
126
+ onPlaying?: React.ReactEventHandler<any> | undefined;
127
+ onPlayingCapture?: React.ReactEventHandler<any> | undefined;
128
+ onProgress?: React.ReactEventHandler<any> | undefined;
129
+ onProgressCapture?: React.ReactEventHandler<any> | undefined;
130
+ onRateChange?: React.ReactEventHandler<any> | undefined;
131
+ onRateChangeCapture?: React.ReactEventHandler<any> | undefined;
132
+ onSeeked?: React.ReactEventHandler<any> | undefined;
133
+ onSeekedCapture?: React.ReactEventHandler<any> | undefined;
134
+ onSeeking?: React.ReactEventHandler<any> | undefined;
135
+ onSeekingCapture?: React.ReactEventHandler<any> | undefined;
136
+ onStalled?: React.ReactEventHandler<any> | undefined;
137
+ onStalledCapture?: React.ReactEventHandler<any> | undefined;
138
+ onSuspend?: React.ReactEventHandler<any> | undefined;
139
+ onSuspendCapture?: React.ReactEventHandler<any> | undefined;
140
+ onTimeUpdate?: React.ReactEventHandler<any> | undefined;
141
+ onTimeUpdateCapture?: React.ReactEventHandler<any> | undefined;
142
+ onVolumeChange?: React.ReactEventHandler<any> | undefined;
143
+ onVolumeChangeCapture?: React.ReactEventHandler<any> | undefined;
144
+ onWaiting?: React.ReactEventHandler<any> | undefined;
145
+ onWaitingCapture?: React.ReactEventHandler<any> | undefined;
146
+ onAuxClick?: React.MouseEventHandler<any> | undefined;
147
+ onAuxClickCapture?: React.MouseEventHandler<any> | undefined;
148
+ onClick?: React.MouseEventHandler<any> | undefined;
149
+ onClickCapture?: React.MouseEventHandler<any> | undefined;
150
+ onContextMenu?: React.MouseEventHandler<any> | undefined;
151
+ onContextMenuCapture?: React.MouseEventHandler<any> | undefined;
152
+ onDoubleClick?: React.MouseEventHandler<any> | undefined;
153
+ onDoubleClickCapture?: React.MouseEventHandler<any> | undefined;
154
+ onDrag?: React.DragEventHandler<any> | undefined;
155
+ onDragCapture?: React.DragEventHandler<any> | undefined;
156
+ onDragEnd?: React.DragEventHandler<any> | undefined;
157
+ onDragEndCapture?: React.DragEventHandler<any> | undefined;
158
+ onDragEnter?: React.DragEventHandler<any> | undefined;
159
+ onDragEnterCapture?: React.DragEventHandler<any> | undefined;
160
+ onDragExit?: React.DragEventHandler<any> | undefined;
161
+ onDragExitCapture?: React.DragEventHandler<any> | undefined;
162
+ onDragLeave?: React.DragEventHandler<any> | undefined;
163
+ onDragLeaveCapture?: React.DragEventHandler<any> | undefined;
164
+ onDragOver?: React.DragEventHandler<any> | undefined;
165
+ onDragOverCapture?: React.DragEventHandler<any> | undefined;
166
+ onDragStart?: React.DragEventHandler<any> | undefined;
167
+ onDragStartCapture?: React.DragEventHandler<any> | undefined;
168
+ onDrop?: React.DragEventHandler<any> | undefined;
169
+ onDropCapture?: React.DragEventHandler<any> | undefined;
170
+ onMouseDown?: React.MouseEventHandler<any> | undefined;
171
+ onMouseDownCapture?: React.MouseEventHandler<any> | undefined;
172
+ onMouseEnter?: React.MouseEventHandler<any> | undefined;
173
+ onMouseLeave?: React.MouseEventHandler<any> | undefined;
174
+ onMouseMove?: React.MouseEventHandler<any> | undefined;
175
+ onMouseMoveCapture?: React.MouseEventHandler<any> | undefined;
176
+ onMouseOut?: React.MouseEventHandler<any> | undefined;
177
+ onMouseOutCapture?: React.MouseEventHandler<any> | undefined;
178
+ onMouseOver?: React.MouseEventHandler<any> | undefined;
179
+ onMouseOverCapture?: React.MouseEventHandler<any> | undefined;
180
+ onMouseUp?: React.MouseEventHandler<any> | undefined;
181
+ onMouseUpCapture?: React.MouseEventHandler<any> | undefined;
182
+ onSelect?: React.ReactEventHandler<any> | undefined;
183
+ onSelectCapture?: React.ReactEventHandler<any> | undefined;
184
+ onTouchCancel?: React.TouchEventHandler<any> | undefined;
185
+ onTouchCancelCapture?: React.TouchEventHandler<any> | undefined;
186
+ onTouchEnd?: React.TouchEventHandler<any> | undefined;
187
+ onTouchEndCapture?: React.TouchEventHandler<any> | undefined;
188
+ onTouchMove?: React.TouchEventHandler<any> | undefined;
189
+ onTouchMoveCapture?: React.TouchEventHandler<any> | undefined;
190
+ onTouchStart?: React.TouchEventHandler<any> | undefined;
191
+ onTouchStartCapture?: React.TouchEventHandler<any> | undefined;
192
+ onPointerDown?: React.PointerEventHandler<any> | undefined;
193
+ onPointerDownCapture?: React.PointerEventHandler<any> | undefined;
194
+ onPointerMove?: React.PointerEventHandler<any> | undefined;
195
+ onPointerMoveCapture?: React.PointerEventHandler<any> | undefined;
196
+ onPointerUp?: React.PointerEventHandler<any> | undefined;
197
+ onPointerUpCapture?: React.PointerEventHandler<any> | undefined;
198
+ onPointerCancel?: React.PointerEventHandler<any> | undefined;
199
+ onPointerCancelCapture?: React.PointerEventHandler<any> | undefined;
200
+ onPointerEnter?: React.PointerEventHandler<any> | undefined;
201
+ onPointerLeave?: React.PointerEventHandler<any> | undefined;
202
+ onPointerOver?: React.PointerEventHandler<any> | undefined;
203
+ onPointerOverCapture?: React.PointerEventHandler<any> | undefined;
204
+ onPointerOut?: React.PointerEventHandler<any> | undefined;
205
+ onPointerOutCapture?: React.PointerEventHandler<any> | undefined;
206
+ onGotPointerCapture?: React.PointerEventHandler<any> | undefined;
207
+ onGotPointerCaptureCapture?: React.PointerEventHandler<any> | undefined;
208
+ onLostPointerCapture?: React.PointerEventHandler<any> | undefined;
209
+ onLostPointerCaptureCapture?: React.PointerEventHandler<any> | undefined;
210
+ onScroll?: React.UIEventHandler<any> | undefined;
211
+ onScrollCapture?: React.UIEventHandler<any> | undefined;
212
+ onScrollEnd?: React.UIEventHandler<any> | undefined;
213
+ onScrollEndCapture?: React.UIEventHandler<any> | undefined;
214
+ onWheel?: React.WheelEventHandler<any> | undefined;
215
+ onWheelCapture?: React.WheelEventHandler<any> | undefined;
216
+ onAnimationStart?: React.AnimationEventHandler<any> | undefined;
217
+ onAnimationStartCapture?: React.AnimationEventHandler<any> | undefined;
218
+ onAnimationEnd?: React.AnimationEventHandler<any> | undefined;
219
+ onAnimationEndCapture?: React.AnimationEventHandler<any> | undefined;
220
+ onAnimationIteration?: React.AnimationEventHandler<any> | undefined;
221
+ onAnimationIterationCapture?: React.AnimationEventHandler<any> | undefined;
222
+ onToggle?: React.ToggleEventHandler<any> | undefined;
223
+ onBeforeToggle?: React.ToggleEventHandler<any> | undefined;
224
+ onTransitionCancel?: React.TransitionEventHandler<any> | undefined;
225
+ onTransitionCancelCapture?: React.TransitionEventHandler<any> | undefined;
226
+ onTransitionEnd?: React.TransitionEventHandler<any> | undefined;
227
+ onTransitionEndCapture?: React.TransitionEventHandler<any> | undefined;
228
+ onTransitionRun?: React.TransitionEventHandler<any> | undefined;
229
+ onTransitionRunCapture?: React.TransitionEventHandler<any> | undefined;
230
+ onTransitionStart?: React.TransitionEventHandler<any> | undefined;
231
+ onTransitionStartCapture?: React.TransitionEventHandler<any> | undefined;
232
+ }, any>;
233
+ }
234
+ export declare const Column: ({ ref, ...props }: Partial<ColumnProps>) => React.JSX.Element;
235
+ export {};
@@ -0,0 +1,98 @@
1
+ import "./Data.css";
2
+ import React from 'react';
3
+ import { Scheme } from "../constants/Scheme";
4
+ import { Classname } from "../utils/Classname";
5
+ import { TypeChecker } from "../utils/TypeChecker";
6
+ import { MicroBuilder } from "../utils/MicroBuilder";
7
+ import { ObjectHelper } from "../utils/ObjectHelper";
8
+ import { SortDirection } from '../constants/Types';
9
+ import { extractMicroComponentBaseProps } from '../core/ComponentBaseProps';
10
+ ;
11
+ export class ColumnComponent extends React.Component {
12
+ static defaultProps = {
13
+ element: "td",
14
+ valuedProps: {},
15
+ group: "column-body",
16
+ scheme: Scheme.STATELESS,
17
+ valueClassName: "noseur-column-body",
18
+ };
19
+ state = {
20
+ sortDirection: SortDirection.NONE,
21
+ };
22
+ constructor(props) {
23
+ super(props);
24
+ this.unSort = this.unSort.bind(this);
25
+ this.onClick = this.onClick.bind(this);
26
+ }
27
+ componentDidMount() {
28
+ ObjectHelper.resolveManageRef(this, {
29
+ unSort: this.unSort,
30
+ });
31
+ }
32
+ componentWillUnmount() {
33
+ ObjectHelper.resolveManageRef(this, null);
34
+ }
35
+ unSort() {
36
+ this.setState({ sortDirection: SortDirection.NONE });
37
+ }
38
+ onClick(_) {
39
+ let sortDirection = this.state.sortDirection;
40
+ if (sortDirection == SortDirection.NONE) {
41
+ sortDirection = SortDirection.FORWARD;
42
+ }
43
+ else if (sortDirection == SortDirection.FORWARD) {
44
+ sortDirection = SortDirection.BACKWARD;
45
+ }
46
+ else if (sortDirection == SortDirection.BACKWARD) {
47
+ sortDirection = (this.props.canUnsort ? SortDirection.NONE : SortDirection.FORWARD);
48
+ }
49
+ this.setState({ sortDirection: sortDirection });
50
+ if (this.props.onSort)
51
+ this.props.onSort(sortDirection);
52
+ }
53
+ renderSortIcon() {
54
+ if (!this.props.sortable || !this.props.sortIcons)
55
+ return null;
56
+ const sortDirection = this.state.sortDirection;
57
+ let sortIcon = this.props.sortIcons.unsorted;
58
+ if (sortDirection == SortDirection.FORWARD)
59
+ sortIcon = this.props.sortIcons.asc;
60
+ else if (sortDirection == SortDirection.BACKWARD)
61
+ sortIcon = this.props.sortIcons.desc;
62
+ return MicroBuilder.buildIcon(sortIcon, { className: "noseur-column-sort-icon" });
63
+ }
64
+ render() {
65
+ let value = this.props.value;
66
+ if (this.props.template)
67
+ value = this.props.template(value, this.props.rowControlOptions);
68
+ else if (TypeChecker.isDict(value) && this.props.element != "th")
69
+ value = "";
70
+ const sortIcon = this.renderSortIcon();
71
+ let valuedRowProps = this.props.valuedProps[`${value}`] ?? {};
72
+ const props = extractMicroComponentBaseProps(this.props);
73
+ const cachedOnClick = props.onClick;
74
+ props.className = Classname.build(props.className, {
75
+ "noseur-column-sort": this.props.sortable
76
+ }, (this.props.scheme ? `${this.props.scheme}-bd-3px-bx-sw-ac ${this.props.scheme}-bd-3px-bx-sw-fc` : null));
77
+ if (this.props.sortable) {
78
+ props.tabIndex = 0;
79
+ props.onClick = (e) => {
80
+ this.onClick(e);
81
+ if (cachedOnClick)
82
+ cachedOnClick(e);
83
+ };
84
+ }
85
+ if (valuedRowProps instanceof Function)
86
+ valuedRowProps = valuedRowProps(value);
87
+ return React.createElement(this.props.element, {
88
+ ...props,
89
+ ...valuedRowProps,
90
+ role: "row",
91
+ key: this.props.key,
92
+ "data-n-group": this.props.group,
93
+ }, (React.createElement("div", { className: Classname.build("noseur-column", this.props.valueClassName) },
94
+ value,
95
+ sortIcon)));
96
+ }
97
+ }
98
+ export const Column = ({ ref, ...props }) => (React.createElement(ColumnComponent, { ...props, forwardRef: ref }));
@@ -0,0 +1,213 @@
1
+ /* Data */
2
+ .noseur-data-compound {
3
+ overflow: auto;
4
+ position: relative;
5
+ --noseurSchemeStripColor: #f9f9f9;
6
+ --noseurSchemeDataBorderColor: rgb(222, 226, 230);
7
+ --noseurSchemeFixtureBackgroundColor: #f6f6f6;
8
+ }
9
+
10
+ .noseur-data-empty-state, .noseur-data-loading-state {
11
+ padding: 15px;
12
+ }
13
+
14
+ .noseur-data-compound > .noseur-data-empty-state, .noseur-data-compound > .noseur-data-loading-state {
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ }
19
+
20
+ .noseur-data-compound.noseur-data-grid > .noseur-data-empty-state, .noseur-data-compound.noseur-data-grid > .noseur-data-loading-state {
21
+ border: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
22
+ border-top: none;
23
+ }
24
+
25
+ .noseur-data-compound.noseur-data-grid > .noseur-data-header,
26
+ .noseur-data-compound.noseur-data-grid > .noseur-data-footer,
27
+ .noseur-data-compound.noseur-data-grid > .noseur-data-container {
28
+ border-left: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
29
+ border-right: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
30
+ }
31
+
32
+ .noseur-data-compound > .noseur-paginator {
33
+ padding: 15px;
34
+ }
35
+
36
+ .noseur-data-compound.noseur-data-grid > .noseur-paginator {
37
+ border-bottom: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
38
+ }
39
+
40
+ .noseur-data-compound.noseur-data-grid > .noseur-paginator {
41
+ border: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
42
+ border-bottom: none;
43
+ }
44
+
45
+ .noseur-data-compound.noseur-data-no-divider > .noseur-data-header {
46
+ border-top-width: 0px;
47
+ }
48
+
49
+ .noseur-data-compound.noseur-data-grid > .noseur-paginator.noseur-data-grid-f {
50
+ border-bottom: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
51
+ }
52
+
53
+ .noseur-data-compound.noseur-data-no-divider > .noseur-paginator {
54
+ border-bottom-width: 0px;
55
+ }
56
+
57
+ .noseur-data-header,
58
+ .noseur-data-footer {
59
+ padding: 15px;
60
+ }
61
+
62
+ .noseur-data-header {
63
+ border-top: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
64
+ border-bottom: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
65
+ }
66
+
67
+ .noseur-data-footer {
68
+ border-top: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
69
+ border-bottom: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
70
+ }
71
+
72
+ .noseur-data-row-content {
73
+ top: 0px;
74
+ left: 0px;
75
+ right: 0px;
76
+ position: absolute;
77
+ }
78
+
79
+ /* Column */
80
+ .noseur-column {
81
+ display: flex;
82
+ align-items: center;
83
+ }
84
+
85
+ .noseur-column > .noseur-column-sort-icon {
86
+ margin-left: 7px;
87
+ }
88
+
89
+ .noseur-column-sort {
90
+ cursor: pointer;
91
+ }
92
+
93
+ .noseur-column-body,
94
+ .noseur-column-header,
95
+ .noseur-column-footer {
96
+ display: flex;
97
+ }
98
+
99
+ /* Table */
100
+ .noseur-table {
101
+ width: 100%;
102
+ border-spacing: 0px;
103
+ }
104
+
105
+ .noseur-table.noseur-data-grid-h {
106
+ border-top: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
107
+ }
108
+
109
+ .noseur-table.noseur-data-grid-f {
110
+ border-bottom: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
111
+ }
112
+
113
+ .noseur-data-header,
114
+ .noseur-data-footer,
115
+ .noseur-table > .noseur-thead,
116
+ .noseur-table > .noseur-tfoot {
117
+ color: var(--noseurSchemeFixtureColor);
118
+ background-color: var(--noseurSchemeFixtureBackgroundColor, #f6f6f6);
119
+ }
120
+
121
+ .noseur-table > .noseur-thead > tr,
122
+ .noseur-table > .noseur-tbody > tr,
123
+ .noseur-table > .noseur-tfoot > tr {
124
+ vertical-align: top;
125
+ }
126
+
127
+ .noseur-table > .noseur-thead > tr > th,
128
+ .noseur-table > .noseur-tbody > tr > td,
129
+ .noseur-table > .noseur-tfoot > tr > th {
130
+ padding: 10px;
131
+ border-style: solid;
132
+ border-width: 0px 0px 1px;
133
+ border-color: var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
134
+ }
135
+
136
+ .noseur-table > .noseur-tfoot > tr > th {
137
+ border-width: 0px;
138
+ }
139
+
140
+ .noseur-table.noseur-data-striped > .noseur-tbody > tr:nth-child(even) {
141
+ background-color: var(--noseurSchemeStripColor, #f9f9f9);
142
+ }
143
+
144
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-thead > tr > th,
145
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-tbody > tr > td,
146
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-tfoot > tr > th {
147
+ border-right-width: 1px;
148
+ }
149
+
150
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-thead > tr > th:last-child,
151
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-tbody > tr > td:last-child,
152
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-tfoot > tr > th:last-child {
153
+ border-right-width: 0px;
154
+ }
155
+
156
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-tfoot > tr > th {
157
+ border-bottom-width: 0px;
158
+ }
159
+
160
+ .noseur-data-compound.noseur-data-no-divider > .noseur-table > .noseur-thead > tr > th,
161
+ .noseur-data-compound.noseur-data-no-divider > .noseur-table > .noseur-tfoot > tr > th,
162
+ .noseur-data-compound.noseur-data-no-divider > .noseur-table > .noseur-tbody > tr > td,
163
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-tbody > tr > td:last-child {
164
+ border-bottom-width: 0px;
165
+ }
166
+
167
+ /* List */
168
+ .noseur-list {
169
+ margin: 0px;
170
+ padding: 0px;
171
+ border-spacing: 0px;
172
+ list-style-type: none;
173
+ }
174
+
175
+ .noseur-list > li {
176
+ padding: 15px 0px;
177
+ }
178
+
179
+ .noseur-list.noseur-data-grid-h {
180
+ border-top: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
181
+ }
182
+
183
+ .noseur-list.noseur-data-grid-f {
184
+ border-bottom: 1px solid var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
185
+ }
186
+
187
+ .noseur-data-compound.noseur-data-grid > .noseur-list > li {
188
+ padding: 15px;
189
+ border-style: solid;
190
+ border-top-width: 0px;
191
+ border-left-width: 0px;
192
+ border-right-width: 0px;
193
+ border-bottom-width: 1px;
194
+ border-color: var(--noseurSchemeDataBorderColor, rgb(222, 226, 230));
195
+ }
196
+
197
+ .noseur-data-compound.noseur-data-grid > .noseur-list > li:last-child {
198
+ border-bottom-width: 0px;
199
+ }
200
+
201
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-thead > tr > th:last-child,
202
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-tbody > tr > td:last-child,
203
+ .noseur-data-compound.noseur-data-grid > .noseur-table > .noseur-tfoot > tr > th:last-child {
204
+ border-right-width: 0px;
205
+ }
206
+
207
+ .noseur-data-compound.noseur-data-no-divider > .noseur-list > li {
208
+ border-bottom-width: 0px;
209
+ }
210
+
211
+ .noseur-list.noseur-data-striped > li:nth-child(even) {
212
+ background-color: var(--noseurSchemeStripColor, #f9f9f9);
213
+ }
@@ -0,0 +1,98 @@
1
+ import React from "react";
2
+ import { ComponentBaseProps } from "../core/ComponentBaseProps";
3
+ import { NoseurElement, SortDirection } from "../constants/Types";
4
+ import { PaginatorPageChangeOption, PaginatorProps, PaginatorTemplateOptions } from "../presentation/Paginator";
5
+ export interface RowProps {
6
+ id?: string;
7
+ key?: string;
8
+ className?: string;
9
+ style?: React.CSSProperties;
10
+ }
11
+ export interface RowControlOptions {
12
+ toggleContent: () => void;
13
+ }
14
+ export type DataFixtureTemplateHandler = () => NoseurElement;
15
+ export type DataRowValuedPropsHandler<D> = (data?: D) => RowProps;
16
+ export type DataRowExpansionTemplateHandler<D> = (data: D) => NoseurElement;
17
+ export type DataRowSelectionHandler<D> = (value: D, rowNumber?: number) => boolean;
18
+ export type DataSelectionElementTemplateHandler = (index: number) => NoseurElement;
19
+ export type DataComparatorHandler<D> = (sortDirection: SortDirection, dataKey: string, p: D, c: D) => number;
20
+ export interface DataManageRef {
21
+ getData: <D>() => D[];
22
+ setData: <D>(data?: D[]) => void;
23
+ expandContent: (row: number) => void;
24
+ toggleContent: (row: number) => void;
25
+ collapseContent: (row: number) => void;
26
+ setLoadingState: (isLoading: boolean) => void;
27
+ setAndExpandRowContent: (row: number, content: NoseurElement) => void;
28
+ }
29
+ export interface DataInternalElementProps {
30
+ id?: string;
31
+ key?: string;
32
+ className?: string;
33
+ style?: React.CSSProperties;
34
+ }
35
+ export interface DataProps<T, D> extends ComponentBaseProps<T, DataManageRef> {
36
+ data?: D[];
37
+ dataId: string;
38
+ paginate: boolean;
39
+ rowProps: RowProps;
40
+ noDivider: boolean;
41
+ scrollable: boolean;
42
+ rowsPerPage: number;
43
+ totalRecords: number;
44
+ stripedRows: boolean;
45
+ rowSelection: boolean;
46
+ showGridLines: boolean;
47
+ dataRefreshKeys: any[];
48
+ dataSelectionKey: string;
49
+ emptyState: NoseurElement;
50
+ multiRowExpansion: boolean;
51
+ loadingState: NoseurElement;
52
+ allowNoDataPagination: boolean;
53
+ rowsContent: {
54
+ [key: number]: any;
55
+ };
56
+ paginatorProps: Partial<PaginatorProps>;
57
+ paginatorTemplate: PaginatorTemplateOptions;
58
+ internalElementProps: Partial<DataInternalElementProps>;
59
+ header: DataFixtureTemplateHandler;
60
+ footer: DataFixtureTemplateHandler;
61
+ compareData: DataComparatorHandler<D>;
62
+ onRowSelection: DataRowSelectionHandler<D>;
63
+ valuedRowProps: DataRowValuedPropsHandler<D>;
64
+ rowExpansionTemplate: DataRowExpansionTemplateHandler<D>;
65
+ onPageChange?: (event: PaginatorPageChangeOption) => void;
66
+ selectionElementTemplate: DataSelectionElementTemplateHandler;
67
+ }
68
+ export interface DataState<D> {
69
+ activeData?: D[];
70
+ isLoading?: boolean;
71
+ dataOffset: number;
72
+ currentPage: number;
73
+ rowsContent: {
74
+ [key: number]: any;
75
+ };
76
+ }
77
+ export declare class DataComponent<T, P extends DataProps<T, D>, S extends DataState<D>, D> extends React.Component<P, S> {
78
+ rowContentElementMaps: {
79
+ [key: number]: {
80
+ rowElement?: any;
81
+ contentElement?: any;
82
+ expanded?: boolean;
83
+ originalHeight?: number;
84
+ };
85
+ };
86
+ componentDidMount(): void;
87
+ componentWillUnmount(): void;
88
+ renderEmptyState(): React.JSX.Element | null;
89
+ renderLoadingState(): React.JSX.Element | null;
90
+ renderFixtures(fixture: DataFixtureTemplateHandler, className: string): React.JSX.Element | null;
91
+ buildRowProps(data?: any): any;
92
+ onPageChange(event: PaginatorPageChangeOption): void;
93
+ renderPaginator(hasFooter: boolean): React.JSX.Element | null;
94
+ internalToggleRowContent(row: number, expand?: boolean, content?: NoseurElement): void;
95
+ toggleRowContent(row: number, data: any, expand?: boolean, content?: NoseurElement): S["rowsContent"];
96
+ renderRowContents(): React.JSX.Element[];
97
+ resolveRowContentPositions(): void;
98
+ }