oolib 2.207.1 → 2.208.1

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 (161) hide show
  1. package/dist/components/DateRangePicker/index.js +2 -2
  2. package/dist/components/GroupQuestionsInputSingle/index.js +2 -2
  3. package/dist/components/IFrameInput/index.js +1 -1
  4. package/dist/components/ImageInput/comps/Placeholder/index.js +1 -1
  5. package/dist/components/SimpleTable/index.js +2 -2
  6. package/dist/components/VideoInput/comps/EmbedLinkModal.js +1 -1
  7. package/dist/components/cards/ListProfile/index.js +1 -1
  8. package/dist/index.d.ts +8 -9
  9. package/dist/index.js +25 -33
  10. package/dist/stories/Oolib/components/Modal.stories.js +2 -2
  11. package/dist/stories/Oolib/components/TagsInput.stories.js +1 -1
  12. package/dist/stories/v2/components/visualization/HeatMapGrid.stories.d.ts +1 -0
  13. package/dist/stories/v2/components/visualization/HeatMapGrid.stories.js +83 -1
  14. package/dist/v2/components/DateRangePicker/index.js +1 -2
  15. package/dist/v2/components/TabBar/index.js +3 -3
  16. package/dist/v2/components/TextInputs/index.js +0 -7
  17. package/dist/v2/components/TextInputs/index.styled.js +1 -1
  18. package/dist/v2/components/dataviz/HeatMapGrid/index.js +23 -28
  19. package/dist/v2/components/dataviz/HeatMapGrid/utils/usePrepareHeatMapData.d.ts +33 -0
  20. package/dist/v2/components/dataviz/HeatMapGrid/utils/usePrepareHeatMapData.js +117 -0
  21. package/package.json +1 -1
  22. package/dist/components/BlockLabel/index.d.ts +0 -2
  23. package/dist/components/BlockLabel/index.js +0 -75
  24. package/dist/components/BlockLabel/index.styled.d.ts +0 -2
  25. package/dist/components/BlockLabel/index.styled.js +0 -14
  26. package/dist/components/Dropdowns/DropdownMulti/index.d.ts +0 -38
  27. package/dist/components/Dropdowns/DropdownMulti/index.js +0 -179
  28. package/dist/components/Dropdowns/DropdownSingle/index.d.ts +0 -40
  29. package/dist/components/Dropdowns/DropdownSingle/index.js +0 -163
  30. package/dist/components/Dropdowns/comps/Caret/index.d.ts +0 -6
  31. package/dist/components/Dropdowns/comps/Caret/index.js +0 -19
  32. package/dist/components/Dropdowns/comps/Caret/styled.d.ts +0 -2
  33. package/dist/components/Dropdowns/comps/Caret/styled.js +0 -14
  34. package/dist/components/Dropdowns/comps/DisplayCompSingle/index.d.ts +0 -7
  35. package/dist/components/Dropdowns/comps/DisplayCompSingle/index.js +0 -39
  36. package/dist/components/Dropdowns/comps/NoOptionResultsComp/index.d.ts +0 -4
  37. package/dist/components/Dropdowns/comps/NoOptionResultsComp/index.js +0 -15
  38. package/dist/components/Dropdowns/comps/OptionContent/index.d.ts +0 -8
  39. package/dist/components/Dropdowns/comps/OptionContent/index.js +0 -34
  40. package/dist/components/Dropdowns/comps/OptionsMulti/index.d.ts +0 -28
  41. package/dist/components/Dropdowns/comps/OptionsMulti/index.js +0 -159
  42. package/dist/components/Dropdowns/comps/OptionsShell/comps/OptionsAnimateWrapper/index.d.ts +0 -14
  43. package/dist/components/Dropdowns/comps/OptionsShell/comps/OptionsAnimateWrapper/index.js +0 -81
  44. package/dist/components/Dropdowns/comps/OptionsShell/comps/OptionsAnimateWrapper/styled.d.ts +0 -2
  45. package/dist/components/Dropdowns/comps/OptionsShell/comps/OptionsAnimateWrapper/styled.js +0 -25
  46. package/dist/components/Dropdowns/comps/OptionsShell/index.d.ts +0 -2
  47. package/dist/components/Dropdowns/comps/OptionsShell/index.js +0 -101
  48. package/dist/components/Dropdowns/comps/OptionsShell/styled.d.ts +0 -5
  49. package/dist/components/Dropdowns/comps/OptionsShell/styled.js +0 -45
  50. package/dist/components/Dropdowns/comps/OptionsSingle/index.d.ts +0 -28
  51. package/dist/components/Dropdowns/comps/OptionsSingle/index.js +0 -105
  52. package/dist/components/Dropdowns/comps/OptionsSingle/styled.d.ts +0 -1
  53. package/dist/components/Dropdowns/comps/OptionsSingle/styled.js +0 -61
  54. package/dist/components/Dropdowns/comps/SelectDropdown/index.d.ts +0 -13
  55. package/dist/components/Dropdowns/comps/SelectDropdown/index.js +0 -54
  56. package/dist/components/Dropdowns/comps/SelectDropdown/styled.d.ts +0 -1
  57. package/dist/components/Dropdowns/comps/SelectDropdown/styled.js +0 -71
  58. package/dist/components/Dropdowns/comps/SelectTagsInput/index.d.ts +0 -18
  59. package/dist/components/Dropdowns/comps/SelectTagsInput/index.js +0 -124
  60. package/dist/components/Dropdowns/comps/SelectTagsInput/styled.d.ts +0 -2
  61. package/dist/components/Dropdowns/comps/SelectTagsInput/styled.js +0 -54
  62. package/dist/components/Dropdowns/handlers/index.d.ts +0 -14
  63. package/dist/components/Dropdowns/handlers/index.js +0 -52
  64. package/dist/components/Dropdowns/styled.d.ts +0 -2
  65. package/dist/components/Dropdowns/styled.js +0 -49
  66. package/dist/components/Dropdowns/utils/genColor.d.ts +0 -4
  67. package/dist/components/Dropdowns/utils/genColor.js +0 -15
  68. package/dist/components/Dropdowns/utils/genIcon.d.ts +0 -6
  69. package/dist/components/Dropdowns/utils/genIcon.js +0 -18
  70. package/dist/components/Dropdowns/utils/genLinkOrText.d.ts +0 -1
  71. package/dist/components/Dropdowns/utils/genLinkOrText.js +0 -48
  72. package/dist/components/Dropdowns/utils/genProfileImg.d.ts +0 -6
  73. package/dist/components/Dropdowns/utils/genProfileImg.js +0 -14
  74. package/dist/components/Dropdowns/utils/genTagComp.d.ts +0 -2
  75. package/dist/components/Dropdowns/utils/genTagComp.js +0 -27
  76. package/dist/components/Dropdowns/utils/generateOptions.d.ts +0 -5
  77. package/dist/components/Dropdowns/utils/generateOptions.js +0 -20
  78. package/dist/components/Dropdowns/utils/getAllOptionsFns/genMonthsArray.d.ts +0 -1
  79. package/dist/components/Dropdowns/utils/getAllOptionsFns/genMonthsArray.js +0 -40
  80. package/dist/components/Dropdowns/utils/getAllOptionsFns/genYearsArray.d.ts +0 -4
  81. package/dist/components/Dropdowns/utils/getAllOptionsFns/genYearsArray.js +0 -11
  82. package/dist/components/Dropdowns/utils/getAllOptionsFns/getLanguagesArray.d.ts +0 -4
  83. package/dist/components/Dropdowns/utils/getAllOptionsFns/getLanguagesArray.js +0 -62
  84. package/dist/components/Dropdowns/utils/getAllOptionsFns/index.d.ts +0 -1
  85. package/dist/components/Dropdowns/utils/getAllOptionsFns/index.js +0 -19
  86. package/dist/components/Dropdowns/utils/getValue.d.ts +0 -14
  87. package/dist/components/Dropdowns/utils/getValue.js +0 -32
  88. package/dist/components/Dropdowns/utils/isDynamicOtherOption.d.ts +0 -0
  89. package/dist/components/Dropdowns/utils/isDynamicOtherOption.js +0 -0
  90. package/dist/components/Dropdowns/utils/keywordSearchOptions.d.ts +0 -6
  91. package/dist/components/Dropdowns/utils/keywordSearchOptions.js +0 -18
  92. package/dist/components/Dropdowns/utils/setDropdownSelectText.d.ts +0 -12
  93. package/dist/components/Dropdowns/utils/setDropdownSelectText.js +0 -19
  94. package/dist/components/Dropdowns/utils/useCreateDropdownRefs.d.ts +0 -5
  95. package/dist/components/Dropdowns/utils/useCreateDropdownRefs.js +0 -15
  96. package/dist/components/Dropdowns/utils/useHideShowOptions.d.ts +0 -5
  97. package/dist/components/Dropdowns/utils/useHideShowOptions.js +0 -20
  98. package/dist/components/Dropdowns/utils/useKeyboardControl.d.ts +0 -12
  99. package/dist/components/Dropdowns/utils/useKeyboardControl.js +0 -73
  100. package/dist/components/Dropdowns/utils/useSearchString.d.ts +0 -4
  101. package/dist/components/Dropdowns/utils/useSearchString.js +0 -20
  102. package/dist/components/Dropdowns/utils/useSetYOrientation.d.ts +0 -9
  103. package/dist/components/Dropdowns/utils/useSetYOrientation.js +0 -46
  104. package/dist/components/Hints/contextApi.d.ts +0 -6
  105. package/dist/components/Hints/contextApi.js +0 -48
  106. package/dist/components/Hints/index.d.ts +0 -9
  107. package/dist/components/Hints/index.js +0 -127
  108. package/dist/components/Hints/styled.d.ts +0 -6
  109. package/dist/components/Hints/styled.js +0 -54
  110. package/dist/components/RadioAndCheckbox/comps/CheckboxList/comps/CheckboxButton/index.d.ts +0 -11
  111. package/dist/components/RadioAndCheckbox/comps/CheckboxList/comps/CheckboxButton/index.js +0 -30
  112. package/dist/components/RadioAndCheckbox/comps/CheckboxList/comps/CheckboxButton/styled.d.ts +0 -1
  113. package/dist/components/RadioAndCheckbox/comps/CheckboxList/comps/CheckboxButton/styled.js +0 -70
  114. package/dist/components/RadioAndCheckbox/comps/CheckboxList/comps/CheckboxInput/index.d.ts +0 -11
  115. package/dist/components/RadioAndCheckbox/comps/CheckboxList/comps/CheckboxInput/index.js +0 -50
  116. package/dist/components/RadioAndCheckbox/comps/CheckboxList/index.d.ts +0 -20
  117. package/dist/components/RadioAndCheckbox/comps/CheckboxList/index.js +0 -124
  118. package/dist/components/RadioAndCheckbox/comps/CheckboxList/styled.d.ts +0 -2
  119. package/dist/components/RadioAndCheckbox/comps/CheckboxList/styled.js +0 -17
  120. package/dist/components/RadioAndCheckbox/comps/RadioList/comps/RadioInput/index.d.ts +0 -18
  121. package/dist/components/RadioAndCheckbox/comps/RadioList/comps/RadioInput/index.js +0 -53
  122. package/dist/components/RadioAndCheckbox/comps/RadioList/comps/RadioInput/styled.d.ts +0 -2
  123. package/dist/components/RadioAndCheckbox/comps/RadioList/comps/RadioInput/styled.js +0 -84
  124. package/dist/components/RadioAndCheckbox/comps/RadioList/comps/index.d.ts +0 -1
  125. package/dist/components/RadioAndCheckbox/comps/RadioList/comps/index.js +0 -6
  126. package/dist/components/RadioAndCheckbox/comps/RadioList/index.d.ts +0 -17
  127. package/dist/components/RadioAndCheckbox/comps/RadioList/index.js +0 -109
  128. package/dist/components/RadioAndCheckbox/index.d.ts +0 -5
  129. package/dist/components/RadioAndCheckbox/index.js +0 -14
  130. package/dist/components/RadioAndCheckbox/styled.d.ts +0 -5
  131. package/dist/components/RadioAndCheckbox/styled.js +0 -84
  132. package/dist/components/RadioAndCheckbox/utils.d.ts +0 -22
  133. package/dist/components/RadioAndCheckbox/utils.js +0 -49
  134. package/dist/components/Switches/index.d.ts +0 -21
  135. package/dist/components/Switches/index.js +0 -102
  136. package/dist/components/Switches/styled.d.ts +0 -5
  137. package/dist/components/Switches/styled.js +0 -63
  138. package/dist/components/TextInputs/index.d.ts +0 -24
  139. package/dist/components/TextInputs/index.js +0 -367
  140. package/dist/components/TextInputs/index.styled.d.ts +0 -3
  141. package/dist/components/TextInputs/index.styled.js +0 -77
  142. package/dist/components/cards/CardContent/index.d.ts +0 -11
  143. package/dist/components/cards/CardContent/index.js +0 -76
  144. package/dist/components/cards/CardContent/styled.d.ts +0 -7
  145. package/dist/components/cards/CardContent/styled.js +0 -63
  146. package/dist/components/cards/ListContent/index.d.ts +0 -12
  147. package/dist/components/cards/ListContent/index.js +0 -87
  148. package/dist/components/cards/ListContent/styled.d.ts +0 -7
  149. package/dist/components/cards/ListContent/styled.js +0 -26
  150. package/dist/stories/Oolib/components/BlockLabel.stories.d.ts +0 -71
  151. package/dist/stories/Oolib/components/BlockLabel.stories.js +0 -106
  152. package/dist/stories/Oolib/components/Checkbox.stories.d.ts +0 -248
  153. package/dist/stories/Oolib/components/Checkbox.stories.js +0 -249
  154. package/dist/stories/Oolib/components/Dropdowns.stories.d.ts +0 -127
  155. package/dist/stories/Oolib/components/Dropdowns.stories.js +0 -298
  156. package/dist/stories/Oolib/components/RadioButton.stories.d.ts +0 -260
  157. package/dist/stories/Oolib/components/RadioButton.stories.js +0 -264
  158. package/dist/stories/Oolib/components/Switches.stories.d.ts +0 -106
  159. package/dist/stories/Oolib/components/Switches.stories.js +0 -146
  160. package/dist/stories/Oolib/components/TextInputs.stories.d.ts +0 -124
  161. package/dist/stories/Oolib/components/TextInputs.stories.js +0 -188
