@akinon/akifilter 0.5.3 → 1.0.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 (160) hide show
  1. package/README.md +44 -0
  2. package/dist/cjs/akifilter.d.ts +53 -0
  3. package/dist/cjs/akifilter.d.ts.map +1 -0
  4. package/dist/cjs/akifilter.js +299 -0
  5. package/dist/cjs/common/storage.d.ts +10 -0
  6. package/dist/cjs/common/storage.d.ts.map +1 -0
  7. package/dist/cjs/common/storage.js +124 -0
  8. package/dist/cjs/common/theme-overrides.d.ts +3 -0
  9. package/dist/cjs/common/theme-overrides.d.ts.map +1 -0
  10. package/dist/cjs/common/theme-overrides.js +9 -0
  11. package/dist/cjs/components/applied-filters.d.ts +14 -0
  12. package/dist/cjs/components/applied-filters.d.ts.map +1 -0
  13. package/dist/cjs/components/applied-filters.js +26 -0
  14. package/dist/cjs/components/filter-toolbar.d.ts +11 -0
  15. package/dist/cjs/components/filter-toolbar.d.ts.map +1 -0
  16. package/dist/cjs/components/filter-toolbar.js +17 -0
  17. package/dist/cjs/components/visibility-modal.d.ts +19 -0
  18. package/dist/cjs/components/visibility-modal.d.ts.map +1 -0
  19. package/dist/cjs/components/visibility-modal.js +30 -0
  20. package/dist/cjs/constants.d.ts +4 -0
  21. package/dist/cjs/constants.d.ts.map +1 -0
  22. package/dist/cjs/constants.js +6 -0
  23. package/dist/cjs/hooks/use-debounced-value.d.ts +2 -0
  24. package/dist/cjs/hooks/use-debounced-value.d.ts.map +1 -0
  25. package/dist/cjs/hooks/use-debounced-value.js +17 -0
  26. package/dist/cjs/i18n/index.d.ts +2 -4
  27. package/dist/cjs/i18n/index.d.ts.map +1 -1
  28. package/dist/cjs/i18n/index.js +1 -1
  29. package/dist/cjs/i18n/translations/en.d.ts +33 -3
  30. package/dist/cjs/i18n/translations/en.d.ts.map +1 -1
  31. package/dist/cjs/i18n/translations/en.js +33 -3
  32. package/dist/cjs/i18n/translations/tr.d.ts +33 -3
  33. package/dist/cjs/i18n/translations/tr.d.ts.map +1 -1
  34. package/dist/cjs/i18n/translations/tr.js +33 -3
  35. package/dist/cjs/index.d.ts +3 -14
  36. package/dist/cjs/index.d.ts.map +1 -1
  37. package/dist/cjs/index.js +17 -32
  38. package/dist/cjs/styles.css +182 -0
  39. package/dist/cjs/types.d.ts +11 -0
  40. package/dist/cjs/types.d.ts.map +1 -0
  41. package/dist/cjs/types.js +2 -0
  42. package/dist/cjs/utils/schema.d.ts +9 -0
  43. package/dist/cjs/utils/schema.d.ts.map +1 -0
  44. package/dist/cjs/utils/schema.js +61 -0
  45. package/dist/cjs/utils/values.d.ts +5 -0
  46. package/dist/cjs/utils/values.d.ts.map +1 -0
  47. package/dist/cjs/utils/values.js +44 -0
  48. package/dist/esm/akifilter.d.ts +53 -0
  49. package/dist/esm/akifilter.d.ts.map +1 -0
  50. package/dist/esm/akifilter.js +295 -0
  51. package/dist/esm/common/storage.d.ts +10 -0
  52. package/dist/esm/common/storage.d.ts.map +1 -0
  53. package/dist/esm/common/storage.js +114 -0
  54. package/dist/esm/common/theme-overrides.d.ts +3 -0
  55. package/dist/esm/common/theme-overrides.d.ts.map +1 -0
  56. package/dist/esm/common/theme-overrides.js +6 -0
  57. package/dist/esm/components/applied-filters.d.ts +14 -0
  58. package/dist/esm/components/applied-filters.d.ts.map +1 -0
  59. package/dist/esm/components/applied-filters.js +22 -0
  60. package/dist/esm/components/filter-toolbar.d.ts +11 -0
  61. package/dist/esm/components/filter-toolbar.d.ts.map +1 -0
  62. package/dist/esm/components/filter-toolbar.js +13 -0
  63. package/dist/esm/components/visibility-modal.d.ts +19 -0
  64. package/dist/esm/components/visibility-modal.d.ts.map +1 -0
  65. package/dist/esm/components/visibility-modal.js +26 -0
  66. package/dist/esm/constants.d.ts +4 -0
  67. package/dist/esm/constants.d.ts.map +1 -0
  68. package/dist/esm/constants.js +3 -0
  69. package/dist/esm/hooks/use-debounced-value.d.ts +2 -0
  70. package/dist/esm/hooks/use-debounced-value.d.ts.map +1 -0
  71. package/dist/esm/hooks/use-debounced-value.js +13 -0
  72. package/dist/esm/i18n/index.d.ts +2 -4
  73. package/dist/esm/i18n/index.d.ts.map +1 -1
  74. package/dist/esm/i18n/index.js +5 -5
  75. package/dist/esm/i18n/translations/en.d.ts +33 -3
  76. package/dist/esm/i18n/translations/en.d.ts.map +1 -1
  77. package/dist/esm/i18n/translations/en.js +33 -3
  78. package/dist/esm/i18n/translations/tr.d.ts +33 -3
  79. package/dist/esm/i18n/translations/tr.d.ts.map +1 -1
  80. package/dist/esm/i18n/translations/tr.js +33 -3
  81. package/dist/esm/index.d.ts +3 -14
  82. package/dist/esm/index.d.ts.map +1 -1
  83. package/dist/esm/index.js +3 -30
  84. package/dist/esm/styles.css +182 -0
  85. package/dist/esm/types.d.ts +11 -0
  86. package/dist/esm/types.d.ts.map +1 -0
  87. package/dist/esm/types.js +1 -0
  88. package/dist/esm/utils/schema.d.ts +9 -0
  89. package/dist/esm/utils/schema.d.ts.map +1 -0
  90. package/dist/esm/utils/schema.js +52 -0
  91. package/dist/esm/utils/values.d.ts +5 -0
  92. package/dist/esm/utils/values.d.ts.map +1 -0
  93. package/dist/esm/utils/values.js +39 -0
  94. package/package.json +40 -33
  95. package/dist/cjs/components/AppliedFilters/AppliedFilterItem.d.ts +0 -12
  96. package/dist/cjs/components/AppliedFilters/AppliedFilterItem.d.ts.map +0 -1
  97. package/dist/cjs/components/AppliedFilters/AppliedFilterItem.js +0 -62
  98. package/dist/cjs/components/AppliedFilters/common.d.ts +0 -6
  99. package/dist/cjs/components/AppliedFilters/common.d.ts.map +0 -1
  100. package/dist/cjs/components/AppliedFilters/common.js +0 -33
  101. package/dist/cjs/components/AppliedFilters/index.d.ts +0 -4
  102. package/dist/cjs/components/AppliedFilters/index.d.ts.map +0 -1
  103. package/dist/cjs/components/AppliedFilters/index.js +0 -26
  104. package/dist/cjs/components/AppliedFilters/styles.css +0 -65
  105. package/dist/cjs/components/ConditionalFilters/index.d.ts +0 -3
  106. package/dist/cjs/components/ConditionalFilters/index.d.ts.map +0 -1
  107. package/dist/cjs/components/ConditionalFilters/index.js +0 -32
  108. package/dist/cjs/components/FilterContext/index.d.ts +0 -45
  109. package/dist/cjs/components/FilterContext/index.d.ts.map +0 -1
  110. package/dist/cjs/components/FilterContext/index.js +0 -85
  111. package/dist/cjs/components/SelectShownFilters/index.d.ts +0 -7
  112. package/dist/cjs/components/SelectShownFilters/index.d.ts.map +0 -1
  113. package/dist/cjs/components/SelectShownFilters/index.js +0 -111
  114. package/dist/cjs/components/SelectShownFilters/styles.css +0 -99
  115. package/dist/cjs/components/ShownFilters/index.d.ts +0 -3
  116. package/dist/cjs/components/ShownFilters/index.d.ts.map +0 -1
  117. package/dist/cjs/components/ShownFilters/index.js +0 -45
  118. package/dist/cjs/components/index.d.ts +0 -6
  119. package/dist/cjs/components/index.d.ts.map +0 -1
  120. package/dist/cjs/components/index.js +0 -21
  121. package/dist/cjs/constants/index.d.ts +0 -56
  122. package/dist/cjs/constants/index.d.ts.map +0 -1
  123. package/dist/cjs/constants/index.js +0 -58
  124. package/dist/cjs/index.css +0 -67
  125. package/dist/cjs/utils/index.d.ts +0 -25
  126. package/dist/cjs/utils/index.d.ts.map +0 -1
  127. package/dist/cjs/utils/index.js +0 -40
  128. package/dist/esm/components/AppliedFilters/AppliedFilterItem.d.ts +0 -12
  129. package/dist/esm/components/AppliedFilters/AppliedFilterItem.d.ts.map +0 -1
  130. package/dist/esm/components/AppliedFilters/AppliedFilterItem.js +0 -58
  131. package/dist/esm/components/AppliedFilters/common.d.ts +0 -6
  132. package/dist/esm/components/AppliedFilters/common.d.ts.map +0 -1
  133. package/dist/esm/components/AppliedFilters/common.js +0 -28
  134. package/dist/esm/components/AppliedFilters/index.d.ts +0 -4
  135. package/dist/esm/components/AppliedFilters/index.d.ts.map +0 -1
  136. package/dist/esm/components/AppliedFilters/index.js +0 -22
  137. package/dist/esm/components/AppliedFilters/styles.css +0 -65
  138. package/dist/esm/components/ConditionalFilters/index.d.ts +0 -3
  139. package/dist/esm/components/ConditionalFilters/index.d.ts.map +0 -1
  140. package/dist/esm/components/ConditionalFilters/index.js +0 -28
  141. package/dist/esm/components/FilterContext/index.d.ts +0 -45
  142. package/dist/esm/components/FilterContext/index.d.ts.map +0 -1
  143. package/dist/esm/components/FilterContext/index.js +0 -80
  144. package/dist/esm/components/SelectShownFilters/index.d.ts +0 -7
  145. package/dist/esm/components/SelectShownFilters/index.d.ts.map +0 -1
  146. package/dist/esm/components/SelectShownFilters/index.js +0 -107
  147. package/dist/esm/components/SelectShownFilters/styles.css +0 -99
  148. package/dist/esm/components/ShownFilters/index.d.ts +0 -3
  149. package/dist/esm/components/ShownFilters/index.d.ts.map +0 -1
  150. package/dist/esm/components/ShownFilters/index.js +0 -41
  151. package/dist/esm/components/index.d.ts +0 -6
  152. package/dist/esm/components/index.d.ts.map +0 -1
  153. package/dist/esm/components/index.js +0 -5
  154. package/dist/esm/constants/index.d.ts +0 -56
  155. package/dist/esm/constants/index.d.ts.map +0 -1
  156. package/dist/esm/constants/index.js +0 -55
  157. package/dist/esm/index.css +0 -67
  158. package/dist/esm/utils/index.d.ts +0 -25
  159. package/dist/esm/utils/index.d.ts.map +0 -1
  160. package/dist/esm/utils/index.js +0 -35
