@quillsql/react 1.6.9 → 1.7.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 (114) hide show
  1. package/lib/AddToDashboardModal.js +3 -3
  2. package/lib/AddToDashboardModal.js.map +1 -1
  3. package/lib/Chart.js +82 -145
  4. package/lib/Chart.js.map +1 -1
  5. package/lib/Context.d.ts +3 -3
  6. package/lib/Context.js +10 -20
  7. package/lib/Context.js.map +1 -1
  8. package/lib/Dashboard.js +34 -23
  9. package/lib/Dashboard.js.map +1 -1
  10. package/lib/QuillProvider.d.ts +2 -1
  11. package/lib/QuillProvider.js +2 -2
  12. package/lib/QuillProvider.js.map +1 -1
  13. package/lib/ReportBuilder.d.ts +1 -1
  14. package/lib/ReportBuilder.js +3 -3
  15. package/lib/ReportBuilder.js.map +1 -1
  16. package/lib/SQLEditor.js +3 -3
  17. package/lib/SQLEditor.js.map +1 -1
  18. package/lib/Table.js.map +1 -1
  19. package/lib/hooks/useQuill.js +3 -3
  20. package/lib/hooks/useQuill.js.map +1 -1
  21. package/package.json +24 -3
  22. package/rollup.config.ts +21 -0
  23. package/src/AddToDashboardModal.tsx +10 -3
  24. package/src/Chart.tsx +66 -195
  25. package/src/Context.tsx +10 -27
  26. package/src/Dashboard.tsx +38 -21
  27. package/src/QuillProvider.tsx +3 -0
  28. package/src/ReportBuilder.tsx +10 -4
  29. package/src/SQLEditor.tsx +9 -3
  30. package/src/Table.tsx +0 -1
  31. package/src/hooks/useQuill.ts +2 -1
  32. package/lib/AddToDashboardButton.d.ts +0 -1
  33. package/lib/AddToDashboardButton.js +0 -2
  34. package/lib/AddToDashboardButton.js.map +0 -1
  35. package/lib/AppContext.d.ts +0 -29
  36. package/lib/AppContext.js +0 -94
  37. package/lib/AppContext.js.map +0 -1
  38. package/lib/Button.d.ts +0 -26
  39. package/lib/Button.js +0 -151
  40. package/lib/Button.js.map +0 -1
  41. package/lib/ContextProvider.d.ts +0 -28
  42. package/lib/ContextProvider.js +0 -93
  43. package/lib/ContextProvider.js.map +0 -1
  44. package/lib/DateRangePicker.d.ts +0 -32
  45. package/lib/DateRangePicker.js +0 -105
  46. package/lib/DateRangePicker.js.map +0 -1
  47. package/lib/Dialog.d.ts +0 -68
  48. package/lib/Dialog.js +0 -407
  49. package/lib/Dialog.js.map +0 -1
  50. package/lib/Portal.d.ts +0 -32
  51. package/lib/Portal.js +0 -171
  52. package/lib/Portal.js.map +0 -1
  53. package/lib/Props.d.ts +0 -0
  54. package/lib/Props.js +0 -2
  55. package/lib/Props.js.map +0 -1
  56. package/lib/components/BigModal/Modal.d.ts +0 -14
  57. package/lib/components/BigModal/Modal.js +0 -109
  58. package/lib/components/BigModal/Modal.js.map +0 -1
  59. package/lib/components/Modal/Dropdown/Dropdown.d.ts +0 -12
  60. package/lib/components/Modal/Dropdown/Dropdown.js +0 -52
  61. package/lib/components/Modal/Dropdown/Dropdown.js.map +0 -1
  62. package/lib/components/Modal/Dropdown/DropdownItem.d.ts +0 -8
  63. package/lib/components/Modal/Dropdown/DropdownItem.js +0 -51
  64. package/lib/components/Modal/Dropdown/DropdownItem.js.map +0 -1
  65. package/lib/components/Modal/Dropdown/index.d.ts +0 -2
  66. package/lib/components/Modal/Dropdown/index.js +0 -3
  67. package/lib/components/Modal/Dropdown/index.js.map +0 -1
  68. package/lib/hooks/useSyncRefs.d.ts +0 -5
  69. package/lib/hooks/useSyncRefs.js +0 -38
  70. package/lib/hooks/useSyncRefs.js.map +0 -1
  71. package/lib/lib/colorClassNames.d.ts +0 -19
  72. package/lib/lib/colorClassNames.js +0 -3175
  73. package/lib/lib/colorClassNames.js.map +0 -1
  74. package/lib/lib/constants.d.ts +0 -16
  75. package/lib/lib/constants.js +0 -47
  76. package/lib/lib/constants.js.map +0 -1
  77. package/lib/lib/font.d.ts +0 -13
  78. package/lib/lib/font.js +0 -14
  79. package/lib/lib/font.js.map +0 -1
  80. package/lib/lib/hexColors.d.ts +0 -3
  81. package/lib/lib/hexColors.js +0 -29
  82. package/lib/lib/hexColors.js.map +0 -1
  83. package/lib/lib/index.d.ts +0 -3
  84. package/lib/lib/index.js +0 -4
  85. package/lib/lib/index.js.map +0 -1
  86. package/lib/lib/inputTypes.d.ts +0 -20
  87. package/lib/lib/inputTypes.js +0 -56
  88. package/lib/lib/inputTypes.js.map +0 -1
  89. package/lib/lib/shape.d.ts +0 -73
  90. package/lib/lib/shape.js +0 -74
  91. package/lib/lib/shape.js.map +0 -1
  92. package/lib/lib/sizing.d.ts +0 -46
  93. package/lib/lib/sizing.js +0 -43
  94. package/lib/lib/sizing.js.map +0 -1
  95. package/lib/lib/spacing.d.ts +0 -264
  96. package/lib/lib/spacing.js +0 -265
  97. package/lib/lib/spacing.js.map +0 -1
  98. package/lib/lib/theme.d.ts +0 -22
  99. package/lib/lib/theme.js +0 -46
  100. package/lib/lib/theme.js.map +0 -1
  101. package/lib/lib/utils.d.ts +0 -9
  102. package/lib/lib/utils.js +0 -40
  103. package/lib/lib/utils.js.map +0 -1
  104. package/lib/styles.css +0 -15795
  105. package/lib/types/Props.d.ts +0 -0
  106. package/lib/types/Props.js +0 -2
  107. package/lib/types/Props.js.map +0 -1
  108. package/lib/types.d.ts +0 -27
  109. package/lib/types.js +0 -6
  110. package/lib/types.js.map +0 -1
  111. package/src/lib/font.ts +0 -14
  112. package/src/lib/index.ts +0 -3
  113. package/src/lib/inputTypes.ts +0 -81
  114. package/src/lib/utils.tsx +0 -46