@@ -0,0 +1,33 @@
1
+ interface PrepareHeatMapDataParams {
2
+ _data: any[];
3
+ valuePath: string | string[];
4
+ tooltipLabelsMapping?: {
5
+ [key: string]: string;
6
+ };
7
+ tooltipLabelsPath?: string | string[];
8
+ labelPath: string;
9
+ showPercent: boolean;
10
+ colorIdx: number;
11
+ }
12
+ interface HeatMapCellData {
13
+ labels: {
14
+ count: number;
15
+ percentage?: number;
16
+ name: string;
17
+ tooltipLabel: string;
18
+ dataIndex: number;
19
+ hasData: boolean;
20
+ barColor: string;
21
+ textColor: string;
22
+ };
23
+ }
24
+ interface PreparedHeatMapData {
25
+ tableData: HeatMapCellData[][];
26
+ columnHeaders: {
27
+ key: string;
28
+ displayLabel: string;
29
+ }[];
30
+ dataMaxValue: number;
31
+ }
32
+ export declare const usePrepareHeatMapData: ({ _data, valuePath, tooltipLabelsMapping, tooltipLabelsPath, labelPath, showPercent, colorIdx }: PrepareHeatMapDataParams) => PreparedHeatMapData;
33
+ export {};
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePrepareHeatMapData = void 0;
4
+ var react_1 = require("react");
5
+ var _EXPORTS_1 = require("../../../../../utils/_EXPORTS");
6
+ var colors_1 = require("../../../../themes/colors");
7
+ var usePrepareHeatMapData = function (_a) {
8
+ var _data = _a._data, valuePath = _a.valuePath, tooltipLabelsMapping = _a.tooltipLabelsMapping, tooltipLabelsPath = _a.tooltipLabelsPath, labelPath = _a.labelPath, showPercent = _a.showPercent, colorIdx = _a.colorIdx;
9
+ return (0, react_1.useMemo)(function () {
10
+ if (!_data || _data.length === 0) {
11
+ return {
12
+ tableData: [],
13
+ columnHeaders: [],
14
+ dataMaxValue: 0
15
+ };
16
+ }
17
+ var valuePathArray = Array.isArray(valuePath) ? valuePath : [valuePath];
18
+ // Optimized: Single pass to collect all unique columns and pre-calculate row totals
19
+ var columnMap = new Map(); // columnLabel -> columnIndex
20
+ var rowTotals = [];
21
+ var rowData = [];
22
+ // First pass: collect unique columns and calculate row totals
23
+ _data.forEach(function (row, rowIndex) {
24
+ var rowName = (0, _EXPORTS_1.getVal)(row, labelPath);
25
+ var cellValues = new Map();
26
+ var rowTotal = 0;
27
+ valuePathArray.forEach(function (path, pathIndex) {
28
+ var value = (0, _EXPORTS_1.getVal)(row, path);
29
+ if (value !== undefined && value !== null) {
30
+ // Get column label
31
+ var columnLabel = void 0;
32
+ if (tooltipLabelsPath) {
33
+ if (Array.isArray(tooltipLabelsPath)) {
34
+ var labelPath_1 = tooltipLabelsPath[pathIndex];
35
+ if (labelPath_1) {
36
+ columnLabel = (0, _EXPORTS_1.getVal)(row, labelPath_1) || "Column ".concat(pathIndex);
37
+ }
38
+ else {
39
+ columnLabel = "Column ".concat(pathIndex);
40
+ }
41
+ }
42
+ else {
43
+ columnLabel = (0, _EXPORTS_1.getVal)(row, tooltipLabelsPath) || "Column ".concat(pathIndex);
44
+ }
45
+ }
46
+ else if (tooltipLabelsMapping) {
47
+ columnLabel = tooltipLabelsMapping[path] || path;
48
+ }
49
+ else {
50
+ columnLabel = path;
51
+ }
52
+ // Store cell value and add to column map
53
+ cellValues.set(columnLabel, value);
54
+ if (!columnMap.has(columnLabel)) {
55
+ columnMap.set(columnLabel, columnMap.size);
56
+ }
57
+ rowTotal += value;
58
+ }
59
+ });
60
+ rowTotals.push(rowTotal);
61
+ rowData.push({ rowName: rowName, cellValues: cellValues });
62
+ });
63
+ // Create column headers in order
64
+ var columnHeaders = Array.from(columnMap.entries())
65
+ .sort(function (_a, _b) {
66
+ var a = _a[1];
67
+ var b = _b[1];
68
+ return a - b;
69
+ })
70
+ .map(function (_a) {
71
+ var key = _a[0];
72
+ return ({
73
+ key: key,
74
+ displayLabel: key
75
+ });
76
+ });
77
+ // Second pass: build table data efficiently
78
+ var tableData = rowData.map(function (_a, rowIndex) {
79
+ var rowName = _a.rowName, cellValues = _a.cellValues;
80
+ var rowTotal = rowTotals[rowIndex];
81
+ return columnHeaders.map(function (header, colIndex) {
82
+ var cellValue = cellValues.get(header.key) || 0;
83
+ var hasData = cellValues.has(header.key);
84
+ var percentage = rowTotal > 0 ? (cellValue / rowTotal) * 100 : 0;
85
+ return {
86
+ labels: {
87
+ count: cellValue,
88
+ percentage: showPercent ? Math.ceil(percentage) : undefined,
89
+ name: rowName,
90
+ tooltipLabel: header.key,
91
+ dataIndex: rowIndex,
92
+ hasData: hasData,
93
+ barColor: colors_1.dataVizColors[(colorIdx + colIndex) % colors_1.dataVizColors.length],
94
+ textColor: colors_1.dataVizColorsText[(colorIdx + colIndex) % colors_1.dataVizColorsText.length]
95
+ }
96
+ };
97
+ });
98
+ });
99
+ // Calculate max value efficiently
100
+ var dataMaxValue = 1;
101
+ for (var _i = 0, rowData_1 = rowData; _i < rowData_1.length; _i++) {
102
+ var cellValues = rowData_1[_i].cellValues;
103
+ for (var _a = 0, _b = Array.from(cellValues.values()); _a < _b.length; _a++) {
104
+ var value = _b[_a];
105
+ if (value > dataMaxValue) {
106
+ dataMaxValue = value;
107
+ }
108
+ }
109
+ }
110
+ return {
111
+ tableData: tableData,
112
+ columnHeaders: columnHeaders,
113
+ dataMaxValue: dataMaxValue
114
+ };
115
+ }, [_data, valuePath, tooltipLabelsMapping, tooltipLabelsPath, labelPath, showPercent, colorIdx]);
116
+ };
117
+ exports.usePrepareHeatMapData = usePrepareHeatMapData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oolib",
3
- "version": "2.207.1",
3
+ "version": "2.208.1",
4
4
  "description": " OKE Component Library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,2 +0,0 @@
