@quillsql/react 2.13.5 → 2.13.7
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/cjs/Chart.js +1 -1
- package/dist/cjs/ChartBuilder.d.ts +1 -1
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +6 -22
- package/dist/cjs/ChartEditor.d.ts +1 -1
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/Context.d.ts +21 -6
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +196 -18
- package/dist/cjs/Dashboard.js +7 -7
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +7 -7
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +0 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +0 -22
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -1
- package/dist/cjs/ReportBuilder.d.ts +0 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +4 -182
- package/dist/cjs/SQLEditor.d.ts +1 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +12 -8
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -2
- package/dist/cjs/components/QuillMultiSelect.js +3 -3
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +3 -3
- package/dist/cjs/components/QuillSelect.js +3 -3
- package/dist/cjs/components/QuillSelectWithCombo.js +4 -4
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +46 -44
- package/dist/cjs/components/ReportBuilder/FilterModal.js +10 -10
- package/dist/cjs/components/ReportBuilder/FilterStack.js +2 -2
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +4 -3
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +19 -5
- package/dist/cjs/hooks/useDashboard.d.ts +22 -3
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +201 -127
- package/dist/cjs/hooks/useExport.d.ts +8 -0
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +20 -11
- package/dist/cjs/hooks/useOnClickOutside.d.ts +1 -1
- package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/cjs/hooks/useOnClickOutside.js +10 -6
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +3 -3
- package/dist/cjs/lib/utils.d.ts +1 -0
- package/dist/cjs/lib/utils.d.ts.map +1 -1
- package/dist/cjs/lib/utils.js +9 -1
- package/dist/cjs/models/Dashboard.d.ts +6 -1
- package/dist/cjs/models/Dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +3 -3
- package/dist/cjs/utils/columnProcessing.js +4 -4
- package/dist/cjs/utils/constants.d.ts +2 -1
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +3 -2
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +1 -2
- package/dist/cjs/utils/pivotConstructor.js +1 -1
- package/dist/esm/Chart.js +1 -1
- package/dist/esm/ChartBuilder.d.ts +1 -1
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +6 -22
- package/dist/esm/ChartEditor.d.ts +1 -1
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/Context.d.ts +21 -6
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +193 -18
- package/dist/esm/Dashboard.js +7 -7
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +7 -7
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +0 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +0 -22
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -1
- package/dist/esm/ReportBuilder.d.ts +0 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +3 -180
- package/dist/esm/SQLEditor.d.ts +1 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +13 -9
- package/dist/esm/components/Dashboard/DashboardTemplate.js +2 -2
- package/dist/esm/components/QuillMultiSelect.js +3 -3
- package/dist/esm/components/QuillMultiSelectWithCombo.js +3 -3
- package/dist/esm/components/QuillSelect.js +3 -3
- package/dist/esm/components/QuillSelectWithCombo.js +4 -4
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +46 -44
- package/dist/esm/components/ReportBuilder/FilterModal.js +10 -10
- package/dist/esm/components/ReportBuilder/FilterStack.js +1 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +4 -3
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +19 -5
- package/dist/esm/hooks/useDashboard.d.ts +22 -3
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +200 -124
- package/dist/esm/hooks/useExport.d.ts +8 -0
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +20 -11
- package/dist/esm/hooks/useOnClickOutside.d.ts +1 -1
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/esm/hooks/useOnClickOutside.js +10 -6
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +3 -3
- package/dist/esm/lib/utils.d.ts +1 -0
- package/dist/esm/lib/utils.d.ts.map +1 -1
- package/dist/esm/lib/utils.js +7 -0
- package/dist/esm/models/Dashboard.d.ts +6 -1
- package/dist/esm/models/Dashboard.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +3 -3
- package/dist/esm/utils/columnProcessing.js +4 -4
- package/dist/esm/utils/constants.d.ts +2 -1
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +2 -1
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +1 -2
- package/dist/esm/utils/pivotConstructor.js +1 -1
- package/package.json +20 -7
- package/dist/cjs/components/BigModal/BigModal.d.ts +0 -15
- package/dist/cjs/components/BigModal/BigModal.d.ts.map +0 -1
- package/dist/cjs/components/BigModal/BigModal.js +0 -81
- package/dist/esm/components/BigModal/BigModal.d.ts +0 -15
- package/dist/esm/components/BigModal/BigModal.d.ts.map +0 -1
- package/dist/esm/components/BigModal/BigModal.js +0 -56
|
@@ -133,10 +133,10 @@ export function convertPostgresColumn(field) {
|
|
|
133
133
|
jsType = 'string';
|
|
134
134
|
}
|
|
135
135
|
return {
|
|
136
|
-
label: 'field' in field
|
|
136
|
+
label: ('field' in field
|
|
137
137
|
? snakeAndCamelCaseToTitleCase(field.field)
|
|
138
|
-
: snakeAndCamelCaseToTitleCase(field.name),
|
|
139
|
-
field: 'field' in field ? field.field : field.name,
|
|
138
|
+
: snakeAndCamelCaseToTitleCase(field.name)) ?? '',
|
|
139
|
+
field: ('field' in field ? field.field : field.name) ?? '',
|
|
140
140
|
format,
|
|
141
141
|
fieldType,
|
|
142
142
|
dataTypeID: field.dataTypeID,
|
|
@@ -316,7 +316,7 @@ export const getYAxisFields = (report) => {
|
|
|
316
316
|
}
|
|
317
317
|
else {
|
|
318
318
|
if (curDateFilter?.comparison &&
|
|
319
|
-
curDateFilter.comparisonRange
|
|
319
|
+
curDateFilter.comparisonRange?.value !== 'NO_COMPARISON') {
|
|
320
320
|
const comparisonYAxisFields = report.yAxisFields?.map((field) => {
|
|
321
321
|
return {
|
|
322
322
|
...field,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const MAX_COLUMN_ROWS_LIMIT = 500;
|
|
2
|
-
export declare const QUILL_SERVER = "https://quill-344421.uc.r.appspot.com";
|
|
3
2
|
export declare const MAX_PIVOT_UNIQUE_VALUES = 250;
|
|
3
|
+
export declare const QUILL_SERVER: string;
|
|
4
|
+
export declare const QUILL_QUERY_ENDPOINT: string;
|
|
4
5
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,YAAY,QACiD,CAAC;AAC3E,eAAO,MAAM,oBAAoB,QACa,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export const MAX_COLUMN_ROWS_LIMIT = 500;
|
|
2
|
-
export const QUILL_SERVER = 'https://quill-344421.uc.r.appspot.com';
|
|
3
2
|
export const MAX_PIVOT_UNIQUE_VALUES = 250;
|
|
3
|
+
export const QUILL_SERVER = process.env.QUILL_SERVER_HOST ?? 'https://quill-344421.uc.r.appspot.com';
|
|
4
|
+
export const QUILL_QUERY_ENDPOINT = process.env.QUILL_QUERY_ENDPOINT ?? '/cloud';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA8EvD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,WAAW,gBAqJ1B;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,WAAW,CAAC,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA8EvD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,WAAW,gBAqJ1B;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,WAAW,CAAC,EAAE,WAAW,gBA+B1B;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB5C"}
|
|
@@ -183,8 +183,7 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
|
|
|
183
183
|
}
|
|
184
184
|
export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST', abortSignal) {
|
|
185
185
|
try {
|
|
186
|
-
const host =
|
|
187
|
-
'https://quill-344421.uc.r.appspot.com';
|
|
186
|
+
const host = QUILL_SERVER;
|
|
188
187
|
const url = `${host}/${cloudQueryEndpoint}`;
|
|
189
188
|
const resp = await fetch(url, {
|
|
190
189
|
method,
|
|
@@ -76,7 +76,7 @@ export async function generatePivotWithSQL(pivot, report, client, dateBucket, da
|
|
|
76
76
|
label: snakeCaseToTitleCase(processColumnName(field.name.replace('comparison_', 'comparison '))),
|
|
77
77
|
format: field.name === pivot.rowField
|
|
78
78
|
? 'string'
|
|
79
|
-
: pivot.valueFieldType ?? 'whole_number',
|
|
79
|
+
: (pivot.valueFieldType ?? 'whole_number'),
|
|
80
80
|
}))
|
|
81
81
|
.filter((field, index) => field.field !== 'comparison_' + pivot.rowField || index === 0)
|
|
82
82
|
.sort((a, b) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quillsql/react",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.7",
|
|
4
4
|
"exports": {
|
|
5
5
|
".": {
|
|
6
6
|
"import": "./dist/esm/index.js",
|
|
@@ -8,12 +8,16 @@
|
|
|
8
8
|
}
|
|
9
9
|
},
|
|
10
10
|
"main": "dist/cjs/index.js",
|
|
11
|
+
"module": "dist/esm/index.js",
|
|
11
12
|
"files": [
|
|
12
13
|
"dist"
|
|
13
14
|
],
|
|
14
15
|
"scripts": {
|
|
15
16
|
"build": "rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.esm.json",
|
|
16
|
-
"dev": "
|
|
17
|
+
"dev": "concurrently \"npm run dev:types\" \"npm run dev:esm\" \"npm run dev:cjs\"",
|
|
18
|
+
"dev:cjs": "babel src --out-dir dist/cjs --extensions \".ts,.tsx\" --copy-files --watch --env-name cjs",
|
|
19
|
+
"dev:esm": "babel src --out-dir dist/esm --extensions \".ts,.tsx\" --copy-files --watch --env-name esm",
|
|
20
|
+
"dev:types": "tsc --emitDeclarationOnly -w",
|
|
17
21
|
"lint": "eslint . --max-warnings 0",
|
|
18
22
|
"pub": "rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.esm.json && npm publish --access public"
|
|
19
23
|
},
|
|
@@ -27,20 +31,29 @@
|
|
|
27
31
|
"date-fns-tz": "^2.0.0",
|
|
28
32
|
"fast-deep-equal": "^3.1.3",
|
|
29
33
|
"jspdf": "^2.5.2",
|
|
30
|
-
"
|
|
31
|
-
"recharts": "^2.12.5"
|
|
34
|
+
"recharts": "^2.13.0"
|
|
32
35
|
},
|
|
33
36
|
"devDependencies": {
|
|
37
|
+
"@babel/cli": "^7.25.7",
|
|
38
|
+
"@babel/core": "^7.25.8",
|
|
39
|
+
"@babel/preset-env": "^7.25.8",
|
|
40
|
+
"@babel/preset-react": "^7.25.7",
|
|
41
|
+
"@babel/preset-typescript": "^7.25.7",
|
|
34
42
|
"@repo/eslint-config": "*",
|
|
35
43
|
"@repo/typescript-config": "*",
|
|
36
44
|
"@types/big.js": "^6.2.2",
|
|
37
45
|
"@types/eslint": "^8.56.1",
|
|
38
46
|
"@types/node": "^20.10.6",
|
|
39
|
-
"@types/react": "^18
|
|
40
|
-
"@types/react-dom": "^18
|
|
47
|
+
"@types/react": "^18",
|
|
48
|
+
"@types/react-dom": "^18",
|
|
49
|
+
"babel-plugin-inline-dotenv": "^1.7.0",
|
|
50
|
+
"concurrently": "^9.0.1",
|
|
41
51
|
"eslint": "^8.56.0",
|
|
42
|
-
"react": "^18.2.0",
|
|
43
52
|
"typescript": "^5.3.3"
|
|
44
53
|
},
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"react": "^18",
|
|
56
|
+
"react-dom": "^18"
|
|
57
|
+
},
|
|
45
58
|
"access": "public"
|
|
46
59
|
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { HorizontalPosition } from '../../lib/inputTypes';
|
|
3
|
-
export interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
showModal: boolean;
|
|
5
|
-
setShowModal: React.Dispatch<React.SetStateAction<boolean>> | ((nextState: boolean) => void);
|
|
6
|
-
parentRef?: React.RefObject<HTMLElement>;
|
|
7
|
-
width?: number;
|
|
8
|
-
maxHeight?: string;
|
|
9
|
-
anchorPosition?: HorizontalPosition;
|
|
10
|
-
children: React.ReactNode;
|
|
11
|
-
theme: any;
|
|
12
|
-
}
|
|
13
|
-
declare const BigModal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
-
export default BigModal;
|
|
15
|
-
//# sourceMappingURL=BigModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BigModal.d.ts","sourceRoot":"","sources":["../../../../src/components/BigModal/BigModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EACR,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAC7C,CAAC,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,QAAA,MAAM,QAAQ,mFA+EZ,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
-
const react_1 = __importStar(require("react"));
|
|
28
|
-
const hooks_1 = require("../../hooks");
|
|
29
|
-
const lib_1 = require("../../lib");
|
|
30
|
-
const BigModal = react_1.default.forwardRef((props, ref) => {
|
|
31
|
-
const { showModal, setShowModal, parentRef, width, children, className, theme, ...other } = props;
|
|
32
|
-
const modalRef = (0, react_1.useRef)(null);
|
|
33
|
-
const checkModalExceedsWindow = (0, react_1.useCallback)((modalWidth, windowWidth) => {
|
|
34
|
-
if (!parentRef?.current) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
const modalBoundingRight = parentRef.current.getBoundingClientRect().left + modalWidth;
|
|
38
|
-
return windowWidth - modalBoundingRight < 0;
|
|
39
|
-
}, [parentRef]);
|
|
40
|
-
(0, hooks_1.useOnClickOutside)(modalRef, (e) => {
|
|
41
|
-
// Exclude click on trigger button (e.g. Dropdown Button) from outside click handler
|
|
42
|
-
const isTriggerElem = parentRef
|
|
43
|
-
? parentRef.current?.contains(e.target)
|
|
44
|
-
: false;
|
|
45
|
-
if (!isTriggerElem) {
|
|
46
|
-
setShowModal(false);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
// Execute only when modal is of absolute size
|
|
50
|
-
(0, react_1.useEffect)(() => {
|
|
51
|
-
if (width) {
|
|
52
|
-
checkModalExceedsWindow(width, window.innerWidth);
|
|
53
|
-
}
|
|
54
|
-
}, [checkModalExceedsWindow, parentRef, width]);
|
|
55
|
-
(0, hooks_1.useOnWindowResize)(() => {
|
|
56
|
-
if (width) {
|
|
57
|
-
checkModalExceedsWindow(width, window.innerWidth);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
return showModal ? ((0, jsx_runtime_1.jsx)("div", { className: className, ref: (0, lib_1.mergeRefs)([modalRef, ref]), style: {
|
|
61
|
-
position: 'absolute',
|
|
62
|
-
zIndex: 10,
|
|
63
|
-
overflowY: 'auto',
|
|
64
|
-
backgroundColor: theme?.backgroundColor || 'white',
|
|
65
|
-
borderColor: theme?.borderColor || '#E5E7EB',
|
|
66
|
-
borderTopStyle: 'solid',
|
|
67
|
-
borderBottomStyle: 'solid',
|
|
68
|
-
borderLeftStyle: 'solid',
|
|
69
|
-
borderRightStyle: 'solid',
|
|
70
|
-
borderTopWidth: 1,
|
|
71
|
-
borderBottomWidth: 1,
|
|
72
|
-
borderLeftWidth: 1,
|
|
73
|
-
borderRightWidth: 1,
|
|
74
|
-
borderRadius: '0.375rem',
|
|
75
|
-
boxShadow: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
|
|
76
|
-
top: '50%',
|
|
77
|
-
left: '50%',
|
|
78
|
-
transform: 'translate(-50%, -50%)',
|
|
79
|
-
}, ...other, children: children })) : null;
|
|
80
|
-
});
|
|
81
|
-
exports.default = BigModal;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { HorizontalPosition } from '../../lib/inputTypes';
|
|
3
|
-
export interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
showModal: boolean;
|
|
5
|
-
setShowModal: React.Dispatch<React.SetStateAction<boolean>> | ((nextState: boolean) => void);
|
|
6
|
-
parentRef?: React.RefObject<HTMLElement>;
|
|
7
|
-
width?: number;
|
|
8
|
-
maxHeight?: string;
|
|
9
|
-
anchorPosition?: HorizontalPosition;
|
|
10
|
-
children: React.ReactNode;
|
|
11
|
-
theme: any;
|
|
12
|
-
}
|
|
13
|
-
declare const BigModal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
-
export default BigModal;
|
|
15
|
-
//# sourceMappingURL=BigModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BigModal.d.ts","sourceRoot":"","sources":["../../../../src/components/BigModal/BigModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EACR,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAC7C,CAAC,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,QAAA,MAAM,QAAQ,mFA+EZ,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React, { useCallback, useEffect, useRef } from 'react';
|
|
3
|
-
import { useOnClickOutside, useOnWindowResize } from '../../hooks';
|
|
4
|
-
import { mergeRefs } from '../../lib';
|
|
5
|
-
const BigModal = React.forwardRef((props, ref) => {
|
|
6
|
-
const { showModal, setShowModal, parentRef, width, children, className, theme, ...other } = props;
|
|
7
|
-
const modalRef = useRef(null);
|
|
8
|
-
const checkModalExceedsWindow = useCallback((modalWidth, windowWidth) => {
|
|
9
|
-
if (!parentRef?.current) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
const modalBoundingRight = parentRef.current.getBoundingClientRect().left + modalWidth;
|
|
13
|
-
return windowWidth - modalBoundingRight < 0;
|
|
14
|
-
}, [parentRef]);
|
|
15
|
-
useOnClickOutside(modalRef, (e) => {
|
|
16
|
-
// Exclude click on trigger button (e.g. Dropdown Button) from outside click handler
|
|
17
|
-
const isTriggerElem = parentRef
|
|
18
|
-
? parentRef.current?.contains(e.target)
|
|
19
|
-
: false;
|
|
20
|
-
if (!isTriggerElem) {
|
|
21
|
-
setShowModal(false);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
// Execute only when modal is of absolute size
|
|
25
|
-
useEffect(() => {
|
|
26
|
-
if (width) {
|
|
27
|
-
checkModalExceedsWindow(width, window.innerWidth);
|
|
28
|
-
}
|
|
29
|
-
}, [checkModalExceedsWindow, parentRef, width]);
|
|
30
|
-
useOnWindowResize(() => {
|
|
31
|
-
if (width) {
|
|
32
|
-
checkModalExceedsWindow(width, window.innerWidth);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
return showModal ? (_jsx("div", { className: className, ref: mergeRefs([modalRef, ref]), style: {
|
|
36
|
-
position: 'absolute',
|
|
37
|
-
zIndex: 10,
|
|
38
|
-
overflowY: 'auto',
|
|
39
|
-
backgroundColor: theme?.backgroundColor || 'white',
|
|
40
|
-
borderColor: theme?.borderColor || '#E5E7EB',
|
|
41
|
-
borderTopStyle: 'solid',
|
|
42
|
-
borderBottomStyle: 'solid',
|
|
43
|
-
borderLeftStyle: 'solid',
|
|
44
|
-
borderRightStyle: 'solid',
|
|
45
|
-
borderTopWidth: 1,
|
|
46
|
-
borderBottomWidth: 1,
|
|
47
|
-
borderLeftWidth: 1,
|
|
48
|
-
borderRightWidth: 1,
|
|
49
|
-
borderRadius: '0.375rem',
|
|
50
|
-
boxShadow: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
|
|
51
|
-
top: '50%',
|
|
52
|
-
left: '50%',
|
|
53
|
-
transform: 'translate(-50%, -50%)',
|
|
54
|
-
}, ...other, children: children })) : null;
|
|
55
|
-
});
|
|
56
|
-
export default BigModal;
|