@@ -1,105 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
- import React, { useRef, useState } from 'react';
25
- import { twMerge } from 'tailwind-merge';
26
- import { startOfMonth, startOfToday } from 'date-fns';
27
- import { enUS } from 'date-fns/locale';
28
- import { BaseColorContext, HoveredValueContext, SelectedValueContext, } from 'contexts';
29
- import { useInternalState, useSelectOnKeyDown } from 'hooks';
30
- import { BaseColors } from 'lib';
31
- import { defaultOptions, getEndDateByDropdownValue, getStartDateByDropdownValue, makeDateRangePickerClassName, parseEndDate, parseStartDate, } from './dateRangePickerUtils';
32
- import Calendar from './Calendar';
33
- import DateRangePickerButton from './DateRangePickerButton';
34
- import { DropdownItem } from 'components/input-elements/Dropdown';
35
- import Modal from 'components/util-elements/Modal';
36
- var DateRangePicker = React.forwardRef(function (props, ref) {
37
- var _a, _b, _c;
38
- var value = props.value, defaultValue = props.defaultValue, onValueChange = props.onValueChange, _d = props.enableDropdown, enableDropdown = _d === void 0 ? true : _d, options = props.options, _e = props.minDate, minDate = _e === void 0 ? null : _e, _f = props.maxDate, maxDate = _f === void 0 ? null : _f, _g = props.placeholder, placeholder = _g === void 0 ? 'Select' : _g, _h = props.dropdownPlaceholder, dropdownPlaceholder = _h === void 0 ? 'Select' : _h, _j = props.disabled, disabled = _j === void 0 ? false : _j, _k = props.color, color = _k === void 0 ? BaseColors.Blue : _k, _l = props.enableYearPagination, enableYearPagination = _l === void 0 ? false : _l, _m = props.locale, locale = _m === void 0 ? enUS : _m, className = props.className, other = __rest(props, ["value", "defaultValue", "onValueChange", "enableDropdown", "options", "minDate", "maxDate", "placeholder", "dropdownPlaceholder", "disabled", "color", "enableYearPagination", "locale", "className"]);
39
- var TODAY = startOfToday();
40
- var calendarRef = useRef(null);
41
- var dropdownRef = useRef(null);
42
- var _o = useInternalState(defaultValue, value), selectedValue = _o[0], setSelectedValue = _o[1];
43
- var _p = useState(null), startOfCurrMonth = _p[0], setStartOfCurrMonth = _p[1];
44
- var _q = useState(false), showCalendar = _q[0], setShowCalendar = _q[1];
45
- var _r = useState(false), showDropdown = _r[0], setShowDropdown = _r[1];
46
- var dropdownOptions = options !== null && options !== void 0 ? options : defaultOptions;
47
- var selectedDropdownValue = selectedValue
48
- ? (_a = selectedValue[2]) !== null && _a !== void 0 ? _a : null
49
- : null;
50
- var selectedStartDate = selectedValue
51
- ? parseStartDate(selectedValue[0], minDate, selectedDropdownValue, dropdownOptions)
52
- : null;
53
- var selectedEndDate = selectedValue
54
- ? parseEndDate(selectedValue[1], maxDate, selectedDropdownValue, dropdownOptions)
55
- : null;
56
- var anchorDate = (_c = (_b = startOfCurrMonth !== null && startOfCurrMonth !== void 0 ? startOfCurrMonth : selectedEndDate) !== null && _b !== void 0 ? _b : selectedStartDate) !== null && _c !== void 0 ? _c : TODAY;
57
- var handleDateClick = function (date) {
58
- if (!selectedStartDate) {
59
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange([date, selectedEndDate, null]);
60
- setSelectedValue([date, selectedEndDate, null]);
61
- }
62
- else if (selectedStartDate && !selectedEndDate) {
63
- if (date < selectedStartDate) {
64
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange([date, selectedEndDate, null]);
65
- setSelectedValue([date, selectedEndDate, null]);
66
- // Selection complete
67
- }
68
- else {
69
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange([selectedStartDate, date, null]);
70
- setSelectedValue([selectedStartDate, date, null]);
71
- setShowCalendar(false);
72
- }
73
- }
74
- else if (selectedStartDate && selectedEndDate) {
75
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange([date, null, null]);
76
- setSelectedValue([date, null, null]);
77
- }
78
- };
79
- var handleCalendarKeyDown = function (e) {
80
- if (e.key === 'Escape') {
81
- e.preventDefault();
82
- setShowCalendar(false);
83
- }
84
- };
85
- var handleDropdownOptionClick = function (dropdownValue) {
86
- var selectedStartDate = getStartDateByDropdownValue(dropdownValue, dropdownOptions);
87
- var selectedEndDate = getEndDateByDropdownValue(dropdownValue, dropdownOptions);
88
- setSelectedValue([selectedStartDate, selectedEndDate, dropdownValue]);
89
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange([selectedStartDate, selectedEndDate, dropdownValue]);
90
- setStartOfCurrMonth(startOfMonth(selectedEndDate));
91
- setShowDropdown(false);
92
- };
93
- var _s = useSelectOnKeyDown(handleDropdownOptionClick, dropdownOptions.map(function (option) { return option.value; }), showDropdown, setShowDropdown, selectedDropdownValue), hoveredDropdownValue = _s[0], handleDropdownKeyDown = _s[1];
94
- return (_jsx(BaseColorContext.Provider, __assign({ value: color }, { children: _jsxs("div", __assign({ ref: ref, className: twMerge(makeDateRangePickerClassName('root'), 'relative w-full', className) }, other, { children: [_jsx(DateRangePickerButton, { value: [selectedStartDate, selectedEndDate, selectedDropdownValue], options: dropdownOptions, placeholder: placeholder, disabled: disabled, calendarRef: calendarRef, showCalendar: showCalendar, setShowCalendar: setShowCalendar, onCalendarKeyDown: handleCalendarKeyDown, enableDropdown: enableDropdown, dropdownRef: dropdownRef, showDropdown: showDropdown, setShowDropdown: setShowDropdown, onDropdownKeyDown: handleDropdownKeyDown, locale: locale, dropdownPlaceholder: dropdownPlaceholder }), _jsx(Modal, __assign({ className: makeDateRangePickerClassName('calendarModal'), showModal: showCalendar, setShowModal: setShowCalendar, parentRef: calendarRef, width: 288, maxHeight: "max-h-fit" }, { children: _jsx(Calendar, { enableYearPagination: enableYearPagination, anchorDate: anchorDate,
95
- // setAnchorDate={setAnchorDate}
96
- startDate: selectedStartDate, endDate: selectedEndDate, minDate: minDate, maxDate: maxDate, onDateClick: handleDateClick, locale: locale, setStartOfCurrMonth: setStartOfCurrMonth }) })), _jsx(Modal, __assign({ className: makeDateRangePickerClassName('dropdownModal'), showModal: showDropdown, setShowModal: setShowDropdown, parentRef: dropdownRef }, { children: _jsx(SelectedValueContext.Provider, __assign({ value: {
97
- selectedValue: selectedDropdownValue,
98
- handleValueChange: handleDropdownOptionClick,
99
- } }, { children: _jsx(HoveredValueContext.Provider, __assign({ value: { hoveredValue: hoveredDropdownValue } }, { children: dropdownOptions.map(function (_a) {
100
- var value = _a.value, text = _a.text;
101
- return (_jsx(DropdownItem, { value: value, text: text }, value));
102
- }) })) })) }))] })) })));
103
- });
104
- export default DateRangePicker;
105
- //# sourceMappingURL=DateRangePicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateRangePicker.js","sourceRoot":"","sources":["../src/DateRangePicker.tsx"],"names":[],"mappings":"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"}
package/lib/Dialog.d.ts DELETED
@@ -1,68 +0,0 @@
1
- import { ElementType, MutableRefObject, Ref } from 'react';
2
- import { Props } from '../../types';
3
- import { PropsForFeatures, HasDisplayName, RefProp } from '../../utils/render';
4
- import { ComponentDescription } from '../description/description';
5
- declare let DEFAULT_DIALOG_TAG: "div";
6
- interface DialogRenderPropArg {
7
- open: boolean;
8
- }
9
- type DialogPropsWeControl = 'role' | 'aria-describedby' | 'aria-labelledby' | 'aria-modal';
10
- declare let DialogRenderFeatures: number;
11
- export type DialogProps<TTag extends ElementType> = Props<TTag, DialogRenderPropArg, DialogPropsWeControl, PropsForFeatures<typeof DialogRenderFeatures> & {
12
- open?: boolean;
13
- onClose(value: boolean): void;
14
- initialFocus?: MutableRefObject<HTMLElement | null>;
15
- __demoMode?: boolean;
16
- }>;
17
- declare function DialogFn<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG>(props: DialogProps<TTag>, ref: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
18
- declare let DEFAULT_OVERLAY_TAG: "div";
19
- interface OverlayRenderPropArg {
20
- open: boolean;
21
- }
22
- type OverlayPropsWeControl = 'aria-hidden';
23
- export type DialogOverlayProps<TTag extends ElementType> = Props<TTag, OverlayRenderPropArg, OverlayPropsWeControl>;
24
- declare function OverlayFn<TTag extends ElementType = typeof DEFAULT_OVERLAY_TAG>(props: DialogOverlayProps<TTag>, ref: Ref<HTMLDivElement>): any;
25
- declare let DEFAULT_BACKDROP_TAG: "div";
26
- interface BackdropRenderPropArg {
27
- open: boolean;
28
- }
29
- type BackdropPropsWeControl = 'aria-hidden';
30
- export type DialogBackdropProps<TTag extends ElementType> = Props<TTag, BackdropRenderPropArg, BackdropPropsWeControl>;
31
- declare function BackdropFn<TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG>(props: DialogBackdropProps<TTag>, ref: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
32
- declare let DEFAULT_PANEL_TAG: "div";
33
- interface PanelRenderPropArg {
34
- open: boolean;
35
- }
36
- export type DialogPanelProps<TTag extends ElementType> = Props<TTag, PanelRenderPropArg>;
37
- declare function PanelFn<TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(props: DialogPanelProps<TTag>, ref: Ref<HTMLDivElement>): any;
38
- declare let DEFAULT_TITLE_TAG: "h2";
39
- interface TitleRenderPropArg {
40
- open: boolean;
41
- }
42
- export type DialogTitleProps<TTag extends ElementType> = Props<TTag, TitleRenderPropArg>;
43
- declare function TitleFn<TTag extends ElementType = typeof DEFAULT_TITLE_TAG>(props: DialogTitleProps<TTag>, ref: Ref<HTMLHeadingElement>): any;
44
- interface ComponentDialog extends HasDisplayName {
45
- <TTag extends ElementType = typeof DEFAULT_DIALOG_TAG>(props: DialogProps<TTag> & RefProp<typeof DialogFn>): JSX.Element;
46
- }
47
- interface ComponentDialogBackdrop extends HasDisplayName {
48
- <TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG>(props: DialogBackdropProps<TTag> & RefProp<typeof BackdropFn>): JSX.Element;
49
- }
50
- interface ComponentDialogPanel extends HasDisplayName {
51
- <TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(props: DialogPanelProps<TTag> & RefProp<typeof PanelFn>): JSX.Element;
52
- }
53
- interface ComponentDialogOverlay extends HasDisplayName {
54
- <TTag extends ElementType = typeof DEFAULT_OVERLAY_TAG>(props: DialogOverlayProps<TTag> & RefProp<typeof OverlayFn>): JSX.Element;
55
- }
56
- interface ComponentDialogTitle extends HasDisplayName {
57
- <TTag extends ElementType = typeof DEFAULT_TITLE_TAG>(props: DialogTitleProps<TTag> & RefProp<typeof TitleFn>): JSX.Element;
58
- }
59
- interface ComponentDialogDescription extends ComponentDescription {
60
- }
61
- export declare let Dialog: ComponentDialog & {
62
- Backdrop: ComponentDialogBackdrop;
63
- Panel: ComponentDialogPanel;
64
- Overlay: ComponentDialogOverlay;
65
- Title: ComponentDialogTitle;
66
- Description: ComponentDialogDescription;
67
- };
68
- export {};
package/lib/Dialog.js DELETED
@@ -1,407 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
24
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
25
- if (ar || !(i in from)) {
26
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
27
- ar[i] = from[i];
28
- }
29
- }
30
- return to.concat(ar || Array.prototype.slice.call(from));
31
- };
32
- var _a;
33
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
34
- import { createContext, createRef, useCallback, useContext, useEffect, useMemo, useReducer, useRef, useState, } from 'react';
35
- import { match } from '../../utils/match';
36
- import { forwardRefWithAs, render, Features, } from '../../utils/render';
37
- import { useSyncRefs } from '../../hooks/use-sync-refs';
38
- import { Keys } from '../keyboard';
39
- import { isDisabledReactIssue7711 } from '../../utils/bugs';
40
- import { useId } from '../../hooks/use-id';
41
- import { FocusTrap } from '../../components/focus-trap/focus-trap';
42
- import { Portal, useNestedPortals } from '../../components/portal/portal';
43
- import { ForcePortalRoot } from '../../internal/portal-force-root';
44
- import { Description, useDescriptions, } from '../description/description';
45
- import { useOpenClosed, State } from '../../internal/open-closed';
46
- import { useServerHandoffComplete } from '../../hooks/use-server-handoff-complete';
47
- import { StackProvider, StackMessage } from '../../internal/stack-context';
48
- import { useOutsideClick } from '../../hooks/use-outside-click';
49
- import { useOwnerDocument } from '../../hooks/use-owner';
50
- import { useEventListener } from '../../hooks/use-event-listener';
51
- import { useEvent } from '../../hooks/use-event';
52
- import { useDocumentOverflowLockedEffect } from '../../hooks/document-overflow/use-document-overflow';
53
- import { useInert } from '../../hooks/use-inert';
54
- import { useRootContainers } from '../../hooks/use-root-containers';
55
- var DialogStates;
56
- (function (DialogStates) {
57
- DialogStates[DialogStates["Open"] = 0] = "Open";
58
- DialogStates[DialogStates["Closed"] = 1] = "Closed";
59
- })(DialogStates || (DialogStates = {}));
60
- var ActionTypes;
61
- (function (ActionTypes) {
62
- ActionTypes[ActionTypes["SetTitleId"] = 0] = "SetTitleId";
63
- })(ActionTypes || (ActionTypes = {}));
64
- var reducers = (_a = {},
65
- _a[ActionTypes.SetTitleId] = function (state, action) {
66
- if (state.titleId === action.id)
67
- return state;
68
- return __assign(__assign({}, state), { titleId: action.id });
69
- },
70
- _a);
71
- var DialogContext = createContext(null);
72
- DialogContext.displayName = 'DialogContext';
73
- function useDialogContext(component) {
74
- var context = useContext(DialogContext);
75
- if (context === null) {
76
- var err = new Error("<".concat(component, " /> is missing a parent <Dialog /> component."));
77
- if (Error.captureStackTrace)
78
- Error.captureStackTrace(err, useDialogContext);
79
- throw err;
80
- }
81
- return context;
82
- }
83
- function useScrollLock(ownerDocument, enabled, resolveAllowedContainers) {
84
- if (resolveAllowedContainers === void 0) { resolveAllowedContainers = function () { return [document.body]; }; }
85
- useDocumentOverflowLockedEffect(ownerDocument, enabled, function (meta) {
86
- var _a;
87
- return ({
88
- containers: __spreadArray(__spreadArray([], ((_a = meta.containers) !== null && _a !== void 0 ? _a : []), true), [resolveAllowedContainers], false),
89
- });
90
- });
91
- }
92
- function stateReducer(state, action) {
93
- return match(action.type, reducers, state, action);
94
- }
95
- // ---
96
- var DEFAULT_DIALOG_TAG = 'div';
97
- var DialogRenderFeatures = Features.RenderStrategy | Features.Static;
98
- function DialogFn(props, ref) {
99
- var _a;
100
- var internalId = useId();
101
- var _b = props.id, id = _b === void 0 ? "headlessui-dialog-".concat(internalId) : _b, open = props.open, onClose = props.onClose, initialFocus = props.initialFocus, _c = props.__demoMode, __demoMode = _c === void 0 ? false : _c, theirProps = __rest(props, ["id", "open", "onClose", "initialFocus", "__demoMode"]);
102
- var _d = useState(0), nestedDialogCount = _d[0], setNestedDialogCount = _d[1];
103
- var usesOpenClosedState = useOpenClosed();
104
- if (open === undefined && usesOpenClosedState !== null) {
105
- // Update the `open` prop based on the open closed state
106
- open = (usesOpenClosedState & State.Open) === State.Open;
107
- }
108
- var internalDialogRef = useRef(null);
109
- var dialogRef = useSyncRefs(internalDialogRef, ref);
110
- var ownerDocument = useOwnerDocument(internalDialogRef);
111
- // Validations
112
- var hasOpen = props.hasOwnProperty('open') || usesOpenClosedState !== null;
113
- var hasOnClose = props.hasOwnProperty('onClose');
114
- if (!hasOpen && !hasOnClose) {
115
- throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");
116
- }
117
- if (!hasOpen) {
118
- throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");
119
- }
120
- if (!hasOnClose) {
121
- throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");
122
- }
123
- if (typeof open !== 'boolean') {
124
- throw new Error("You provided an `open` prop to the `Dialog`, but the value is not a boolean. Received: ".concat(open));
125
- }
126
- if (typeof onClose !== 'function') {
127
- throw new Error("You provided an `onClose` prop to the `Dialog`, but the value is not a function. Received: ".concat(onClose));
128
- }
129
- var dialogState = open ? DialogStates.Open : DialogStates.Closed;
130
- var _e = useReducer(stateReducer, {
131
- titleId: null,
132
- descriptionId: null,
133
- panelRef: createRef(),
134
- }), state = _e[0], dispatch = _e[1];
135
- var close = useEvent(function () { return onClose(false); });
136
- var setTitleId = useEvent(function (id) {
137
- return dispatch({ type: ActionTypes.SetTitleId, id: id });
138
- });
139
- var ready = useServerHandoffComplete();
140
- var enabled = ready
141
- ? __demoMode
142
- ? false
143
- : dialogState === DialogStates.Open
144
- : false;
145
- var hasNestedDialogs = nestedDialogCount > 1; // 1 is the current dialog
146
- var hasParentDialog = useContext(DialogContext) !== null;
147
- var _f = useNestedPortals(), portals = _f[0], PortalWrapper = _f[1];
148
- var _g = useRootContainers({
149
- portals: portals,
150
- defaultContainers: [(_a = state.panelRef.current) !== null && _a !== void 0 ? _a : internalDialogRef.current],
151
- }), resolveRootContainers = _g.resolveContainers, mainTreeNodeRef = _g.mainTreeNodeRef, MainTreeNode = _g.MainTreeNode;
152
- // If there are multiple dialogs, then you can be the root, the leaf or one
153
- // in between. We only care abou whether you are the top most one or not.
154
- var position = !hasNestedDialogs ? 'leaf' : 'parent';
155
- // When the `Dialog` is wrapped in a `Transition` (or another Headless UI component that exposes
156
- // the OpenClosed state) then we get some information via context about its state. When the
157
- // `Transition` is about to close, then the `State.Closing` state will be exposed. This allows us
158
- // to enable/disable certain functionality in the `Dialog` upfront instead of waiting until the
159
- // `Transition` is done transitioning.
160
- var isClosing = usesOpenClosedState !== null
161
- ? (usesOpenClosedState & State.Closing) === State.Closing
162
- : false;
163
- // Ensure other elements can't be interacted with
164
- var inertOthersEnabled = (function () {
165
- // Nested dialogs should not modify the `inert` property, only the root one should.
166
- if (hasParentDialog)
167
- return false;
168
- if (isClosing)
169
- return false;
170
- return enabled;
171
- })();
172
- var resolveRootOfMainTreeNode = useCallback(function () {
173
- var _a, _b;
174
- return ((_b = Array.from((_a = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.querySelectorAll('body > *')) !== null && _a !== void 0 ? _a : []).find(function (root) {
175
- // Skip the portal root, we don't want to make that one inert
176
- if (root.id === 'headlessui-portal-root')
177
- return false;
178
- // Find the root of the main tree node
179
- return (root.contains(mainTreeNodeRef.current) && root instanceof HTMLElement);
180
- })) !== null && _b !== void 0 ? _b : null);
181
- }, [mainTreeNodeRef]);
182
- useInert(resolveRootOfMainTreeNode, inertOthersEnabled);
183
- // This would mark the parent dialogs as inert
184
- var inertParentDialogs = (function () {
185
- if (hasNestedDialogs)
186
- return true;
187
- return enabled;
188
- })();
189
- var resolveRootOfParentDialog = useCallback(function () {
190
- var _a, _b;
191
- return ((_b = Array.from((_a = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.querySelectorAll('[data-headlessui-portal]')) !== null && _a !== void 0 ? _a : []).find(function (root) {
192
- return root.contains(mainTreeNodeRef.current) && root instanceof HTMLElement;
193
- })) !== null && _b !== void 0 ? _b : null);
194
- }, [mainTreeNodeRef]);
195
- useInert(resolveRootOfParentDialog, inertParentDialogs);
196
- // Close Dialog on outside click
197
- var outsideClickEnabled = (function () {
198
- if (!enabled)
199
- return false;
200
- if (hasNestedDialogs)
201
- return false;
202
- return true;
203
- })();
204
- useOutsideClick(resolveRootContainers, close, outsideClickEnabled);
205
- // Handle `Escape` to close
206
- var escapeToCloseEnabled = (function () {
207
- if (hasNestedDialogs)
208
- return false;
209
- if (dialogState !== DialogStates.Open)
210
- return false;
211
- return true;
212
- })();
213
- useEventListener(ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.defaultView, 'keydown', function (event) {
214
- if (!escapeToCloseEnabled)
215
- return;
216
- if (event.defaultPrevented)
217
- return;
218
- if (event.key !== Keys.Escape)
219
- return;
220
- event.preventDefault();
221
- event.stopPropagation();
222
- close();
223
- });
224
- // Scroll lock
225
- var scrollLockEnabled = (function () {
226
- if (isClosing)
227
- return false;
228
- if (dialogState !== DialogStates.Open)
229
- return false;
230
- if (hasParentDialog)
231
- return false;
232
- return true;
233
- })();
234
- useScrollLock(ownerDocument, scrollLockEnabled, resolveRootContainers);
235
- // Trigger close when the FocusTrap gets hidden
236
- useEffect(function () {
237
- if (dialogState !== DialogStates.Open)
238
- return;
239
- if (!internalDialogRef.current)
240
- return;
241
- var observer = new ResizeObserver(function (entries) {
242
- for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
243
- var entry = entries_1[_i];
244
- var rect = entry.target.getBoundingClientRect();
245
- if (rect.x === 0 &&
246
- rect.y === 0 &&
247
- rect.width === 0 &&
248
- rect.height === 0) {
249
- close();
250
- }
251
- }
252
- });
253
- observer.observe(internalDialogRef.current);
254
- return function () { return observer.disconnect(); };
255
- }, [dialogState, internalDialogRef, close]);
256
- var _h = useDescriptions(), describedby = _h[0], DescriptionProvider = _h[1];
257
- var contextBag = useMemo(function () { return [{ dialogState: dialogState, close: close, setTitleId: setTitleId }, state]; }, [dialogState, state, close, setTitleId]);
258
- var slot = useMemo(function () { return ({ open: dialogState === DialogStates.Open }); }, [dialogState]);
259
- var ourProps = {
260
- ref: dialogRef,
261
- id: id,
262
- role: 'dialog',
263
- 'aria-modal': dialogState === DialogStates.Open ? true : undefined,
264
- 'aria-labelledby': state.titleId,
265
- 'aria-describedby': describedby,
266
- };
267
- return (_jsxs(StackProvider, __assign({ type: "Dialog", enabled: dialogState === DialogStates.Open, element: internalDialogRef, onUpdate: useEvent(function (message, type) {
268
- var _a;
269
- if (type !== 'Dialog')
270
- return;
271
- match(message, (_a = {},
272
- _a[StackMessage.Add] = function () { return setNestedDialogCount(function (count) { return count + 1; }); },
273
- _a[StackMessage.Remove] = function () { return setNestedDialogCount(function (count) { return count - 1; }); },
274
- _a));
275
- }) }, { children: [_jsx(ForcePortalRoot, __assign({ force: true }, { children: _jsx(Portal, { children: _jsx(DialogContext.Provider, __assign({ value: contextBag }, { children: _jsx(Portal.Group, __assign({ target: internalDialogRef }, { children: _jsx(ForcePortalRoot, __assign({ force: false }, { children: _jsx(DescriptionProvider, __assign({ slot: slot, name: "Dialog.Description" }, { children: _jsx(FocusTrap, __assign({ initialFocus: initialFocus, containers: resolveRootContainers, features: enabled
276
- ? match(position, {
277
- parent: FocusTrap.features.RestoreFocus,
278
- leaf: FocusTrap.features.All &
279
- ~FocusTrap.features.FocusLock,
280
- })
281
- : FocusTrap.features.None }, { children: _jsx(PortalWrapper, { children: render({
282
- ourProps: ourProps,
283
- theirProps: theirProps,
284
- slot: slot,
285
- defaultTag: DEFAULT_DIALOG_TAG,
286
- features: DialogRenderFeatures,
287
- visible: dialogState === DialogStates.Open,
288
- name: 'Dialog',
289
- }) }) })) })) })) })) })) }) })), _jsx(MainTreeNode, {})] })));
290
- }
291
- // ---
292
- var DEFAULT_OVERLAY_TAG = 'div';
293
- function OverlayFn(props, ref) {
294
- var internalId = useId();
295
- var _a = props.id, id = _a === void 0 ? "headlessui-dialog-overlay-".concat(internalId) : _a, theirProps = __rest(props, ["id"]);
296
- var _b = useDialogContext('Dialog.Overlay')[0], dialogState = _b.dialogState, close = _b.close;
297
- var overlayRef = useSyncRefs(ref);
298
- var handleClick = useEvent(function (event) {
299
- if (event.target !== event.currentTarget)
300
- return;
301
- if (isDisabledReactIssue7711(event.currentTarget))
302
- return event.preventDefault();
303
- event.preventDefault();
304
- event.stopPropagation();
305
- close();
306
- });
307
- var slot = useMemo(function () { return ({ open: dialogState === DialogStates.Open }); }, [dialogState]);
308
- var ourProps = {
309
- ref: overlayRef,
310
- id: id,
311
- 'aria-hidden': true,
312
- onClick: handleClick,
313
- };
314
- return render({
315
- ourProps: ourProps,
316
- theirProps: theirProps,
317
- slot: slot,
318
- defaultTag: DEFAULT_OVERLAY_TAG,
319
- name: 'Dialog.Overlay',
320
- });
321
- }
322
- // ---
323
- var DEFAULT_BACKDROP_TAG = 'div';
324
- function BackdropFn(props, ref) {
325
- var internalId = useId();
326
- var _a = props.id, id = _a === void 0 ? "headlessui-dialog-backdrop-".concat(internalId) : _a, theirProps = __rest(props, ["id"]);
327
- var _b = useDialogContext('Dialog.Backdrop'), dialogState = _b[0].dialogState, state = _b[1];
328
- var backdropRef = useSyncRefs(ref);
329
- useEffect(function () {
330
- if (state.panelRef.current === null) {
331
- throw new Error("A <Dialog.Backdrop /> component is being used, but a <Dialog.Panel /> component is missing.");
332
- }
333
- }, [state.panelRef]);
334
- var slot = useMemo(function () { return ({ open: dialogState === DialogStates.Open }); }, [dialogState]);
335
- var ourProps = {
336
- ref: backdropRef,
337
- id: id,
338
- 'aria-hidden': true,
339
- };
340
- return (_jsx(ForcePortalRoot, __assign({ force: true }, { children: _jsx(Portal, { children: render({
341
- ourProps: ourProps,
342
- theirProps: theirProps,
343
- slot: slot,
344
- defaultTag: DEFAULT_BACKDROP_TAG,
345
- name: 'Dialog.Backdrop',
346
- }) }) })));
347
- }
348
- // ---
349
- var DEFAULT_PANEL_TAG = 'div';
350
- function PanelFn(props, ref) {
351
- var internalId = useId();
352
- var _a = props.id, id = _a === void 0 ? "headlessui-dialog-panel-".concat(internalId) : _a, theirProps = __rest(props, ["id"]);
353
- var _b = useDialogContext('Dialog.Panel'), dialogState = _b[0].dialogState, state = _b[1];
354
- var panelRef = useSyncRefs(ref, state.panelRef);
355
- var slot = useMemo(function () { return ({ open: dialogState === DialogStates.Open }); }, [dialogState]);
356
- // Prevent the click events inside the Dialog.Panel from bubbling through the React Tree which
357
- // could submit wrapping <form> elements even if we portalled the Dialog.
358
- var handleClick = useEvent(function (event) {
359
- event.stopPropagation();
360
- });
361
- var ourProps = {
362
- ref: panelRef,
363
- id: id,
364
- onClick: handleClick,
365
- };
366
- return render({
367
- ourProps: ourProps,
368
- theirProps: theirProps,
369
- slot: slot,
370
- defaultTag: DEFAULT_PANEL_TAG,
371
- name: 'Dialog.Panel',
372
- });
373
- }
374
- // ---
375
- var DEFAULT_TITLE_TAG = 'h2';
376
- function TitleFn(props, ref) {
377
- var internalId = useId();
378
- var _a = props.id, id = _a === void 0 ? "headlessui-dialog-title-".concat(internalId) : _a, theirProps = __rest(props, ["id"]);
379
- var _b = useDialogContext('Dialog.Title')[0], dialogState = _b.dialogState, setTitleId = _b.setTitleId;
380
- var titleRef = useSyncRefs(ref);
381
- useEffect(function () {
382
- setTitleId(id);
383
- return function () { return setTitleId(null); };
384
- }, [id, setTitleId]);
385
- var slot = useMemo(function () { return ({ open: dialogState === DialogStates.Open }); }, [dialogState]);
386
- var ourProps = { ref: titleRef, id: id };
387
- return render({
388
- ourProps: ourProps,
389
- theirProps: theirProps,
390
- slot: slot,
391
- defaultTag: DEFAULT_TITLE_TAG,
392
- name: 'Dialog.Title',
393
- });
394
- }
395
- var DialogRoot = forwardRefWithAs(DialogFn);
396
- var Backdrop = forwardRefWithAs(BackdropFn);
397
- var Panel = forwardRefWithAs(PanelFn);
398
- var Overlay = forwardRefWithAs(OverlayFn);
399
- var Title = forwardRefWithAs(TitleFn);
400
- export var Dialog = Object.assign(DialogRoot, {
401
- Backdrop: Backdrop,
402
- Panel: Panel,
403
- Overlay: Overlay,
404
- Title: Title,
405
- Description: Description,
406
- });
407
- //# sourceMappingURL=Dialog.js.map
package/lib/Dialog.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.tsx"],"names":[],"mappings":"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"}