1
- export function BlockLabel(props: any): React.JSX.Element;
2
- import React from "react";
@@ -1,75 +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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.BlockLabel = void 0;
40
- var react_1 = __importStar(require("react"));
41
- var Typo_1 = require("../Typo");
42
- var InlineAlert_1 = require("../InlineAlert");
43
- var index_styled_1 = require("./index.styled");
44
- var colors_1 = require("../../themes/colors");
45
- var toArray_1 = require("../../utils/toArray");
46
- var Hints_1 = __importDefault(require("../Hints"));
47
- var Tooltip_1 = require("../Tooltip");
48
- var greyColor40 = colors_1.colors.greyColor40, greyColor80 = colors_1.colors.greyColor80;
49
- var BlockLabel = function (props) {
50
- var label = props.label, sublabel = props.sublabel, inputOnlyLabel = props.inputOnlyLabel, invert = props.invert, isRequired = props.isRequired, readOnly = props.readOnly, className = props.className, style = props.style, errorMsgs = props.errorMsgs, hints = props.hints, id = props.id, hintsTitle = props.hintsTitle, hintsBtnLabel = props.hintsBtnLabel, hintsSubtitle = props.hintsSubtitle, hideOptionalLabel = props.hideOptionalLabel, infoTooltip = props.infoTooltip;
51
- var shouldCompRender = label ||
52
- (!readOnly &&
53
- (sublabel ||
54
- inputOnlyLabel ||
55
- (isRequired === false && hideOptionalLabel !== true) ||
56
- (errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.length) > 0));
57
- var optional = readOnly ? false : isRequired === false;
58
- var errText = errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.map(function (er) { return (typeof er === "object" ? er.text : er); }).join(", ");
59
- //next 2 vars is for 'test link' usecase
60
- var errLink = (errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.length) !== 1 ? undefined : errorMsgs[0].link;
61
- var errType = (errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.length) !== 1 //this first condition seems like a proper hack..
62
- ? "danger"
63
- : errorMsgs[0].type || "danger";
64
- return (shouldCompRender && (react_1.default.createElement(index_styled_1.StyledBlockLabel, { style: style, className: className },
65
- react_1.default.createElement("div", { style: { display: "flex", gap: "1rem" } },
66
- (label || inputOnlyLabel) && (react_1.default.createElement(Typo_1.SANS_3, { invert: invert, semibold: true, capitalize: true }, label || inputOnlyLabel)),
67
- !readOnly && hints ? (react_1.default.createElement(Hints_1.default, { id: id, title: hintsTitle, btnlabel: hintsBtnLabel, subtitle: hintsSubtitle, hints: hints })) : null,
68
- optional && !hideOptionalLabel && (react_1.default.createElement(Typo_1.SANS_3, { color: invert ? greyColor40 : greyColor80 }, "(optional)")),
69
- !readOnly && (errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.length) > 0 ? (react_1.default.createElement(InlineAlert_1.InlineAlert, { text: errText, type: errType, link: errLink, invert: invert })) : null,
70
- infoTooltip && (react_1.default.createElement(Tooltip_1.Tooltip, { text: infoTooltip.text || infoTooltip, position: infoTooltip.position || "right", invert: invert, debug: infoTooltip.debug, popOutOfOverflowHiddenParent: infoTooltip.popOutOfOverflowHiddenParent, presetTarget: "infoIcon" }))),
71
- !readOnly &&
72
- sublabel &&
73
- (0, toArray_1.toArray)(sublabel).map(function (subL, i) { return (react_1.default.createElement(Typo_1.SANS_3, { key: i, color: invert ? greyColor40 : greyColor80 }, subL)); }))));
74
- };
75
- exports.BlockLabel = BlockLabel;
@@ -1,2 +0,0 @@
1
- export const StyledBlockLabel: import("styled-components").StyledComponent<"div", any, {}, never>;
2
- export const StyledInfoTooltipbutton: import("styled-components").StyledComponent<"button", any, {}, never>;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.StyledInfoTooltipbutton = exports.StyledBlockLabel = void 0;
11
- var styled_components_1 = __importDefault(require("styled-components"));
12
- exports.StyledBlockLabel = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 0rem;\n margin-bottom: 1rem;\n position: relative;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 0rem;\n margin-bottom: 1rem;\n position: relative;\n"])));
13
- exports.StyledInfoTooltipbutton = styled_components_1.default.button(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border: none;\n background: none;\n outline: none;\n"], ["\n border: none;\n background: none;\n outline: none;\n"])));
14
- var templateObject_1, templateObject_2;
@@ -1,38 +0,0 @@
1
- export function DropdownMulti({ saveValueAsString, value: valueProp, id, onChange: parentOnChange, className, readOnly, invert, selectClassName, optionsClassName, selectStyleOverride, optionsFn, options: optionsProp, isTagsStyle, isSearchable, searchFieldsConfig, setFilteredOptions: setFilteredOptionsInParent, setSearchString: setSearchStringInParent, searchString: searchStringInParent, label, optionsModalLabel, genCreateTagButton, placeholder, genCustomSelectComp, disableSelectTextUpdate, selectConfig, lightboxHeight, lightboxStyle, optionsAnchor, popOutOfOverflowHiddenParent, S, disabled, broadcastShowOptions, tagColor, searchbarPlaceholder, alignDropdown }: {
2
- saveValueAsString: any;
3
- value: any;
4
- id: any;
5
- onChange: any;
6
- className: any;
7
- readOnly: any;
8
- invert: any;
9
- selectClassName: any;
10
- optionsClassName: any;
11
- selectStyleOverride: any;
12
- optionsFn: any;
13
- options: any;
14
- isTagsStyle: any;
15
- isSearchable: any;
16
- searchFieldsConfig: any;
17
- setFilteredOptions: any;
18
- setSearchString: any;
19
- searchString: any;
20
- label: any;
21
- optionsModalLabel: any;
22
- genCreateTagButton: any;
23
- placeholder: any;
24
- genCustomSelectComp: any;
25
- disableSelectTextUpdate: any;
26
- selectConfig: any;
27
- lightboxHeight: any;
28
- lightboxStyle: any;
29
- optionsAnchor: any;
30
- popOutOfOverflowHiddenParent: any;
31
- S: any;
32
- disabled: any;
33
- broadcastShowOptions: any;
34
- tagColor: any;
35
- searchbarPlaceholder: any;
36
- alignDropdown?: string;
37
- }, ...args: any[]): React.JSX.Element;
38
- import React from "react";
@@ -1,179 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || (function () {
30
- var ownKeys = function(o) {
31
- ownKeys = Object.getOwnPropertyNames || function (o) {
32
- var ar = [];
33
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
- return ar;
35
- };
36
- return ownKeys(o);
37
- };
38
- return function (mod) {
39
- if (mod && mod.__esModule) return mod;
40
- var result = {};
41
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
- __setModuleDefault(result, mod);
43
- return result;
44
- };
45
- })();
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.DropdownMulti = DropdownMulti;
48
- var BlockLabel_1 = require("../../../v2/components/BlockLabel");
49
- var getBlockLabelProps_1 = require("../../../utils/getBlockLabelProps");
50
- var mixins_1 = require("../../../themes/mixins");
51
- var useHandleClickOutside_1 = require("../../../utils/customHooks/useHandleClickOutside");
52
- var useScreenWidth_1 = require("../../../utils/customHooks/useScreenWidth");
53
- var react_1 = __importStar(require("react"));
54
- var SelectTagsInput_1 = require("../comps/SelectTagsInput");
55
- var SelectDropdown_1 = require("../comps/SelectDropdown");
56
- var OptionsMulti_1 = require("../comps/OptionsMulti");
57
- var DisplayCompSingle_1 = require("../comps/DisplayCompSingle");
58
- var handlers_1 = require("../handlers");
59
- var useHideShowOptions_1 = require("../utils/useHideShowOptions");
60
- var useCreateDropdownRefs_1 = require("../utils/useCreateDropdownRefs");
61
- var keywordSearchOptions_1 = require("../utils/keywordSearchOptions");
62
- var getValue_1 = require("../utils/getValue");
63
- var generateOptions_1 = require("../utils/generateOptions");
64
- var useSearchString_1 = require("../utils/useSearchString");
65
- var styled_components_1 = require("styled-components");
66
- var genTagComp_1 = require("../utils/genTagComp");
67
- var styled_1 = require("../styled");
68
- function DropdownMulti(_a) {
69
- var saveValueAsString = _a.saveValueAsString, valueProp = _a.value, id = _a.id, parentOnChange = _a.onChange, className = _a.className,
70
- // injectOtherOption,
71
- readOnly = _a.readOnly, invert = _a.invert, selectClassName = _a.selectClassName, //used to override font size in priimary header
72
- optionsClassName = _a.optionsClassName, //used to override font size in priimary header
73
- selectStyleOverride = _a.selectStyleOverride, optionsFn = _a.optionsFn, optionsProp = _a.options, isTagsStyle = _a.isTagsStyle, isSearchable = _a.isSearchable, searchFieldsConfig = _a.searchFieldsConfig, setFilteredOptionsInParent = _a.setFilteredOptions, setSearchStringInParent = _a.setSearchString, searchStringInParent = _a.searchString, label = _a.label, optionsModalLabel = _a.optionsModalLabel, genCreateTagButton = _a.genCreateTagButton, placeholder = _a.placeholder, genCustomSelectComp = _a.genCustomSelectComp, disableSelectTextUpdate = _a.disableSelectTextUpdate, selectConfig = _a.selectConfig,
74
- //props whose existence needs to be questioned:
75
- lightboxHeight = _a.lightboxHeight, lightboxStyle = _a.lightboxStyle, optionsAnchor = _a.optionsAnchor, popOutOfOverflowHiddenParent = _a.popOutOfOverflowHiddenParent, S = _a.S, disabled = _a.disabled, broadcastShowOptions = _a.broadcastShowOptions, tagColor = _a.tagColor, searchbarPlaceholder = _a.searchbarPlaceholder, _b = _a.alignDropdown, alignDropdown = _b === void 0 ? "left" : _b;
76
- var theme = (0, styled_components_1.useTheme)();
77
- var props = arguments[0];
78
- var value = (0, getValue_1.getValue_MULTI)({ valueProp: valueProp, optionsFn: optionsFn, options: optionsProp, theme: theme, saveValueAsString: saveValueAsString });
79
- //1 INIT REFS
80
- var _c = (0, useCreateDropdownRefs_1.useCreateDropdownRefs)(), selectRef = _c.selectRef, dropdownRef = _c.dropdownRef;
81
- //2 INIT SHOW OPTIONS STATE
82
- var _d = (0, useHideShowOptions_1.useHideShowOptions)({
83
- broadcastShowOptions: broadcastShowOptions
84
- }), showOptions = _d.showOptions, handleHideOptions = _d.handleHideOptions, handleShowOptions = _d.handleShowOptions;
85
- var screenWidth = (0, useScreenWidth_1.useScreenWidth)();
86
- //3 INIT DD FOCUS CUSTOM HOOK
87
- (0, useHandleClickOutside_1.useHandleClickOutside)(dropdownRef, handleHideOptions, { enabled: screenWidth >= (0, mixins_1.getBreakPoint)('sm') });
88
- //-- TAG INPUT SPECIFIC
89
- var _e = (0, useSearchString_1.useSearchString)({
90
- setSearchStringInParent: setSearchStringInParent,
91
- searchStringInParent: searchStringInParent
92
- }), searchString = _e[0], setSearchString = _e[1];
93
- console.log({
94
- optionsFn: optionsFn === null || optionsFn === void 0 ? void 0 : optionsFn.fn,
95
- argsString: JSON.stringify(optionsFn === null || optionsFn === void 0 ? void 0 : optionsFn.args),
96
- });
97
- var options = (0, react_1.useMemo)(function () {
98
- var ops = (0, generateOptions_1.generateOptions)({
99
- options: optionsProp,
100
- optionsFn: optionsFn,
101
- theme: theme
102
- // injectOtherOption,
103
- });
104
- console.log({ ops: ops });
105
- var currentValue = value || [];
106
- // rm the selectedOps from ops list (since they are shown anyway in the selectedops list)
107
- return /*isTagsStyle ? ops : */ ops.filter(function (op) { return currentValue.every(function (v) { return v.value !== op.value; }); });
108
- }, [
109
- JSON.stringify(optionsProp), //we need this cuz options change from 'loading' to actual options in some cases
110
- // showOptions
111
- optionsFn === null || optionsFn === void 0 ? void 0 : optionsFn.fn,
112
- JSON.stringify(optionsFn === null || optionsFn === void 0 ? void 0 : optionsFn.args),
113
- value
114
- ]);
115
- options = (0, react_1.useMemo)(function () {
116
- return (!isSearchable && !isTagsStyle)
117
- ? options
118
- : (0, keywordSearchOptions_1.keywordSearchOptions)({
119
- options: options,
120
- searchString: searchString,
121
- searchFieldsConfig: searchFieldsConfig,
122
- setFilteredOptionsInParent: setFilteredOptionsInParent,
123
- });
124
- }, [
125
- searchString,
126
- // showOptions,
127
- options,
128
- value
129
- ]);
130
- /**
131
- * very importnant to understand:
132
- * Assume this second useMemo didnt have 'options' in its dependency array
133
- * Lets assume initial state of options from previous render is length = 8
134
- * If options change because of the first useMemo, (and lets say become of length 5)
135
- * and lets say second memo doesnt fire cuz showOptions or searchString dont change,
136
- * then the second useMemo sets the 'options' to its previous value in previous render (which is length = 8)
137
- *
138
- * obviously this causes bugs.
139
- * so by putting options in the second useMemo dependency, we force the second one to fire
140
- * if the options change
141
- */
142
- //--
143
- //5 PRIMARY CHANGE HANDLER
144
- var handleSelect = function (newVal) { return (0, handlers_1.handleSelect_MULTI)({
145
- parentOnChange: parentOnChange,
146
- id: id,
147
- newVal: newVal,
148
- prevVal: value,
149
- parentOnChange: parentOnChange,
150
- // hideShowOtherTextInputOnSelect_MULTI,
151
- saveValueAsString: saveValueAsString
152
- }); };
153
- var genDisplayComp = function () {
154
- if (!(value === null || value === void 0 ? void 0 : value.length) > 0)
155
- return null;
156
- return isTagsStyle ? (react_1.default.createElement(styled_1.StyledTagsInputWrapper, null, value.map(function (d) { return (0, genTagComp_1.genTagComp)(id, d, { display: true, invert: invert, theme: theme, color: tagColor }); }))) : (react_1.default.createElement("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" } }, value.map(function (v, i) { return (react_1.default.createElement(react_1.Fragment, null,
157
- react_1.default.createElement(DisplayCompSingle_1.DisplayCompSingle, { value: v, invert: invert, injectComma: i !== value.length - 1, S: S }))); })));
158
- };
159
- var _f = (0, react_1.useState)(false), focusSelectTagsInput = _f[0], setFocusSelectTagsInput = _f[1];
160
- var genSelectTagsInput = function (ops) {
161
- if (ops === void 0) { ops = {}; }
162
- return (react_1.default.createElement(SelectTagsInput_1.SelectTagsInput, { id: id, value: value, invert: invert, handleSelect: handleSelect, searchString: searchString,
163
- setSearchString: setSearchString,
164
- single_multi: "multi", placeholder: placeholder, focusSelectTagsInput: focusSelectTagsInput, setFocusSelectTagsInput: setFocusSelectTagsInput, showOptions: showOptions, S: S, disabled: disabled, style: ops.style }));
165
- };
166
- var genInputComp = function () {
167
- // const SelectComp = isTagsStyle ? SelectTagsInput : SelectDropdown
168
- return (react_1.default.createElement(styled_1.StyledDropdownRefWrapper, { ref: dropdownRef },
169
- react_1.default.createElement("div", { ref: selectRef, className: "OKE-Dropdown__Select-wrapper", onClick: disabled ? function () { } : function () {
170
- isTagsStyle
171
- ? !showOptions && handleShowOptions() //if tagsStyle, then click always shows options
172
- : showOptions ? handleHideOptions() : handleShowOptions(); //if dropdowns, then click toggles show/hide
173
- } }, isTagsStyle ? genSelectTagsInput() : (react_1.default.createElement(SelectDropdown_1.SelectDropdown, { invert: invert, value: value, placeholder: placeholder, selectClassName: selectClassName, selectStyleOverride: selectStyleOverride, showOptions: showOptions, genCustomSelectComp: genCustomSelectComp, disableSelectTextUpdate: disableSelectTextUpdate, selectConfig: selectConfig, S: S, disabled: disabled }))),
174
- react_1.default.createElement(OptionsMulti_1.OptionsMulti, { searchbarPlaceholder: searchbarPlaceholder, id: id, value: value, relativeToRef: selectRef, showOptions: showOptions, handleSelect: handleSelect, handleHideOptions: handleHideOptions, optionsClassName: optionsClassName, options: options, optionsFn: optionsFn, isSearchable: isTagsStyle ? false : isSearchable, searchString: searchString, setSearchString: setSearchString, label: label, optionsModalLabel: optionsModalLabel, isTagsStyle: isTagsStyle, genCreateTagButton: genCreateTagButton, lightboxHeight: lightboxHeight, lightboxStyle: lightboxStyle, optionsAnchor: optionsAnchor, SelectComp: isTagsStyle && genSelectTagsInput({ style: { position: 'sticky', top: 0, zIndex: 1000 } }), invert: invert, setFocusSelectTagsInput: setFocusSelectTagsInput, popOutOfOverflowHiddenParent: popOutOfOverflowHiddenParent, S: S, alignDropdown: alignDropdown })));
175
- };
176
- return (react_1.default.createElement("div", { className: "OKE-Dropdown ".concat(className, " OKE-Dropdown--").concat(readOnly ? "displayComp" : "inputComp", " ").concat(invert ? "-invert-" : "") },
177
- react_1.default.createElement(BlockLabel_1.BlockLabel, __assign({}, (0, getBlockLabelProps_1.getBlockLabelProps)(props))),
178
- readOnly ? genDisplayComp() : genInputComp()));
179
- }
@@ -1,40 +0,0 @@
1
- export function DropdownSingle({ optionsAnchor, lightboxHeight, lightboxStyle, selectClassName, optionsClassName, disableSelectTextUpdate, selectStyleOverride, value: valueProp, id, onChange: parentOnChange, className, style, readOnly, invert, optionsFn, options: optionsProp, saveValueAsString, isTagsStyle, selectConfig, label, optionsModalLabel, broadcastShowOptions, isSearchable, searchFieldsConfig, setFilteredOptions: setFilteredOptionsInParent, setSearchString: setSearchStringInParent, searchString: searchStringInParent, genCustomSelectComp, placeholder, genCreateTagButton, popOutOfOverflowHiddenParent, S, disabled, tagColor, observerRef, searchbarPlaceholder, alignDropdown }: {
2
- optionsAnchor: any;
3
- lightboxHeight: any;
4
- lightboxStyle: any;
5
- selectClassName: any;
6
- optionsClassName: any;
7
- disableSelectTextUpdate: any;
8
- selectStyleOverride: any;
9
- value: any;
10
- id: any;
11
- onChange: any;
12
- className: any;
13
- style: any;
14
- readOnly: any;
15
- invert: any;
16
- optionsFn: any;
17
- options: any;
18
- saveValueAsString: any;
19
- isTagsStyle: any;
20
- selectConfig: any;
21
- label: any;
22
- optionsModalLabel: any;
23
- broadcastShowOptions: any;
24
- isSearchable: any;
25
- searchFieldsConfig: any;
26
- setFilteredOptions: any;
27
- setSearchString: any;
28
- searchString: any;
29
- genCustomSelectComp: any;
30
- placeholder: any;
31
- genCreateTagButton: any;
32
- popOutOfOverflowHiddenParent: any;
33
- S: any;
34
- disabled: any;
35
- tagColor: any;
36
- observerRef: any;
37
- searchbarPlaceholder: any;
38
- alignDropdown?: string;
39
- }, ...args: any[]): React.JSX.Element;
40
- import React from "react";