no-frills-ui 0.0.14-alpha.2 → 0.0.14-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +99 -49
- package/dist/index.js.map +1 -1
- package/lib-esm/components/Accordion/Accordion.d.ts +1 -0
- package/lib-esm/components/Accordion/Accordion.d.ts.map +1 -0
- package/lib-esm/components/Accordion/Accordion.js.map +1 -1
- package/lib-esm/components/Accordion/AccordionStep.d.ts +1 -0
- package/lib-esm/components/Accordion/AccordionStep.d.ts.map +1 -0
- package/lib-esm/components/Accordion/AccordionStep.js.map +1 -1
- package/lib-esm/components/Accordion/index.d.ts +1 -0
- package/lib-esm/components/Accordion/index.d.ts.map +1 -0
- package/lib-esm/components/Accordion/index.js.map +1 -1
- package/lib-esm/components/Badge/Badge.d.ts +1 -0
- package/lib-esm/components/Badge/Badge.d.ts.map +1 -0
- package/lib-esm/components/Badge/Badge.js.map +1 -1
- package/lib-esm/components/Badge/index.d.ts +1 -0
- package/lib-esm/components/Badge/index.d.ts.map +1 -0
- package/lib-esm/components/Badge/index.js.map +1 -1
- package/lib-esm/components/Button/ActionButton.d.ts +1 -0
- package/lib-esm/components/Button/ActionButton.d.ts.map +1 -0
- package/lib-esm/components/Button/ActionButton.js.map +1 -1
- package/lib-esm/components/Button/Button.d.ts +1 -0
- package/lib-esm/components/Button/Button.d.ts.map +1 -0
- package/lib-esm/components/Button/Button.js.map +1 -1
- package/lib-esm/components/Button/IconButton.d.ts +1 -0
- package/lib-esm/components/Button/IconButton.d.ts.map +1 -0
- package/lib-esm/components/Button/IconButton.js.map +1 -1
- package/lib-esm/components/Button/LinkButton.d.ts +1 -0
- package/lib-esm/components/Button/LinkButton.d.ts.map +1 -0
- package/lib-esm/components/Button/LinkButton.js.map +1 -1
- package/lib-esm/components/Button/RaisedButton.d.ts +1 -0
- package/lib-esm/components/Button/RaisedButton.d.ts.map +1 -0
- package/lib-esm/components/Button/RaisedButton.js.map +1 -1
- package/lib-esm/components/Button/index.d.ts +1 -0
- package/lib-esm/components/Button/index.d.ts.map +1 -0
- package/lib-esm/components/Button/index.js.map +1 -1
- package/lib-esm/components/Card/Card.d.ts +1 -0
- package/lib-esm/components/Card/Card.d.ts.map +1 -0
- package/lib-esm/components/Card/Card.js.map +1 -1
- package/lib-esm/components/Card/index.d.ts +1 -0
- package/lib-esm/components/Card/index.d.ts.map +1 -0
- package/lib-esm/components/Card/index.js.map +1 -1
- package/lib-esm/components/Chip/Chip.d.ts +1 -0
- package/lib-esm/components/Chip/Chip.d.ts.map +1 -0
- package/lib-esm/components/Chip/Chip.js.map +1 -1
- package/lib-esm/components/Chip/index.d.ts +1 -0
- package/lib-esm/components/Chip/index.d.ts.map +1 -0
- package/lib-esm/components/Chip/index.js.map +1 -1
- package/lib-esm/components/ChipInput/ChipInput.d.ts +1 -0
- package/lib-esm/components/ChipInput/ChipInput.d.ts.map +1 -0
- package/lib-esm/components/ChipInput/ChipInput.js.map +1 -1
- package/lib-esm/components/ChipInput/index.d.ts +1 -0
- package/lib-esm/components/ChipInput/index.d.ts.map +1 -0
- package/lib-esm/components/ChipInput/index.js.map +1 -1
- package/lib-esm/components/Dialog/AlertDialog.d.ts +1 -0
- package/lib-esm/components/Dialog/AlertDialog.d.ts.map +1 -0
- package/lib-esm/components/Dialog/AlertDialog.js +1 -1
- package/lib-esm/components/Dialog/AlertDialog.js.map +1 -1
- package/lib-esm/components/Dialog/ConfirmDialog.d.ts +1 -0
- package/lib-esm/components/Dialog/ConfirmDialog.d.ts.map +1 -0
- package/lib-esm/components/Dialog/ConfirmDialog.js.map +1 -1
- package/lib-esm/components/Dialog/Dialog.d.ts +3 -3
- package/lib-esm/components/Dialog/Dialog.d.ts.map +1 -0
- package/lib-esm/components/Dialog/Dialog.js +17 -13
- package/lib-esm/components/Dialog/Dialog.js.map +1 -1
- package/lib-esm/components/Dialog/PromptDialog.d.ts +1 -0
- package/lib-esm/components/Dialog/PromptDialog.d.ts.map +1 -0
- package/lib-esm/components/Dialog/PromptDialog.js.map +1 -1
- package/lib-esm/components/Dialog/index.d.ts +1 -0
- package/lib-esm/components/Dialog/index.d.ts.map +1 -0
- package/lib-esm/components/Dialog/index.js.map +1 -1
- package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts +1 -0
- package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts.map +1 -0
- package/lib-esm/components/DragAndDrop/DragAndDrop.js.map +1 -1
- package/lib-esm/components/DragAndDrop/DragItem.d.ts +1 -0
- package/lib-esm/components/DragAndDrop/DragItem.d.ts.map +1 -0
- package/lib-esm/components/DragAndDrop/DragItem.js.map +1 -1
- package/lib-esm/components/DragAndDrop/index.d.ts +1 -0
- package/lib-esm/components/DragAndDrop/index.d.ts.map +1 -0
- package/lib-esm/components/DragAndDrop/index.js.map +1 -1
- package/lib-esm/components/DragAndDrop/types.d.ts +1 -0
- package/lib-esm/components/DragAndDrop/types.d.ts.map +1 -0
- package/lib-esm/components/DragAndDrop/types.js.map +1 -1
- package/lib-esm/components/Drawer/Drawer.d.ts +1 -0
- package/lib-esm/components/Drawer/Drawer.d.ts.map +1 -0
- package/lib-esm/components/Drawer/Drawer.js.map +1 -1
- package/lib-esm/components/Drawer/index.d.ts +1 -0
- package/lib-esm/components/Drawer/index.d.ts.map +1 -0
- package/lib-esm/components/Drawer/index.js.map +1 -1
- package/lib-esm/components/Groups/Group.d.ts +1 -0
- package/lib-esm/components/Groups/Group.d.ts.map +1 -0
- package/lib-esm/components/Groups/Group.js.map +1 -1
- package/lib-esm/components/Groups/GroupLabel.d.ts +1 -0
- package/lib-esm/components/Groups/GroupLabel.d.ts.map +1 -0
- package/lib-esm/components/Groups/GroupLabel.js.map +1 -1
- package/lib-esm/components/Groups/index.d.ts +1 -0
- package/lib-esm/components/Groups/index.d.ts.map +1 -0
- package/lib-esm/components/Groups/index.js.map +1 -1
- package/lib-esm/components/Input/Checkbox.d.ts +1 -0
- package/lib-esm/components/Input/Checkbox.d.ts.map +1 -0
- package/lib-esm/components/Input/Checkbox.js.map +1 -1
- package/lib-esm/components/Input/Dropdown.d.ts +1 -0
- package/lib-esm/components/Input/Dropdown.d.ts.map +1 -0
- package/lib-esm/components/Input/Dropdown.js.map +1 -1
- package/lib-esm/components/Input/Input.d.ts +1 -0
- package/lib-esm/components/Input/Input.d.ts.map +1 -0
- package/lib-esm/components/Input/Input.js.map +1 -1
- package/lib-esm/components/Input/Radio.d.ts +1 -0
- package/lib-esm/components/Input/Radio.d.ts.map +1 -0
- package/lib-esm/components/Input/Radio.js.map +1 -1
- package/lib-esm/components/Input/RadioButton.d.ts +1 -0
- package/lib-esm/components/Input/RadioButton.d.ts.map +1 -0
- package/lib-esm/components/Input/RadioButton.js.map +1 -1
- package/lib-esm/components/Input/Select.d.ts +1 -0
- package/lib-esm/components/Input/Select.d.ts.map +1 -0
- package/lib-esm/components/Input/Select.js.map +1 -1
- package/lib-esm/components/Input/TextArea.d.ts +1 -0
- package/lib-esm/components/Input/TextArea.d.ts.map +1 -0
- package/lib-esm/components/Input/TextArea.js.map +1 -1
- package/lib-esm/components/Input/Toggle.d.ts +1 -0
- package/lib-esm/components/Input/Toggle.d.ts.map +1 -0
- package/lib-esm/components/Input/Toggle.js.map +1 -1
- package/lib-esm/components/Input/index.d.ts +1 -0
- package/lib-esm/components/Input/index.d.ts.map +1 -0
- package/lib-esm/components/Input/index.js.map +1 -1
- package/lib-esm/components/Menu/Menu.d.ts +1 -0
- package/lib-esm/components/Menu/Menu.d.ts.map +1 -0
- package/lib-esm/components/Menu/Menu.js.map +1 -1
- package/lib-esm/components/Menu/MenuContext.d.ts +1 -0
- package/lib-esm/components/Menu/MenuContext.d.ts.map +1 -0
- package/lib-esm/components/Menu/MenuContext.js.map +1 -1
- package/lib-esm/components/Menu/MenuItem.d.ts +1 -0
- package/lib-esm/components/Menu/MenuItem.d.ts.map +1 -0
- package/lib-esm/components/Menu/MenuItem.js.map +1 -1
- package/lib-esm/components/Menu/index.d.ts +1 -0
- package/lib-esm/components/Menu/index.d.ts.map +1 -0
- package/lib-esm/components/Menu/index.js.map +1 -1
- package/lib-esm/components/Modal/Modal.d.ts +1 -0
- package/lib-esm/components/Modal/Modal.d.ts.map +1 -0
- package/lib-esm/components/Modal/Modal.js.map +1 -1
- package/lib-esm/components/Modal/index.d.ts +1 -0
- package/lib-esm/components/Modal/index.d.ts.map +1 -0
- package/lib-esm/components/Modal/index.js.map +1 -1
- package/lib-esm/components/Notification/Notification.d.ts +1 -0
- package/lib-esm/components/Notification/Notification.d.ts.map +1 -0
- package/lib-esm/components/Notification/Notification.js.map +1 -1
- package/lib-esm/components/Notification/NotificationManager.d.ts +1 -0
- package/lib-esm/components/Notification/NotificationManager.d.ts.map +1 -0
- package/lib-esm/components/Notification/NotificationManager.js.map +1 -1
- package/lib-esm/components/Notification/index.d.ts +1 -0
- package/lib-esm/components/Notification/index.d.ts.map +1 -0
- package/lib-esm/components/Notification/index.js.map +1 -1
- package/lib-esm/components/Notification/style.d.ts +1 -0
- package/lib-esm/components/Notification/style.d.ts.map +1 -0
- package/lib-esm/components/Notification/style.js.map +1 -1
- package/lib-esm/components/Notification/types.d.ts +1 -0
- package/lib-esm/components/Notification/types.d.ts.map +1 -0
- package/lib-esm/components/Notification/types.js.map +1 -1
- package/lib-esm/components/Popover/Popover.d.ts +1 -0
- package/lib-esm/components/Popover/Popover.d.ts.map +1 -0
- package/lib-esm/components/Popover/Popover.js.map +1 -1
- package/lib-esm/components/Popover/index.d.ts +1 -0
- package/lib-esm/components/Popover/index.d.ts.map +1 -0
- package/lib-esm/components/Popover/index.js.map +1 -1
- package/lib-esm/components/Spinner/Spinner.d.ts +1 -0
- package/lib-esm/components/Spinner/Spinner.d.ts.map +1 -0
- package/lib-esm/components/Spinner/Spinner.js.map +1 -1
- package/lib-esm/components/Spinner/index.d.ts +1 -0
- package/lib-esm/components/Spinner/index.d.ts.map +1 -0
- package/lib-esm/components/Spinner/index.js.map +1 -1
- package/lib-esm/components/Stepper/Step.d.ts +1 -0
- package/lib-esm/components/Stepper/Step.d.ts.map +1 -0
- package/lib-esm/components/Stepper/Step.js.map +1 -1
- package/lib-esm/components/Stepper/Stepper.d.ts +1 -0
- package/lib-esm/components/Stepper/Stepper.d.ts.map +1 -0
- package/lib-esm/components/Stepper/Stepper.js.map +1 -1
- package/lib-esm/components/Stepper/index.d.ts +1 -0
- package/lib-esm/components/Stepper/index.d.ts.map +1 -0
- package/lib-esm/components/Stepper/index.js.map +1 -1
- package/lib-esm/components/Tabs/Tab.d.ts +1 -0
- package/lib-esm/components/Tabs/Tab.d.ts.map +1 -0
- package/lib-esm/components/Tabs/Tab.js.map +1 -1
- package/lib-esm/components/Tabs/Tabs.d.ts +1 -0
- package/lib-esm/components/Tabs/Tabs.d.ts.map +1 -0
- package/lib-esm/components/Tabs/Tabs.js.map +1 -1
- package/lib-esm/components/Tabs/index.d.ts +1 -0
- package/lib-esm/components/Tabs/index.d.ts.map +1 -0
- package/lib-esm/components/Tabs/index.js.map +1 -1
- package/lib-esm/components/Toast/Toast.d.ts +1 -0
- package/lib-esm/components/Toast/Toast.d.ts.map +1 -0
- package/lib-esm/components/Toast/Toast.js.map +1 -1
- package/lib-esm/components/Toast/ToastStory.d.ts +1 -0
- package/lib-esm/components/Toast/ToastStory.d.ts.map +1 -0
- package/lib-esm/components/Toast/ToastStory.js.map +1 -1
- package/lib-esm/components/Toast/index.d.ts +1 -0
- package/lib-esm/components/Toast/index.d.ts.map +1 -0
- package/lib-esm/components/Toast/index.js.map +1 -1
- package/lib-esm/components/Tooltip/Tooltip.d.ts +1 -0
- package/lib-esm/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/lib-esm/components/Tooltip/Tooltip.js.map +1 -1
- package/lib-esm/components/Tooltip/index.d.ts +1 -0
- package/lib-esm/components/Tooltip/index.d.ts.map +1 -0
- package/lib-esm/components/Tooltip/index.js.map +1 -1
- package/lib-esm/components/index.d.ts +1 -0
- package/lib-esm/components/index.d.ts.map +1 -0
- package/lib-esm/components/index.js.map +1 -1
- package/lib-esm/icons/CheckCircle.d.ts +1 -0
- package/lib-esm/icons/CheckCircle.d.ts.map +1 -0
- package/lib-esm/icons/CheckCircle.js.map +1 -1
- package/lib-esm/icons/Close.d.ts +1 -0
- package/lib-esm/icons/Close.d.ts.map +1 -0
- package/lib-esm/icons/Close.js.map +1 -1
- package/lib-esm/icons/DragIndicator.d.ts +1 -0
- package/lib-esm/icons/DragIndicator.d.ts.map +1 -0
- package/lib-esm/icons/DragIndicator.js.map +1 -1
- package/lib-esm/icons/ErrorOutline.d.ts +1 -0
- package/lib-esm/icons/ErrorOutline.d.ts.map +1 -0
- package/lib-esm/icons/ErrorOutline.js.map +1 -1
- package/lib-esm/icons/ExpandMore.d.ts +1 -0
- package/lib-esm/icons/ExpandMore.d.ts.map +1 -0
- package/lib-esm/icons/ExpandMore.js.map +1 -1
- package/lib-esm/icons/FiberManualRecord.d.ts +1 -0
- package/lib-esm/icons/FiberManualRecord.d.ts.map +1 -0
- package/lib-esm/icons/FiberManualRecord.js.map +1 -1
- package/lib-esm/icons/Info.d.ts +1 -0
- package/lib-esm/icons/Info.d.ts.map +1 -0
- package/lib-esm/icons/Info.js.map +1 -1
- package/lib-esm/icons/ReportProblem.d.ts +1 -0
- package/lib-esm/icons/ReportProblem.d.ts.map +1 -0
- package/lib-esm/icons/ReportProblem.js.map +1 -1
- package/lib-esm/icons/index.d.ts +1 -0
- package/lib-esm/icons/index.d.ts.map +1 -0
- package/lib-esm/icons/index.js.map +1 -1
- package/lib-esm/index.d.ts +1 -0
- package/lib-esm/index.d.ts.map +1 -0
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/shared/LayerManager.d.ts +28 -1
- package/lib-esm/shared/LayerManager.d.ts.map +1 -0
- package/lib-esm/shared/LayerManager.js +82 -36
- package/lib-esm/shared/LayerManager.js.map +1 -1
- package/lib-esm/shared/constants.d.ts +1 -0
- package/lib-esm/shared/constants.d.ts.map +1 -0
- package/lib-esm/shared/constants.js.map +1 -1
- package/lib-esm/shared/styles.d.ts +1 -0
- package/lib-esm/shared/styles.d.ts.map +1 -0
- package/lib-esm/shared/styles.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1115,6 +1115,32 @@ const KEY_CODES$1 = {
|
|
|
1115
1115
|
* This way we need not worry about the z-index and can freely keep on creating
|
|
1116
1116
|
* new layers. The staring layer z-index is 10000. Leaving enough z-index for the
|
|
1117
1117
|
* user if they desires so.
|
|
1118
|
+
*
|
|
1119
|
+
* @important Usage Pattern
|
|
1120
|
+
* To avoid creating duplicate layers (especially in React Strict Mode or Next.js),
|
|
1121
|
+
* always call `renderLayer` only once - either in a lifecycle method (like `componentDidUpdate`)
|
|
1122
|
+
* or in an imperative method (like `open()`).
|
|
1123
|
+
*
|
|
1124
|
+
* @example
|
|
1125
|
+
* // ❌ Don't call renderLayer in render() method
|
|
1126
|
+
* render() {
|
|
1127
|
+
* if (this.state.show) {
|
|
1128
|
+
* const [Component, closeFn] = LayerManager.renderLayer({ ... }); // Creates new layer on every render
|
|
1129
|
+
* return <Component />;
|
|
1130
|
+
* }
|
|
1131
|
+
* }
|
|
1132
|
+
*
|
|
1133
|
+
* @example
|
|
1134
|
+
* // ✅ Do call renderLayer once in a method and store the component
|
|
1135
|
+
* open() {
|
|
1136
|
+
* const [Component, closeFn] = LayerManager.renderLayer({ ... });
|
|
1137
|
+
* this.setState({ LayerComponent: Component });
|
|
1138
|
+
* }
|
|
1139
|
+
*
|
|
1140
|
+
* render() {
|
|
1141
|
+
* const { LayerComponent } = this.state;
|
|
1142
|
+
* return LayerComponent ? <LayerComponent /> : null;
|
|
1143
|
+
* }
|
|
1118
1144
|
*/
|
|
1119
1145
|
class LayerManager {
|
|
1120
1146
|
/**
|
|
@@ -1154,59 +1180,79 @@ class LayerManager {
|
|
|
1154
1180
|
* @param config
|
|
1155
1181
|
*/
|
|
1156
1182
|
this.renderLayer = (config) => {
|
|
1183
|
+
// SSR guard
|
|
1184
|
+
if (typeof document === 'undefined') {
|
|
1185
|
+
return [() => null, () => { }];
|
|
1186
|
+
}
|
|
1157
1187
|
// Merge default config with the provided config.
|
|
1158
1188
|
const layerConfig = Object.assign(Object.assign({}, defaultConfig), config);
|
|
1159
1189
|
// Get the z-index for the new layer
|
|
1160
1190
|
const currentIndex = layerConfig.alwaysOnTop ? 2147483647 : this.nextIndex++;
|
|
1161
|
-
//
|
|
1162
|
-
const
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
const currentLayer = {
|
|
1167
|
-
id: `nf-layer-manager-${currentIndex}`,
|
|
1168
|
-
config: layerConfig,
|
|
1169
|
-
element: divElement,
|
|
1170
|
-
};
|
|
1171
|
-
this.layers.push(currentLayer);
|
|
1172
|
-
const overlayClickHandler = (layer) => () => {
|
|
1173
|
-
if (layer.config.closeOnOverlayClick !== false) {
|
|
1191
|
+
// Create a unique ID for tracking this layer
|
|
1192
|
+
const layerId = `nf-layer-manager-${currentIndex}`;
|
|
1193
|
+
const overlayClickHandler = () => {
|
|
1194
|
+
const layer = this.layers.find((l) => l.id === layerId);
|
|
1195
|
+
if (layer && layer.config.closeOnOverlayClick !== false) {
|
|
1174
1196
|
this.unmount(layer);
|
|
1175
1197
|
}
|
|
1176
1198
|
};
|
|
1199
|
+
const closeFn = (resp) => {
|
|
1200
|
+
const layer = this.layers.find((l) => l.id === layerId);
|
|
1201
|
+
if (layer) {
|
|
1202
|
+
this.unmount(layer, resp);
|
|
1203
|
+
}
|
|
1204
|
+
};
|
|
1177
1205
|
// Return callback which will trigger the un-mount.
|
|
1178
1206
|
return [
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
// This class will help component in triggering the entry animation.
|
|
1182
|
-
function TestLayer() {
|
|
1207
|
+
() => {
|
|
1208
|
+
const [divElement, setDivElement] = React.useState(null);
|
|
1183
1209
|
React.useEffect(() => {
|
|
1184
|
-
//
|
|
1185
|
-
|
|
1186
|
-
|
|
1210
|
+
// Create the div element only once when component mounts
|
|
1211
|
+
const div = document.createElement('div');
|
|
1212
|
+
div.setAttribute('id', layerId);
|
|
1213
|
+
document.body.appendChild(div);
|
|
1214
|
+
// Add layer to stack
|
|
1215
|
+
const currentLayer = {
|
|
1216
|
+
id: layerId,
|
|
1217
|
+
config: layerConfig,
|
|
1218
|
+
element: div,
|
|
1219
|
+
};
|
|
1220
|
+
this.layers.push(currentLayer);
|
|
1221
|
+
setDivElement(div);
|
|
1222
|
+
// Add entry animation class after a short delay
|
|
1187
1223
|
setTimeout(() => {
|
|
1188
|
-
|
|
1224
|
+
div.setAttribute('class', 'nf-layer-enter');
|
|
1189
1225
|
}, 10);
|
|
1190
|
-
// Cleanup function
|
|
1226
|
+
// Cleanup function - remove div when component unmounts
|
|
1191
1227
|
return () => {
|
|
1192
|
-
document.body.
|
|
1228
|
+
if (document.body.contains(div)) {
|
|
1229
|
+
document.body.removeChild(div);
|
|
1230
|
+
}
|
|
1231
|
+
// Remove from layers array
|
|
1232
|
+
const index = this.layers.findIndex((layer) => layer.id === layerId);
|
|
1233
|
+
if (index !== -1) {
|
|
1234
|
+
this.layers.splice(index, 1);
|
|
1235
|
+
}
|
|
1193
1236
|
};
|
|
1194
|
-
}, []);
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1237
|
+
}, []); // Empty dependency array - run only once
|
|
1238
|
+
if (!divElement) {
|
|
1239
|
+
return null;
|
|
1240
|
+
}
|
|
1241
|
+
return ReactDOM.createPortal(jsxRuntime.jsx(Container$5, Object.assign({ onClick: overlayClickHandler, zIndex: currentIndex }, layerConfig, { children: layerConfig.component })), divElement);
|
|
1199
1242
|
},
|
|
1243
|
+
closeFn,
|
|
1200
1244
|
];
|
|
1201
1245
|
};
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1246
|
+
if (typeof document !== 'undefined') {
|
|
1247
|
+
document.body.addEventListener('keyup', (e) => {
|
|
1248
|
+
if (this.layers.length && e.keyCode === KEY_CODES$1.ESC) {
|
|
1249
|
+
const lastLayer = this.layers.slice(-1)[0];
|
|
1250
|
+
if (lastLayer.config.closeOnEsc !== false) {
|
|
1251
|
+
this.unmount(lastLayer);
|
|
1252
|
+
}
|
|
1207
1253
|
}
|
|
1208
|
-
}
|
|
1209
|
-
}
|
|
1254
|
+
});
|
|
1255
|
+
}
|
|
1210
1256
|
}
|
|
1211
1257
|
}
|
|
1212
1258
|
// Return the instance of the class to create a Singleton.
|
|
@@ -1234,10 +1280,23 @@ class Dialog extends React.Component {
|
|
|
1234
1280
|
super(...arguments);
|
|
1235
1281
|
this.state = {
|
|
1236
1282
|
show: false,
|
|
1283
|
+
LayerComponent: undefined,
|
|
1237
1284
|
};
|
|
1238
1285
|
this.open = (closeCallback) => {
|
|
1286
|
+
const _a = this.props, { closeOnEsc, closeOnOverlayClick, children } = _a, rest = __rest(_a, ["closeOnEsc", "closeOnOverlayClick", "children"]);
|
|
1287
|
+
const [Component, closeFn] = LayerManager$1.renderLayer({
|
|
1288
|
+
exitDelay: 300,
|
|
1289
|
+
overlay: true,
|
|
1290
|
+
closeOnEsc,
|
|
1291
|
+
closeCallback: this.closeCallback,
|
|
1292
|
+
closeOnOverlayClick,
|
|
1293
|
+
position: LAYER_POSITION.DIALOG,
|
|
1294
|
+
component: (jsxRuntime.jsx(DialogContainer, Object.assign({}, rest, { onClick: (e) => e.stopPropagation(), elevated: true, children: children }))),
|
|
1295
|
+
});
|
|
1296
|
+
this.closeDialog = closeFn;
|
|
1239
1297
|
this.setState({
|
|
1240
1298
|
show: true,
|
|
1299
|
+
LayerComponent: Component,
|
|
1241
1300
|
});
|
|
1242
1301
|
this.onCloseFn = closeCallback;
|
|
1243
1302
|
};
|
|
@@ -1249,6 +1308,7 @@ class Dialog extends React.Component {
|
|
|
1249
1308
|
var _a;
|
|
1250
1309
|
this.setState({
|
|
1251
1310
|
show: false,
|
|
1311
|
+
LayerComponent: undefined,
|
|
1252
1312
|
});
|
|
1253
1313
|
(_a = this.onCloseFn) === null || _a === void 0 ? void 0 : _a.call(this, resp);
|
|
1254
1314
|
};
|
|
@@ -1257,19 +1317,9 @@ class Dialog extends React.Component {
|
|
|
1257
1317
|
return this.state.show !== nextState.show;
|
|
1258
1318
|
}
|
|
1259
1319
|
render() {
|
|
1260
|
-
const
|
|
1261
|
-
if (this.state.show) {
|
|
1262
|
-
|
|
1263
|
-
exitDelay: 300,
|
|
1264
|
-
overlay: true,
|
|
1265
|
-
closeOnEsc,
|
|
1266
|
-
closeCallback: this.closeCallback,
|
|
1267
|
-
closeOnOverlayClick,
|
|
1268
|
-
position: LAYER_POSITION.DIALOG,
|
|
1269
|
-
component: (jsxRuntime.jsx(DialogContainer, Object.assign({}, rest, { onClick: (e) => e.stopPropagation(), elevated: true, children: children }))),
|
|
1270
|
-
});
|
|
1271
|
-
this.closeDialog = closeFn;
|
|
1272
|
-
return jsxRuntime.jsx(Component, {});
|
|
1320
|
+
const { LayerComponent } = this.state;
|
|
1321
|
+
if (this.state.show && LayerComponent) {
|
|
1322
|
+
return jsxRuntime.jsx(LayerComponent, {});
|
|
1273
1323
|
}
|
|
1274
1324
|
else {
|
|
1275
1325
|
return null;
|
|
@@ -1300,7 +1350,7 @@ class AlertDialog extends React.Component {
|
|
|
1300
1350
|
this.close = () => this.dialog.current.close();
|
|
1301
1351
|
}
|
|
1302
1352
|
render() {
|
|
1303
|
-
return (jsxRuntime.jsxs(Dialog, Object.assign({}, this.props.dialogProps, { ref: this.dialog, closeOnEsc: false, closeOnOverlayClick:
|
|
1353
|
+
return (jsxRuntime.jsxs(Dialog, Object.assign({}, this.props.dialogProps, { ref: this.dialog, closeOnEsc: false, closeOnOverlayClick: true, children: [this.props.header && jsxRuntime.jsx(Header$1, { children: this.props.header }), jsxRuntime.jsx(Body$1, { children: this.props.body }), jsxRuntime.jsx(Footer$1, { children: jsxRuntime.jsx(Button$2, { onClick: this.close, children: this.props.buttonText }) })] })));
|
|
1304
1354
|
}
|
|
1305
1355
|
}
|
|
1306
1356
|
AlertDialog.propTypes = {
|