@@ -1,99 +0,0 @@
1
- .filter-options .filter-options__item {
2
- display: flex;
3
- align-items: center;
4
- justify-content: center;
5
- height: 36px;
6
- width: 36px;
7
- background-color: #4482ff;
8
- color: var(--color-neutral-50);
9
- border-radius: 5px;
10
- cursor: pointer;
11
- }
12
-
13
- .filter-options .filter-options__filter-modal-open-icon {
14
- color: white;
15
- font-size: 23px;
16
- }
17
-
18
- .filter-options .filter-options__modal-header {
19
- position: relative;
20
- display: flex;
21
- align-items: center;
22
- }
23
-
24
- .filter-options .filter-options__modal-header-banner {
25
- position: absolute;
26
- left: 0;
27
- width: 4px;
28
- height: 16px;
29
- background-color: #ff5163;
30
- left: -22px;
31
- }
32
-
33
- .filter-options .filter-options__modal-header-title {
34
- font-size: 20px;
35
- color: white;
36
- font-weight: 500;
37
- margin: 0;
38
- }
39
-
40
- .filter-options .filter-options__modal-divider.akinon-divider-horizontal {
41
- background-color: #363d51;
42
- width: calc(100% + 44px);
43
- margin: 15px;
44
- margin-left: -22px;
45
- }
46
-
47
- .filter-options .filter-options__modal-control {
48
- display: flex;
49
- justify-content: space-between;
50
- align-items: center;
51
- margin-bottom: 15px;
52
- }
53
-
54
- .filter-options .filter-options__modal-search {
55
- width: 250px;
56
- }
57
-
58
- .filter-options .filter-options__modal-form.akinon-form {
59
- margin: 32px 44px 0;
60
- }
61
-
62
- .filter-options .filter-options__export-item {
63
- display: flex;
64
- flex-direction: column;
65
- justify-content: center;
66
- align-items: center;
67
- }
68
-
69
- .filter-options .filter-options__export-icon {
70
- color: white;
71
- }
72
-
73
- .filter-options .filter-options__export-label.akinon-typography {
74
- text-transform: uppercase;
75
- color: white;
76
- font-size: 11px;
77
- font-weight: bold;
78
- line-height: 14px;
79
- }
80
-
81
- .filter-options__modal.akinon-modal .akinon-checkbox-wrapper {
82
- color: white;
83
- }
84
-
85
- .filter-options__modal.akinon-modal
86
- .akinon-checkbox-checked
87
- .akinon-checkbox-inner {
88
- background-color: #6c7ebe;
89
- border-color: #6c7ebe;
90
-
91
- &:hover {
92
- border-color: #6c7ebe;
93
- }
94
- }
95
-
96
- .filter-options__modal-form .akinon-form {
97
- display: grid;
98
- grid-template-columns: 1fr 1fr 1fr 1fr;
99
- }
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- export declare const ShownFilters: () => React.JSX.Element;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ShownFilters/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,YAAY,yBAkExB,CAAC"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ShownFilters = void 0;
4
- const akiform_builder_1 = require("@akinon/akiform-builder");
5
- const ui_typography_1 = require("@akinon/ui-typography");
6
- const react_1 = require("react");
7
- const FilterContext_1 = require("../FilterContext");
8
- const ShownFilters = () => {
9
- const { state, dispatch } = (0, FilterContext_1.useFilterContext)();
10
- const { applicableFilters, shownFilters, appliedFilters, recreateShownFiltersCount } = state;
11
- // derive form items from applicableFilters and shownFilters
12
- const shownApplicableFilters = applicableFilters.filter(filter => shownFilters.includes(filter.key));
13
- // create form items from shownApplicableFilters and appliedFilters.
14
- // the shownApplicableFilters determines the schema of the form items and
15
- // appliedFilters determines the values of the form items
16
- const formItems = shownApplicableFilters.map(filter => {
17
- return Object.assign(Object.assign({}, filter), { value: appliedFilters[filter.key], props: Object.assign(Object.assign({}, ((filter === null || filter === void 0 ? void 0 : filter.props) || {})), { labelRightAligned: true }) });
18
- });
19
- // remove the label from the form items since label is not used in design
20
- formItems.forEach(item => {
21
- if (item.type === 'checkbox')
22
- return;
23
- delete item.label;
24
- });
25
- const handleChange = (changedValues) => {
26
- Object.keys(changedValues).forEach(key => {
27
- const value = changedValues[key];
28
- if (value &&
29
- typeof value.isValid === 'function' &&
30
- typeof value.format === 'function') {
31
- changedValues[key] = value.format('YYYY-MM-DD');
32
- }
33
- });
34
- dispatch({
35
- type: 'SET_APPLIED_FILTERS',
36
- payload: {
37
- appliedFilters: changedValues
38
- }
39
- });
40
- };
41
- return (react_1.default.createElement("div", { className: "shown-filters", "data-testid": "shown-filters" },
42
- react_1.default.createElement(ui_typography_1.Paragraph, { className: "akinon-filter__header" }, "MAIN FILTERS"),
43
- react_1.default.createElement(akiform_builder_1.FormBuilderWatch, { key: recreateShownFiltersCount, builderFields: formItems, handleChange: handleChange, isDebounced: true })));
44
- };
45
- exports.ShownFilters = ShownFilters;
@@ -1,6 +0,0 @@
1
- export * from './AppliedFilters';
2
- export * from './ConditionalFilters';
3
- export * from './FilterContext';
4
- export * from './SelectShownFilters';
5
- export * from './ShownFilters';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
@@ -1,21 +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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./AppliedFilters"), exports);
18
- __exportStar(require("./ConditionalFilters"), exports);
19
- __exportStar(require("./FilterContext"), exports);
20
- __exportStar(require("./SelectShownFilters"), exports);
21
- __exportStar(require("./ShownFilters"), exports);
@@ -1,56 +0,0 @@
1
- export declare const defaultDateFormat = "DD/MM/YYYY";
2
- export declare const defaultDateValueFormat = "YYYY-MM-DD";
3
- export declare const defaultTimeFormat = "HH:mm";
4
- export declare const defaultTimeFormatWithSeconds = "HH:mm:ss";
5
- export declare const defaultTimeFormatWithTimeZone = "HH:mm:ssZZ";
6
- export declare const timeFormatWithTimeZone = "HH:mmZ";
7
- export declare const timeFormatWithDateAndTime = "LLL";
8
- export declare const dateWithMonthName = "DD MMMM";
9
- export declare const dateWithMonthNameAndYear = "DD MMMM YYYY";
10
- export declare const overallDateFormat = "DD-MM-YYYY HH:mm:ss";
11
- export declare const dateTimeLocalSecondsFormat = "YYYY-MM-DDTHH:mm:ss.SSS";
12
- export declare const fullDateTimeWithZoneFormat = "YYYY-MM-DDTHH:mm:ss.SSS\\Z";
13
- export declare const defaultDateTimeValueFormat = "YYYY-MM-DD HH:mm:ss";
14
- export declare const defaultDateTimeFormat = "DD/MM/YYYY HH:mm";
15
- export declare const defaultDateTimeFormatIntl: {
16
- year: string;
17
- month: string;
18
- day: string;
19
- hour: string;
20
- minute: string;
21
- hour12: boolean;
22
- };
23
- export declare const defaultDateTimeFormatWithTimeZone = "YYYY-MM-DD HH:mmZ";
24
- export declare const dateTimeFormat = "YYYY-MM-DD HH:mm";
25
- export declare const tokenHeaderKEY = "Bearer";
26
- export declare const tokenStorageKey = "tkn";
27
- export declare const googleMapApiKey = "AIzaSyB7GLs4svXGax91fiW-gH1wInjmde7cEHk";
28
- export declare const permissionSlugSuffix = "-v2";
29
- export declare const readResponseMessageKey = "readResponseMessages";
30
- export declare const platformLanguage = "platform_language";
31
- export declare const contextChannel = "contextChannel";
32
- export declare const allowedFileTypes = ".xls, .csv";
33
- export declare const allowedFileTypesAndXlsx: string;
34
- export declare const allowedImageTypes = ".png,.jpeg,.jpg,.bmp";
35
- export declare const allowedHtmlTypes = ".html";
36
- export declare const omsDashboardStorageKeyName = "oms_dashboardFilters";
37
- export declare const dateManipulationKeys: {
38
- END_OF: string;
39
- SUBTRACT: string;
40
- ADD: string;
41
- };
42
- export declare const sampleDate = "2022-01-01";
43
- export declare const defaultRowKey = "id";
44
- export declare const Breakpoint: {
45
- MOBILE: string;
46
- TABLET: string;
47
- DESKTOP: string;
48
- LARGE_DESKTOP: string;
49
- };
50
- export declare const defaultBreakpoints: {
51
- MOBILE: number;
52
- TABLET: number;
53
- DESKTOP: number;
54
- LARGE_DESKTOP: number;
55
- };
56
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAC9C,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,eAAO,MAAM,4BAA4B,aAAa,CAAC;AACvD,eAAO,MAAM,6BAA6B,eAAe,CAAC;AAC1D,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AACpE,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE,eAAO,MAAM,0BAA0B,wBAA8D,CAAC;AACtG,eAAO,MAAM,qBAAqB,qBAA8C,CAAC;AACjF,eAAO,MAAM,yBAAyB;;;;;;;CAOrC,CAAC;AAEF,eAAO,MAAM,iCAAiC,sBAAwD,CAAC;AACvG,eAAO,MAAM,cAAc,qBAAmD,CAAC;AAE/E,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC,eAAO,MAAM,eAAe,4CAA4C,CAAC;AAEzE,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAE7D,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C,eAAO,MAAM,uBAAuB,QAA+B,CAAC;AAEpE,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC;AAEF,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,eAAO,MAAM,UAAU;;;;;CAKtB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC"}
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultBreakpoints = exports.Breakpoint = exports.defaultRowKey = exports.sampleDate = exports.dateManipulationKeys = exports.omsDashboardStorageKeyName = exports.allowedHtmlTypes = exports.allowedImageTypes = exports.allowedFileTypesAndXlsx = exports.allowedFileTypes = exports.contextChannel = exports.platformLanguage = exports.readResponseMessageKey = exports.permissionSlugSuffix = exports.googleMapApiKey = exports.tokenStorageKey = exports.tokenHeaderKEY = exports.dateTimeFormat = exports.defaultDateTimeFormatWithTimeZone = exports.defaultDateTimeFormatIntl = exports.defaultDateTimeFormat = exports.defaultDateTimeValueFormat = exports.fullDateTimeWithZoneFormat = exports.dateTimeLocalSecondsFormat = exports.overallDateFormat = exports.dateWithMonthNameAndYear = exports.dateWithMonthName = exports.timeFormatWithDateAndTime = exports.timeFormatWithTimeZone = exports.defaultTimeFormatWithTimeZone = exports.defaultTimeFormatWithSeconds = exports.defaultTimeFormat = exports.defaultDateValueFormat = exports.defaultDateFormat = void 0;
4
- exports.defaultDateFormat = 'DD/MM/YYYY';
5
- exports.defaultDateValueFormat = 'YYYY-MM-DD';
6
- exports.defaultTimeFormat = 'HH:mm';
7
- exports.defaultTimeFormatWithSeconds = 'HH:mm:ss';
8
- exports.defaultTimeFormatWithTimeZone = 'HH:mm:ssZZ';
9
- exports.timeFormatWithTimeZone = 'HH:mmZ';
10
- exports.timeFormatWithDateAndTime = 'LLL';
11
- exports.dateWithMonthName = 'DD MMMM';
12
- exports.dateWithMonthNameAndYear = 'DD MMMM YYYY';
13
- exports.overallDateFormat = 'DD-MM-YYYY HH:mm:ss';
14
- exports.dateTimeLocalSecondsFormat = 'YYYY-MM-DDTHH:mm:ss.SSS';
15
- exports.fullDateTimeWithZoneFormat = 'YYYY-MM-DDTHH:mm:ss.SSS\\Z';
16
- exports.defaultDateTimeValueFormat = `${exports.defaultDateValueFormat} ${exports.defaultTimeFormatWithSeconds}`;
17
- exports.defaultDateTimeFormat = `${exports.defaultDateFormat} ${exports.defaultTimeFormat}`;
18
- exports.defaultDateTimeFormatIntl = {
19
- year: 'numeric',
20
- month: 'numeric',
21
- day: 'numeric',
22
- hour: 'numeric',
23
- minute: 'numeric',
24
- hour12: false
25
- };
26
- exports.defaultDateTimeFormatWithTimeZone = `${exports.defaultDateValueFormat} ${exports.timeFormatWithTimeZone}`;
27
- exports.dateTimeFormat = `${exports.defaultDateValueFormat} ${exports.defaultTimeFormat}`;
28
- exports.tokenHeaderKEY = 'Bearer';
29
- exports.tokenStorageKey = 'tkn';
30
- exports.googleMapApiKey = 'AIzaSyB7GLs4svXGax91fiW-gH1wInjmde7cEHk';
31
- exports.permissionSlugSuffix = '-v2';
32
- exports.readResponseMessageKey = 'readResponseMessages';
33
- exports.platformLanguage = 'platform_language';
34
- exports.contextChannel = 'contextChannel';
35
- exports.allowedFileTypes = '.xls, .csv';
36
- exports.allowedFileTypesAndXlsx = exports.allowedFileTypes + ', .xlsx';
37
- exports.allowedImageTypes = '.png,.jpeg,.jpg,.bmp';
38
- exports.allowedHtmlTypes = '.html';
39
- exports.omsDashboardStorageKeyName = 'oms_dashboardFilters';
40
- exports.dateManipulationKeys = {
41
- END_OF: 'endOf',
42
- SUBTRACT: 'subtract',
43
- ADD: 'add'
44
- };
45
- exports.sampleDate = '2022-01-01';
46
- exports.defaultRowKey = 'id';
47
- exports.Breakpoint = {
48
- MOBILE: 'MOBILE',
49
- TABLET: 'TABLET',
50
- DESKTOP: 'DESKTOP',
51
- LARGE_DESKTOP: 'LARGE_DESKTOP'
52
- };
53
- exports.defaultBreakpoints = {
54
- MOBILE: 576,
55
- TABLET: 768,
56
- DESKTOP: 992,
57
- LARGE_DESKTOP: 1200
58
- };
@@ -1,67 +0,0 @@
1
- .akinon-filter {
2
- background-color: var(--color-ebonyClay-400);
3
- padding: 1.25rem 1.5rem 1.5rem;
4
- border-radius: 10px;
5
- }
6
-
7
- .akinon-filter .akinon-filter__title {
8
- margin: 0;
9
- font-weight: 500 !important;
10
- }
11
-
12
- .akinon-filter .akinon-filter__top {
13
- display: flex;
14
- justify-content: space-between;
15
- align-items: center;
16
- margin-bottom: 1rem;
17
- }
18
-
19
- .akinon-filter .akinon-filter__header {
20
- color: var(--color-gray-500);
21
- margin: 1.25rem 0 0.5rem !important;
22
- }
23
-
24
- /* Overriding this here is questionable? */
25
- .akinon-filter .akinon-form {
26
- display: grid;
27
- grid-template-columns: 1fr 1fr 1fr 1fr;
28
- gap: 0.5rem 0.75rem;
29
- }
30
-
31
- .akinon-filter .akinon-checkbox-wrapper {
32
- box-sizing: border-box;
33
- margin: 0;
34
- padding: 3px 10px;
35
- font-size: 14px;
36
- list-style: none;
37
- position: relative;
38
- width: 100%;
39
- min-width: 0;
40
- background-color: #2b344c;
41
- background-image: none;
42
- border-width: 2px;
43
- border-style: solid;
44
- border-color: #262e47;
45
- border-radius: 6px;
46
- span {
47
- color: var(--color-gray-500) !important;
48
- }
49
- }
50
-
51
- .akinon-filter .akinon-picker {
52
- background-color: var(--color-ebonyClay-475);
53
- }
54
-
55
- .akinon-filter .akinon-picker,
56
- .akinon-filter .akinon-input-number,
57
- [class^='antd-item'] {
58
- width: 100%;
59
- }
60
-
61
- .akinon-filter .akinon-form-item-control-input-content > * {
62
- align-items: center;
63
- }
64
-
65
- .akinon-filter .shown-filters * {
66
- font-weight: 700 !important;
67
- }
@@ -1,25 +0,0 @@
1
- interface TreeNode {
2
- value: any;
3
- children?: TreeNode[];
4
- }
5
- interface Params {
6
- tree: TreeNode[];
7
- nodeValue: any;
8
- }
9
- export declare function getTreeNodeByValue({ tree, nodeValue }: Params): TreeNode | null;
10
- /**
11
- * To understand this fragmentation, you need to know that the path is built as follows:
12
- *
13
- * `appPath = /{appLanguage}/{apiLanguage}/{rootPath}/{subPath}`
14
- *
15
- * `mainPath = rootPath + subPath`
16
- */
17
- export declare const getPathFragments: (path: any) => {
18
- appLanguage: any;
19
- apiLanguage: any;
20
- rootPath: string;
21
- subPath: string;
22
- mainPath: string;
23
- };
24
- export {};
25
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"AAEA,UAAU,QAAQ;IAChB,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,UAAU,MAAM;IACd,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAS,EACV,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAiB1B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,SAAU,GAAG;;;;;;CAUzC,CAAC"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPathFragments = exports.getTreeNodeByValue = void 0;
4
- const lodash_1 = require("lodash");
5
- function getTreeNodeByValue({ tree, nodeValue }) {
6
- if ((0, lodash_1.isEmpty)(tree) || (0, lodash_1.isEmpty)(nodeValue)) {
7
- return null;
8
- }
9
- for (const node of tree) {
10
- if (node.value === nodeValue) {
11
- return node;
12
- }
13
- if (node.children) {
14
- const childNode = getTreeNodeByValue({ tree: node.children, nodeValue });
15
- if (childNode) {
16
- return childNode;
17
- }
18
- }
19
- }
20
- return null;
21
- }
22
- exports.getTreeNodeByValue = getTreeNodeByValue;
23
- /**
24
- * To understand this fragmentation, you need to know that the path is built as follows:
25
- *
26
- * `appPath = /{appLanguage}/{apiLanguage}/{rootPath}/{subPath}`
27
- *
28
- * `mainPath = rootPath + subPath`
29
- */
30
- const getPathFragments = (path) => {
31
- const pathSlices = path.split('/');
32
- return {
33
- appLanguage: pathSlices[1],
34
- apiLanguage: pathSlices[2],
35
- rootPath: `/${pathSlices[3]}`,
36
- subPath: `/${pathSlices.slice(4).join('/')}`,
37
- mainPath: `/${pathSlices.slice(3).join('/')}`
38
- };
39
- };
40
- exports.getPathFragments = getPathFragments;
@@ -1,12 +0,0 @@
1
- import './styles.css';
2
- import React from 'react';
3
- import type { FilterState } from '../FilterContext';
4
- type AppliedFilterItemProps = {
5
- filterKeyValue: [
6
- string,
7
- (FilterState['appliedFilters'][string] | FilterState['appliedFilters'][string][])
8
- ];
9
- };
10
- export declare const AppliedFilterItem: ({ filterKeyValue }: AppliedFilterItemProps) => React.JSX.Element | null;
11
- export {};
12
- //# sourceMappingURL=AppliedFilterItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppliedFilterItem.d.ts","sourceRoot":"","sources":["../../../../src/components/AppliedFilters/AppliedFilterItem.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAKtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMpD,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE;QACd,MAAM;QACN,CACI,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GACrC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,CAC1C;KACF,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iBAAiB,uBAE3B,sBAAsB,6BAuGxB,CAAC"}
@@ -1,58 +0,0 @@
1
- import './styles.css';
2
- import { Icon } from '@akinon/icons';
3
- import { Space } from '@akinon/ui-space';
4
- import { Text } from '@akinon/ui-typography';
5
- import React from 'react';
6
- import dayjs from 'dayjs';
7
- import { useFilterContext } from '../FilterContext';
8
- import { isArray, isBoolean } from 'lodash';
9
- export const AppliedFilterItem = ({ filterKeyValue }) => {
10
- const [filterKey, filterValue] = filterKeyValue;
11
- const { state: { applicableFilters, appliedFilters }, dispatch, conditionalFiltersSchema } = useFilterContext();
12
- // find filterItem for placeholder, etc from filterKey
13
- const filterItem = [
14
- ...applicableFilters,
15
- ...(conditionalFiltersSchema || [])
16
- ].find(i => i.key === filterKey);
17
- if (!filterItem) {
18
- console.warn(`filterItem with key ${filterKey} not found`);
19
- return null;
20
- }
21
- // TODO getModifiedFilterValue doesn't need filterValue. It can obtain it from filterItem
22
- // TODO explain why you need to modify the filter value
23
- // const modifiedFilterValue = getModifiedFilterValue({
24
- // filterItem,
25
- // filterValue
26
- // });
27
- // const shouldShowActiveFilter =
28
- // !isEmpty(filterItem) && !isEmpty(modifiedFilterValue);
29
- const handleRemoveFilter = (removedFilterKey) => {
30
- // TODO write test for below comment
31
- // you should mark the key as undefined instead of deleting it for antd form item to pick up the change
32
- const newFilters = Object.assign(Object.assign({}, appliedFilters), { [removedFilterKey]: undefined });
33
- dispatch({
34
- type: 'SET_APPLIED_FILTERS',
35
- payload: { appliedFilters: newFilters }
36
- });
37
- };
38
- const inputField = filterItem;
39
- const renderFilterValue = (value) => {
40
- if (value instanceof Date) {
41
- return dayjs(value).format('YYYY-MM-DD');
42
- }
43
- if (isBoolean(value)) {
44
- return value.toString();
45
- }
46
- if (isArray(value)) {
47
- return value.join(', ');
48
- }
49
- return String(value);
50
- };
51
- return (React.createElement(React.Fragment, null,
52
- React.createElement(Space, { key: filterKey, align: "center", className: "active-filter-item" },
53
- React.createElement(Text, { className: "active-filter-item__label" }, inputField === null || inputField === void 0 ? void 0 :
54
- inputField.placeholder,
55
- ":"),
56
- React.createElement(Text, { className: "active-filter-item__value" }, renderFilterValue(filterValue)),
57
- React.createElement(Icon, { icon: "close", size: 20, className: "active-filter-item__remove-filter-icon", onClick: () => handleRemoveFilter(filterKey) }))));
58
- };
@@ -1,6 +0,0 @@
1
- export declare const isFileObject: (value: any) => boolean;
2
- export declare const getModifiedFilterValue: ({ filterItem, filterValue }: {
3
- filterItem: any;
4
- filterValue: any['value'];
5
- }) => any;
6
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/components/AppliedFilters/common.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,UAAW,GAAG,YAAuC,CAAC;AAE/E,eAAO,MAAM,sBAAsB,gCAGhC;IACD,UAAU,EAAE,GAAG,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;CAC3B,QA8BA,CAAC"}
@@ -1,28 +0,0 @@
1
- import { TreeSelect } from '@akinon/ui-tree-select';
2
- import { overallDateFormat } from '../../constants';
3
- import { getTreeNodeByValue } from '../../utils';
4
- export const isFileObject = (value) => (value === null || value === void 0 ? void 0 : value.originFileObj) !== undefined;
5
- export const getModifiedFilterValue = ({ filterItem, filterValue }) => {
6
- var _a, _b, _c;
7
- switch (filterItem === null || filterItem === void 0 ? void 0 : filterItem.widget) {
8
- case 'select':
9
- if (((_a = filterItem === null || filterItem === void 0 ? void 0 : filterItem.widgetProps) === null || _a === void 0 ? void 0 : _a.mode) === 'multiple') {
10
- return filterValue === null || filterValue === void 0 ? void 0 : filterValue.map((value) => {
11
- const optionObject = filterItem.options.find((option) => option.value === value);
12
- return (optionObject === null || optionObject === void 0 ? void 0 : optionObject.label) || value;
13
- }).join(', ');
14
- }
15
- const optionObject = filterItem.options.find((option) => option.value === filterValue);
16
- return (optionObject === null || optionObject === void 0 ? void 0 : optionObject.label) || filterValue;
17
- case 'date-picker':
18
- return filterValue === null || filterValue === void 0 ? void 0 : filterValue.format(overallDateFormat);
19
- case 'checkbox-group':
20
- return filterValue === null || filterValue === void 0 ? void 0 : filterValue.map(() => 'Yes').join(', ');
21
- case TreeSelect:
22
- const tree = (_b = filterItem === null || filterItem === void 0 ? void 0 : filterItem.widgetProps) === null || _b === void 0 ? void 0 : _b.treeData;
23
- const label = (_c = getTreeNodeByValue({ tree, nodeValue: filterValue })) === null || _c === void 0 ? void 0 : _c.value;
24
- return label || filterValue;
25
- default:
26
- return filterValue;
27
- }
28
- };
@@ -1,4 +0,0 @@
1
- import './styles.css';
2
- import React from 'react';
3
- export declare const AppliedFilters: () => React.JSX.Element;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/AppliedFilters/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAMtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,cAAc,yBAyC1B,CAAC"}
@@ -1,22 +0,0 @@
1
- import './styles.css';
2
- import { Icon } from '@akinon/icons';
3
- import { Col, Row } from '@akinon/ui-layout';
4
- import { Space } from '@akinon/ui-space';
5
- import { Text } from '@akinon/ui-typography';
6
- import React from 'react';
7
- import { useFilterContext } from '../FilterContext';
8
- import { AppliedFilterItem } from './AppliedFilterItem';
9
- export const AppliedFilters = () => {
10
- var _a;
11
- const { state: { appliedFilters }, dispatch } = useFilterContext();
12
- const handleOnResetFilters = () => {
13
- dispatch({ type: 'SET_APPLIED_FILTERS', payload: { appliedFilters: {} } });
14
- };
15
- return (React.createElement(Row, { align: "middle", className: "applied_filters" },
16
- React.createElement(Col, { className: "applied_filters__list" },
17
- React.createElement(Space, null,
18
- React.createElement(Text, { className: "applied_filters__label" }, "Active filters:"),
19
- React.createElement(Space, { className: "applied_filters__items", "data-testid": "appliedFilters" }, (_a = Object.entries(appliedFilters)) === null || _a === void 0 ? void 0 : _a.map(([filterKey, filterValue], i) => filterValue !== undefined && (React.createElement(AppliedFilterItem, { filterKeyValue: [filterKey, filterValue], key: i })))))),
20
- React.createElement(Col, { className: "applied_filters__clear-filters" },
21
- React.createElement(Icon, { icon: "bin", size: 35, className: "applied_filters__reset-filters-icon", onClick: handleOnResetFilters }))));
22
- };
@@ -1,65 +0,0 @@
1
- .akinon-filter .applied_filters {
2
- padding: 5px 6px;
3
- background-color: #2b344c;
4
- border-radius: 5px;
5
- }
6
-
7
- .applied_filters .applied_filters__list {
8
- flex: 1;
9
- background-color: #1e1e2d;
10
- padding: 6px 16px;
11
- border-radius: 3px;
12
- }
13
-
14
- .applied_filters .applied_filters__label.akinon-typography {
15
- color: white;
16
- font-size: 14px;
17
- font-weight: 600;
18
- }
19
-
20
- .applied_filters .applied_filters__reset-filters-icon {
21
- cursor: pointer;
22
- color: white;
23
- font-size: 20px;
24
- padding: 6px;
25
- margin: 6px;
26
- }
27
-
28
- .applied_filters .applied_filters__items {
29
- flex-wrap: wrap;
30
- }
31
-
32
- .akinon-filter .active-filter-item {
33
- font-size: 14px;
34
- background-color: white;
35
- padding: 1px 4px;
36
- border-radius: 3px;
37
- line-height: 1rem;
38
- }
39
-
40
- .active-filter-item .akinon-space-item {
41
- display: flex;
42
- justify-content: center;
43
- }
44
-
45
- .active-filter-item .active-filter-item__label.akinon-typography,
46
- .active-filter-item .active-filter-item__value.akinon-typography {
47
- color: #4a4a4a;
48
- }
49
-
50
- .active-filter-item .active-filter-item__label.akinon-typography {
51
- font-weight: 600;
52
- }
53
-
54
- .active-filter-item .active-filter-item__value.akinon-typography {
55
- font-weight: 500;
56
- }
57
-
58
- .active-filter-item .active-filter-item__remove-filter-icon {
59
- cursor: pointer;
60
- background-color: #4482ff;
61
- color: white;
62
- font-size: 5px;
63
- padding: 5px;
64
- border-radius: 99px;
65
- }