@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.
Files changed (131) hide show
  1. package/dist/cjs/Chart.js +1 -1
  2. package/dist/cjs/ChartBuilder.d.ts +1 -1
  3. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  4. package/dist/cjs/ChartBuilder.js +6 -22
  5. package/dist/cjs/ChartEditor.d.ts +1 -1
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/Context.d.ts +21 -6
  8. package/dist/cjs/Context.d.ts.map +1 -1
  9. package/dist/cjs/Context.js +196 -18
  10. package/dist/cjs/Dashboard.js +7 -7
  11. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  12. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +7 -7
  13. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +0 -1
  14. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  15. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +0 -22
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/QuillProvider.js +2 -1
  18. package/dist/cjs/ReportBuilder.d.ts +0 -1
  19. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  20. package/dist/cjs/ReportBuilder.js +4 -182
  21. package/dist/cjs/SQLEditor.d.ts +1 -1
  22. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  23. package/dist/cjs/SQLEditor.js +12 -8
  24. package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -2
  25. package/dist/cjs/components/QuillMultiSelect.js +3 -3
  26. package/dist/cjs/components/QuillMultiSelectWithCombo.js +3 -3
  27. package/dist/cjs/components/QuillSelect.js +3 -3
  28. package/dist/cjs/components/QuillSelectWithCombo.js +4 -4
  29. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  30. package/dist/cjs/components/QuillTable.js +46 -44
  31. package/dist/cjs/components/ReportBuilder/FilterModal.js +10 -10
  32. package/dist/cjs/components/ReportBuilder/FilterStack.js +2 -2
  33. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  34. package/dist/cjs/components/ReportBuilder/convert.js +4 -3
  35. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  36. package/dist/cjs/components/UiComponents.js +19 -5
  37. package/dist/cjs/hooks/useDashboard.d.ts +22 -3
  38. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  39. package/dist/cjs/hooks/useDashboard.js +201 -127
  40. package/dist/cjs/hooks/useExport.d.ts +8 -0
  41. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  42. package/dist/cjs/hooks/useExport.js +20 -11
  43. package/dist/cjs/hooks/useOnClickOutside.d.ts +1 -1
  44. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  45. package/dist/cjs/hooks/useOnClickOutside.js +10 -6
  46. package/dist/cjs/index.d.ts +1 -1
  47. package/dist/cjs/index.d.ts.map +1 -1
  48. package/dist/cjs/index.js +2 -1
  49. package/dist/cjs/internals/ReportBuilder/PivotModal.js +3 -3
  50. package/dist/cjs/lib/utils.d.ts +1 -0
  51. package/dist/cjs/lib/utils.d.ts.map +1 -1
  52. package/dist/cjs/lib/utils.js +9 -1
  53. package/dist/cjs/models/Dashboard.d.ts +6 -1
  54. package/dist/cjs/models/Dashboard.d.ts.map +1 -1
  55. package/dist/cjs/utils/astFilterProcessing.js +3 -3
  56. package/dist/cjs/utils/columnProcessing.js +4 -4
  57. package/dist/cjs/utils/constants.d.ts +2 -1
  58. package/dist/cjs/utils/constants.d.ts.map +1 -1
  59. package/dist/cjs/utils/constants.js +3 -2
  60. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  61. package/dist/cjs/utils/dataFetcher.js +1 -2
  62. package/dist/cjs/utils/pivotConstructor.js +1 -1
  63. package/dist/esm/Chart.js +1 -1
  64. package/dist/esm/ChartBuilder.d.ts +1 -1
  65. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  66. package/dist/esm/ChartBuilder.js +6 -22
  67. package/dist/esm/ChartEditor.d.ts +1 -1
  68. package/dist/esm/ChartEditor.d.ts.map +1 -1
  69. package/dist/esm/Context.d.ts +21 -6
  70. package/dist/esm/Context.d.ts.map +1 -1
  71. package/dist/esm/Context.js +193 -18
  72. package/dist/esm/Dashboard.js +7 -7
  73. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  74. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +7 -7
  75. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +0 -1
  76. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  77. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +0 -22
  78. package/dist/esm/QuillProvider.d.ts.map +1 -1
  79. package/dist/esm/QuillProvider.js +2 -1
  80. package/dist/esm/ReportBuilder.d.ts +0 -1
  81. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  82. package/dist/esm/ReportBuilder.js +3 -180
  83. package/dist/esm/SQLEditor.d.ts +1 -1
  84. package/dist/esm/SQLEditor.d.ts.map +1 -1
  85. package/dist/esm/SQLEditor.js +13 -9
  86. package/dist/esm/components/Dashboard/DashboardTemplate.js +2 -2
  87. package/dist/esm/components/QuillMultiSelect.js +3 -3
  88. package/dist/esm/components/QuillMultiSelectWithCombo.js +3 -3
  89. package/dist/esm/components/QuillSelect.js +3 -3
  90. package/dist/esm/components/QuillSelectWithCombo.js +4 -4
  91. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  92. package/dist/esm/components/QuillTable.js +46 -44
  93. package/dist/esm/components/ReportBuilder/FilterModal.js +10 -10
  94. package/dist/esm/components/ReportBuilder/FilterStack.js +1 -1
  95. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  96. package/dist/esm/components/ReportBuilder/convert.js +4 -3
  97. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  98. package/dist/esm/components/UiComponents.js +19 -5
  99. package/dist/esm/hooks/useDashboard.d.ts +22 -3
  100. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  101. package/dist/esm/hooks/useDashboard.js +200 -124
  102. package/dist/esm/hooks/useExport.d.ts +8 -0
  103. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  104. package/dist/esm/hooks/useExport.js +20 -11
  105. package/dist/esm/hooks/useOnClickOutside.d.ts +1 -1
  106. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  107. package/dist/esm/hooks/useOnClickOutside.js +10 -6
  108. package/dist/esm/index.d.ts +1 -1
  109. package/dist/esm/index.d.ts.map +1 -1
  110. package/dist/esm/index.js +1 -1
  111. package/dist/esm/internals/ReportBuilder/PivotModal.js +3 -3
  112. package/dist/esm/lib/utils.d.ts +1 -0
  113. package/dist/esm/lib/utils.d.ts.map +1 -1
  114. package/dist/esm/lib/utils.js +7 -0
  115. package/dist/esm/models/Dashboard.d.ts +6 -1
  116. package/dist/esm/models/Dashboard.d.ts.map +1 -1
  117. package/dist/esm/utils/astFilterProcessing.js +3 -3
  118. package/dist/esm/utils/columnProcessing.js +4 -4
  119. package/dist/esm/utils/constants.d.ts +2 -1
  120. package/dist/esm/utils/constants.d.ts.map +1 -1
  121. package/dist/esm/utils/constants.js +2 -1
  122. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  123. package/dist/esm/utils/dataFetcher.js +1 -2
  124. package/dist/esm/utils/pivotConstructor.js +1 -1
  125. package/package.json +20 -7
  126. package/dist/cjs/components/BigModal/BigModal.d.ts +0 -15
  127. package/dist/cjs/components/BigModal/BigModal.d.ts.map +0 -1
  128. package/dist/cjs/components/BigModal/BigModal.js +0 -81
  129. package/dist/esm/components/BigModal/BigModal.d.ts +0 -15
  130. package/dist/esm/components/BigModal/BigModal.d.ts.map +0 -1
  131. 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.value !== 'NO_COMPARISON') {
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,YAAY,0CAA0C,CAAC;AACpE,eAAO,MAAM,uBAAuB,MAAM,CAAC"}
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,gBAiC1B;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"}
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 = (typeof process !== 'undefined' && process?.env?.QUILL_SERVER_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.5",
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": "tsc -p tsconfig.json -w & tsc -p tsconfig.esm.json -w",
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
- "react-dom": "^18.2.0",
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.2.46",
40
- "@types/react-dom": "^18.2.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;