@elliemae/ds-query-builder 3.16.0 → 3.16.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 (140) hide show
  1. package/dist/cjs/DSQueryBuilder.js +9 -5
  2. package/dist/cjs/DSQueryBuilder.js.map +2 -2
  3. package/dist/cjs/components/AndOrController/AndOrController.js +7 -3
  4. package/dist/cjs/components/AndOrController/AndOrController.js.map +2 -2
  5. package/dist/cjs/components/ConditionController/ConditionController.js +6 -2
  6. package/dist/cjs/components/ConditionController/ConditionController.js.map +2 -2
  7. package/dist/cjs/components/DisplayOutput/DisplayOutput.js +5 -1
  8. package/dist/cjs/components/DisplayOutput/DisplayOutput.js.map +2 -2
  9. package/dist/cjs/components/DragContainerController/DragContainerController.js +4 -0
  10. package/dist/cjs/components/DragContainerController/DragContainerController.js.map +1 -1
  11. package/dist/cjs/components/DragControllerRow/DragControllerRow.js +4 -0
  12. package/dist/cjs/components/DragControllerRow/DragControllerRow.js.map +1 -1
  13. package/dist/cjs/components/FieldControllerRow/FieldControllerRow.js +4 -0
  14. package/dist/cjs/components/FieldControllerRow/FieldControllerRow.js.map +1 -1
  15. package/dist/cjs/components/Nestable/Nestable.js +6 -2
  16. package/dist/cjs/components/Nestable/Nestable.js.map +2 -2
  17. package/dist/cjs/components/Nestable/NestableItem.js +10 -22
  18. package/dist/cjs/components/Nestable/NestableItem.js.map +2 -2
  19. package/dist/cjs/components/Nestable/actions/events.js +4 -0
  20. package/dist/cjs/components/Nestable/actions/events.js.map +1 -1
  21. package/dist/cjs/components/Nestable/actions/getItemOptions.js +4 -0
  22. package/dist/cjs/components/Nestable/actions/getItemOptions.js.map +1 -1
  23. package/dist/cjs/components/Nestable/actions/getPaths.js +4 -0
  24. package/dist/cjs/components/Nestable/actions/getPaths.js.map +2 -2
  25. package/dist/cjs/components/Nestable/actions/index.js +10 -6
  26. package/dist/cjs/components/Nestable/actions/index.js.map +2 -2
  27. package/dist/cjs/components/Nestable/actions/moveItem.js +4 -0
  28. package/dist/cjs/components/Nestable/actions/moveItem.js.map +1 -1
  29. package/dist/cjs/components/Nestable/actions/paths.js +4 -0
  30. package/dist/cjs/components/Nestable/actions/paths.js.map +2 -2
  31. package/dist/cjs/components/Nestable/actions/tryDecreaseDepth.js +4 -0
  32. package/dist/cjs/components/Nestable/actions/tryDecreaseDepth.js.map +1 -1
  33. package/dist/cjs/components/Nestable/actions/tryIncreaseDepth.js +5 -3
  34. package/dist/cjs/components/Nestable/actions/tryIncreaseDepth.js.map +2 -2
  35. package/dist/cjs/components/Nestable/index.js +5 -1
  36. package/dist/cjs/components/Nestable/index.js.map +2 -2
  37. package/dist/cjs/components/QueryBuilderContext/QueryBuilderContext.js +4 -0
  38. package/dist/cjs/components/QueryBuilderContext/QueryBuilderContext.js.map +1 -1
  39. package/dist/cjs/components/QueryBuilderImpl.js +27 -7
  40. package/dist/cjs/components/QueryBuilderImpl.js.map +2 -2
  41. package/dist/cjs/components/QueryBuilderItem/QueryBuilderItem.js +8 -4
  42. package/dist/cjs/components/QueryBuilderItem/QueryBuilderItem.js.map +2 -2
  43. package/dist/cjs/components/QueryBuilderRow/QueryBuilderRow.js +7 -3
  44. package/dist/cjs/components/QueryBuilderRow/QueryBuilderRow.js.map +2 -2
  45. package/dist/cjs/components/ToolBarAnimation/ToolBarAnimation.js +4 -0
  46. package/dist/cjs/components/ToolBarAnimation/ToolBarAnimation.js.map +1 -1
  47. package/dist/cjs/components/format/format.js +7 -3
  48. package/dist/cjs/components/format/format.js.map +2 -2
  49. package/dist/cjs/components/format/sqlFormat.js +5 -1
  50. package/dist/cjs/components/format/sqlFormat.js.map +2 -2
  51. package/dist/cjs/components/format/sqlSafeFormat.js +9 -2
  52. package/dist/cjs/components/format/sqlSafeFormat.js.map +2 -2
  53. package/dist/cjs/components/format/xmlFormat.js +7 -9
  54. package/dist/cjs/components/format/xmlFormat.js.map +2 -2
  55. package/dist/cjs/components/helpers/actions.js +9 -9
  56. package/dist/cjs/components/helpers/actions.js.map +2 -2
  57. package/dist/cjs/components/helpers/adapter.js +7 -3
  58. package/dist/cjs/components/helpers/adapter.js.map +2 -2
  59. package/dist/cjs/components/helpers/constants.js +4 -0
  60. package/dist/cjs/components/helpers/constants.js.map +1 -1
  61. package/dist/cjs/components/helpers/dependencies.js +7 -11
  62. package/dist/cjs/components/helpers/dependencies.js.map +2 -2
  63. package/dist/cjs/components/helpers/selectors.js +5 -1
  64. package/dist/cjs/components/helpers/selectors.js.map +2 -2
  65. package/dist/cjs/components/helpers/store.js +14 -2
  66. package/dist/cjs/components/helpers/store.js.map +2 -2
  67. package/dist/cjs/components/helpers/types.js +4 -0
  68. package/dist/cjs/components/helpers/types.js.map +1 -1
  69. package/dist/cjs/index.js +7 -3
  70. package/dist/cjs/index.js.map +2 -2
  71. package/dist/cjs/package.json +7 -0
  72. package/dist/cjs/propTypes.js +26 -1
  73. package/dist/cjs/propTypes.js.map +2 -2
  74. package/dist/esm/DSQueryBuilder.js +5 -5
  75. package/dist/esm/DSQueryBuilder.js.map +1 -1
  76. package/dist/esm/components/AndOrController/AndOrController.js +3 -3
  77. package/dist/esm/components/AndOrController/AndOrController.js.map +2 -2
  78. package/dist/esm/components/ConditionController/ConditionController.js +2 -2
  79. package/dist/esm/components/ConditionController/ConditionController.js.map +2 -2
  80. package/dist/esm/components/DisplayOutput/DisplayOutput.js +1 -1
  81. package/dist/esm/components/DisplayOutput/DisplayOutput.js.map +1 -1
  82. package/dist/esm/components/DragControllerRow/DragControllerRow.js.map +1 -1
  83. package/dist/esm/components/Nestable/Nestable.js +2 -2
  84. package/dist/esm/components/Nestable/Nestable.js.map +1 -1
  85. package/dist/esm/components/Nestable/NestableItem.js +6 -22
  86. package/dist/esm/components/Nestable/NestableItem.js.map +2 -2
  87. package/dist/esm/components/Nestable/actions/events.js.map +1 -1
  88. package/dist/esm/components/Nestable/actions/getPaths.js.map +2 -2
  89. package/dist/esm/components/Nestable/actions/index.js +6 -6
  90. package/dist/esm/components/Nestable/actions/index.js.map +1 -1
  91. package/dist/esm/components/Nestable/actions/paths.js.map +2 -2
  92. package/dist/esm/components/Nestable/actions/tryDecreaseDepth.js.map +1 -1
  93. package/dist/esm/components/Nestable/actions/tryIncreaseDepth.js +1 -3
  94. package/dist/esm/components/Nestable/actions/tryIncreaseDepth.js.map +2 -2
  95. package/dist/esm/components/Nestable/index.js +1 -1
  96. package/dist/esm/components/Nestable/index.js.map +1 -1
  97. package/dist/esm/components/QueryBuilderImpl.js +23 -7
  98. package/dist/esm/components/QueryBuilderImpl.js.map +2 -2
  99. package/dist/esm/components/QueryBuilderItem/QueryBuilderItem.js +4 -4
  100. package/dist/esm/components/QueryBuilderItem/QueryBuilderItem.js.map +2 -2
  101. package/dist/esm/components/QueryBuilderRow/QueryBuilderRow.js +3 -3
  102. package/dist/esm/components/QueryBuilderRow/QueryBuilderRow.js.map +2 -2
  103. package/dist/esm/components/format/format.js +3 -3
  104. package/dist/esm/components/format/format.js.map +2 -2
  105. package/dist/esm/components/format/sqlFormat.js +1 -1
  106. package/dist/esm/components/format/sqlFormat.js.map +2 -2
  107. package/dist/esm/components/format/sqlSafeFormat.js +5 -2
  108. package/dist/esm/components/format/sqlSafeFormat.js.map +2 -2
  109. package/dist/esm/components/format/xmlFormat.js +3 -9
  110. package/dist/esm/components/format/xmlFormat.js.map +2 -2
  111. package/dist/esm/components/helpers/actions.js +5 -13
  112. package/dist/esm/components/helpers/actions.js.map +2 -2
  113. package/dist/esm/components/helpers/adapter.js +3 -3
  114. package/dist/esm/components/helpers/adapter.js.map +2 -2
  115. package/dist/esm/components/helpers/dependencies.js +3 -11
  116. package/dist/esm/components/helpers/dependencies.js.map +2 -2
  117. package/dist/esm/components/helpers/selectors.js +1 -1
  118. package/dist/esm/components/helpers/selectors.js.map +1 -1
  119. package/dist/esm/components/helpers/store.js +10 -2
  120. package/dist/esm/components/helpers/store.js.map +2 -2
  121. package/dist/esm/index.js +3 -3
  122. package/dist/esm/index.js.map +1 -1
  123. package/dist/esm/package.json +7 -0
  124. package/dist/esm/propTypes.js +22 -1
  125. package/dist/esm/propTypes.js.map +2 -2
  126. package/dist/types/DSQueryBuilder.d.ts +28 -27
  127. package/dist/types/components/ConditionController/ConditionController.d.ts +1 -0
  128. package/dist/types/components/DragContainerController/DragContainerController.d.ts +1 -0
  129. package/dist/types/components/DragControllerRow/DragControllerRow.d.ts +1 -0
  130. package/dist/types/components/FieldControllerRow/FieldControllerRow.d.ts +1 -0
  131. package/dist/types/components/Nestable/NestableItem.d.ts +2 -1
  132. package/dist/types/components/Nestable/actions/index.d.ts +6 -6
  133. package/dist/types/components/Nestable/index.d.ts +1 -1
  134. package/dist/types/components/QueryBuilderImpl.d.ts +8 -0
  135. package/dist/types/components/QueryBuilderItem/QueryBuilderItem.d.ts +1 -0
  136. package/dist/types/components/ToolBarAnimation/ToolBarAnimation.d.ts +1 -0
  137. package/dist/types/components/helpers/store.d.ts +0 -11
  138. package/dist/types/index.d.ts +3 -3
  139. package/dist/types/propTypes.d.ts +23 -23
  140. package/package.json +15 -15
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/helpers/store.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport {\n createNewFilter,\n createNewGroup,\n addFilterToMap,\n addGroupToMap,\n addFilterToItem, // new API\n addFilterToMainItem, // new API\n findItemFilterById, // new API\n removeFilterItem, // new API\n addGroupFilterToItem, // new API\n unGroupFilterToItem, // new API\n changeFilterItem, // new API\n changeGroupOperator, // new API\n} from './actions';\nimport QueryBuilderFormat from '../format/format';\n/**\n * Fluent interface: https://en.wikipedia.org/wiki/Fluent_interface\n *\n * @param idGroup\n * @param parentIdGroup\n * @param items\n * @param idFilter\n * @param value\n * @param data\n * @class QueryBuilderStore\n */\nclass QueryBuilderStore {\n items = [];\n\n step = 0;\n\n steps = {};\n\n mapFilters = {};\n\n mapGroups = {};\n\n main = null;\n\n format = null;\n\n constructor(init, format) {\n this.firstLoad = true;\n this.format = format;\n if (init) return this.initSetupUp(init);\n const mainGroup = this.createNewGroup('main');\n this.mapGroups = {\n [mainGroup.idGroup]: mainGroup,\n };\n this.main = mainGroup.idGroup;\n this.addFilter(mainGroup.idGroup);\n\n this.initSetupUp = this.initSetupUp.bind(this);\n }\n\n initSetupUp(init) {\n this.step = init.step || 1;\n Object.keys(init).forEach((key) => {\n if (init[key] && this[key] !== undefined) this[key] = init[key];\n });\n }\n\n createNewFilter = (idGroup) => createNewFilter.call(this, idGroup);\n\n createNewGroup = (parentIdGroup) => createNewGroup.call(this, parentIdGroup);\n\n onOrderDragAndDrop = (items) => {\n this.items = items;\n return this.getState();\n };\n\n // eslint-disable-next-line no-unused-vars\n addFilterNextToFilterId = (idGroup, idFilter) => {\n // eslint-disable-line\n this.addFilter(idGroup);\n return this.getState();\n };\n\n addFilter = (idGroup) => {\n const newFilter = this.createNewFilter(idGroup);\n addFilterToMap.call(this, newFilter);\n // new API\n if (this.main === idGroup) {\n addFilterToMainItem.call(this, this.items, newFilter);\n } else {\n const foundInItems = findItemFilterById.call(this, idGroup);\n if (foundInItems) {\n addFilterToItem.call(this, foundInItems, newFilter);\n }\n }\n return this.getState();\n };\n\n onRemoveFilter = (idFilter) => {\n // new API\n removeFilterItem.call(this, idFilter);\n return this.getState();\n };\n\n addRuleContainerInPlace = (idGroup, idFilter) => {\n // Create a new group\n const newGroup = this.createNewGroup(idGroup);\n addGroupFilterToItem.call(this, idGroup, idFilter, newGroup);\n return this.getState();\n };\n\n /**\n * Group a filter inside a new Group\n *\n * @param idGroup\n * @param idFilter\n */\n // eslint-disable-next-line no-unused-vars\n addRuleContainer = (idGroup, idFilter) => {\n // eslint-disable-line\n const newGroup = this.createNewGroup(idGroup);\n addGroupToMap.call(this, newGroup);\n if (this.main === idGroup) {\n addFilterToMainItem.call(this, this.items, newGroup);\n } else {\n const foundInItems = findItemFilterById.call(this, idGroup);\n if (foundInItems) {\n addFilterToItem.call(this, foundInItems, newGroup);\n }\n }\n return this.getState();\n };\n\n unGroup = (idGroup) => {\n unGroupFilterToItem.call(this, idGroup);\n return this.getState();\n };\n\n changeGroupOperator = (idGroup, value) => {\n this.getGroupById(idGroup).condition = value;\n changeGroupOperator.call(this, idGroup, value);\n return this.getState();\n };\n\n changeFilter = (data) => {\n const { idFilter } = data;\n this.mapFilters[idFilter] = {\n ...this.mapFilters[idFilter],\n ...data,\n };\n changeFilterItem.call(this, data);\n return this.getState();\n };\n\n getGroupById = (idGroup) => this.mapGroups[idGroup] || {};\n\n getFilterById = (idFilter) => this.mapFilters[idFilter];\n\n getInitialState = () => {\n const newFilters = {\n step: this.step,\n mapFilters: { ...this.mapFilters },\n mapGroups: { ...this.mapGroups },\n main: this.main,\n items: this.items,\n };\n const format = QueryBuilderFormat.run(newFilters, this.format);\n return {\n ...newFilters,\n format,\n };\n };\n\n getState = () => {\n this.step += 1;\n const newFilters = {\n step: this.step,\n mapFilters: { ...this.mapFilters },\n mapGroups: { ...this.mapGroups },\n main: this.main,\n items: this.items,\n };\n const format = QueryBuilderFormat.run(newFilters, this.format);\n return {\n ...newFilters,\n format,\n };\n };\n}\n\nexport default QueryBuilderStore;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport {\n createNewFilter,\n createNewGroup,\n addFilterToMap,\n addGroupToMap,\n addFilterToItem, // new API\n addFilterToMainItem, // new API\n findItemFilterById, // new API\n removeFilterItem, // new API\n addGroupFilterToItem, // new API\n unGroupFilterToItem, // new API\n changeFilterItem, // new API\n changeGroupOperator, // new API\n} from './actions.js';\nimport QueryBuilderFormat from '../format/format.js';\n/**\n * Fluent interface: https://en.wikipedia.org/wiki/Fluent_interface\n *\n * @param idGroup\n * @param parentIdGroup\n * @param items\n * @param idFilter\n * @param value\n * @param data\n * @class QueryBuilderStore\n */\nclass QueryBuilderStore {\n items = [];\n\n step = 0;\n\n steps = {};\n\n mapFilters = {};\n\n mapGroups = {};\n\n main = null;\n\n format = null;\n\n constructor(init, format) {\n this.firstLoad = true;\n this.format = format;\n if (init) return this.initSetupUp(init);\n const mainGroup = this.createNewGroup('main');\n this.mapGroups = {\n [mainGroup.idGroup]: mainGroup,\n };\n this.main = mainGroup.idGroup;\n this.addFilter(mainGroup.idGroup);\n\n this.initSetupUp = this.initSetupUp.bind(this);\n }\n\n initSetupUp(init) {\n this.step = init.step || 1;\n Object.keys(init).forEach((key) => {\n if (init[key] && this[key] !== undefined) this[key] = init[key];\n });\n }\n\n createNewFilter = (idGroup) => createNewFilter.call(this, idGroup);\n\n createNewGroup = (parentIdGroup) => createNewGroup.call(this, parentIdGroup);\n\n onOrderDragAndDrop = (items) => {\n this.items = items;\n return this.getState();\n };\n\n // eslint-disable-next-line no-unused-vars\n addFilterNextToFilterId = (idGroup, idFilter) => {\n // eslint-disable-line\n this.addFilter(idGroup);\n return this.getState();\n };\n\n addFilter = (idGroup) => {\n const newFilter = this.createNewFilter(idGroup);\n addFilterToMap.call(this, newFilter);\n // new API\n if (this.main === idGroup) {\n addFilterToMainItem.call(this, this.items, newFilter);\n } else {\n const foundInItems = findItemFilterById.call(this, idGroup);\n if (foundInItems) {\n addFilterToItem.call(this, foundInItems, newFilter);\n }\n }\n return this.getState();\n };\n\n onRemoveFilter = (idFilter) => {\n // new API\n removeFilterItem.call(this, idFilter);\n return this.getState();\n };\n\n addRuleContainerInPlace = (idGroup, idFilter) => {\n // Create a new group\n const newGroup = this.createNewGroup(idGroup);\n addGroupFilterToItem.call(this, idGroup, idFilter, newGroup);\n return this.getState();\n };\n\n /**\n * Group a filter inside a new Group\n *\n * @param idGroup\n * @param idFilter\n */\n // eslint-disable-next-line no-unused-vars\n addRuleContainer = (idGroup, idFilter) => {\n // eslint-disable-line\n const newGroup = this.createNewGroup(idGroup);\n addGroupToMap.call(this, newGroup);\n if (this.main === idGroup) {\n addFilterToMainItem.call(this, this.items, newGroup);\n } else {\n const foundInItems = findItemFilterById.call(this, idGroup);\n if (foundInItems) {\n addFilterToItem.call(this, foundInItems, newGroup);\n }\n }\n return this.getState();\n };\n\n unGroup = (idGroup) => {\n unGroupFilterToItem.call(this, idGroup);\n return this.getState();\n };\n\n changeGroupOperator = (idGroup, value) => {\n this.getGroupById(idGroup).condition = value;\n changeGroupOperator.call(this, idGroup, value);\n return this.getState();\n };\n\n changeFilter = (data) => {\n const { idFilter } = data;\n this.mapFilters[idFilter] = {\n ...this.mapFilters[idFilter],\n ...data,\n };\n changeFilterItem.call(this, data);\n return this.getState();\n };\n\n getGroupById = (idGroup) => this.mapGroups[idGroup] || {};\n\n getFilterById = (idFilter) => this.mapFilters[idFilter];\n\n getInitialState = () => {\n const newFilters = {\n step: this.step,\n mapFilters: { ...this.mapFilters },\n mapGroups: { ...this.mapGroups },\n main: this.main,\n items: this.items,\n };\n const format = QueryBuilderFormat.run(newFilters, this.format);\n return {\n ...newFilters,\n format,\n };\n };\n\n getState = () => {\n this.step += 1;\n const newFilters = {\n step: this.step,\n mapFilters: { ...this.mapFilters },\n mapGroups: { ...this.mapGroups },\n main: this.main,\n items: this.items,\n };\n const format = QueryBuilderFormat.run(newFilters, this.format);\n return {\n ...newFilters,\n format,\n };\n };\n}\n\nexport default QueryBuilderStore;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": ["QueryBuilderFormat"]
7
7
  }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/helpers/types.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export const QB_FIELD_TYPES = {\n LOAN_VALUES: 'loanValues',\n LTV_VALUES: 'ltvValues',\n SUBJECT_VALUES: 'subjectValues',\n LAST_VALUES: 'lastValues',\n CREDIT_VALUES: 'creditValues',\n};\n\nexport const QB_OPERATOR_TYPES = {\n EQUAL: 'equal',\n NOT_EQUAL: 'notEqual',\n GREATER_THAN: 'greaterThan',\n LESS_THAN: 'lessThan',\n CONTAINS: 'contains',\n NOT_CONTAINS: 'notNontains',\n BETWEEN: 'between',\n GREATER_THAN_OR_EQUAL: 'greaterThanOrEquals',\n LESS_THAN_OR_EQUAL: 'lessThanOrEquals',\n START_WITH: 'startsWith',\n};\n\nexport const QB_GROUP_CONDITION_TYPES = {\n AND: true,\n OR: false,\n};\n\nexport const QB_DRAG_TYPES = {\n FILTER: 'filter',\n GROUP: 'group',\n};\n\nexport const QB_DRAG_LOCATIONS = {\n ABOVE: 'above',\n BELOW: 'below',\n};\n\nexport const QB_EXPORT_FORMAT_TYPES = {\n DEFAULT: 'defaultFormat',\n XML: 'xmlFormat',\n SQL: 'sqlFormat',\n SAFESQL: 'sqlSafeFormat',\n};\n\nexport const QB_ADD_FILTER_METHOD_TYPES = {\n IN_PLACE: 'inplace',\n APPEND: 'append',\n};\n\nexport const QB_GROUP_FILTER_METHOD_TYPES = {\n IN_PLACE: 'inplace',\n APPEND: 'append',\n};\n\nexport const QB_FIELD_SHARED_ACTIONS = {\n RESET_FIELD: 'resetField',\n RESET_OPERATOR: 'resetOperator',\n RESET_VALUE: 'resetValue',\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,iBAAiB;AAAA,EAC5B,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,eAAe;AACjB;AAEO,MAAM,oBAAoB;AAAA,EAC/B,OAAO;AAAA,EACP,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,UAAU;AAAA,EACV,cAAc;AAAA,EACd,SAAS;AAAA,EACT,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,YAAY;AACd;AAEO,MAAM,2BAA2B;AAAA,EACtC,KAAK;AAAA,EACL,IAAI;AACN;AAEO,MAAM,gBAAgB;AAAA,EAC3B,QAAQ;AAAA,EACR,OAAO;AACT;AAEO,MAAM,oBAAoB;AAAA,EAC/B,OAAO;AAAA,EACP,OAAO;AACT;AAEO,MAAM,yBAAyB;AAAA,EACpC,SAAS;AAAA,EACT,KAAK;AAAA,EACL,KAAK;AAAA,EACL,SAAS;AACX;AAEO,MAAM,6BAA6B;AAAA,EACxC,UAAU;AAAA,EACV,QAAQ;AACV;AAEO,MAAM,+BAA+B;AAAA,EAC1C,UAAU;AAAA,EACV,QAAQ;AACV;AAEO,MAAM,0BAA0B;AAAA,EACrC,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,aAAa;AACf;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,iBAAiB;AAAA,EAC5B,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,eAAe;AACjB;AAEO,MAAM,oBAAoB;AAAA,EAC/B,OAAO;AAAA,EACP,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,UAAU;AAAA,EACV,cAAc;AAAA,EACd,SAAS;AAAA,EACT,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,YAAY;AACd;AAEO,MAAM,2BAA2B;AAAA,EACtC,KAAK;AAAA,EACL,IAAI;AACN;AAEO,MAAM,gBAAgB;AAAA,EAC3B,QAAQ;AAAA,EACR,OAAO;AACT;AAEO,MAAM,oBAAoB;AAAA,EAC/B,OAAO;AAAA,EACP,OAAO;AACT;AAEO,MAAM,yBAAyB;AAAA,EACpC,SAAS;AAAA,EACT,KAAK;AAAA,EACL,KAAK;AAAA,EACL,SAAS;AACX;AAEO,MAAM,6BAA6B;AAAA,EACxC,UAAU;AAAA,EACV,QAAQ;AACV;AAEO,MAAM,+BAA+B;AAAA,EAC1C,UAAU;AAAA,EACV,QAAQ;AACV;AAEO,MAAM,0BAA0B;AAAA,EACrC,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,aAAa;AACf;",
6
6
  "names": []
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -19,6 +19,10 @@ var __copyProps = (to, from, except, desc) => {
19
19
  };
20
20
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
21
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
22
26
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
27
  mod
24
28
  ));
@@ -31,7 +35,7 @@ __export(src_exports, {
31
35
  });
32
36
  module.exports = __toCommonJS(src_exports);
33
37
  var React = __toESM(require("react"));
34
- var import_DSQueryBuilder = __toESM(require("./DSQueryBuilder"));
35
- __reExport(src_exports, require("./DSQueryBuilder"), module.exports);
36
- var import_adapter = require("./components/helpers/adapter");
38
+ var import_DSQueryBuilder = __toESM(require("./DSQueryBuilder.js"));
39
+ __reExport(src_exports, require("./DSQueryBuilder.js"), module.exports);
40
+ var import_adapter = require("./components/helpers/adapter.js");
37
41
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export { default } from './DSQueryBuilder';\nexport * from './DSQueryBuilder';\nexport { adapterV2toV1, adapterV1toV2 } from './components/helpers/adapter'", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,4BAAwB;AACxB,wBAAc,6BADd;AAEA,qBAA6C;",
4
+ "sourcesContent": ["export { default } from './DSQueryBuilder.js';\nexport * from './DSQueryBuilder.js';\nexport { adapterV2toV1, adapterV1toV2 } from './components/helpers/adapter.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,4BAAwB;AACxB,wBAAc,gCADd;AAEA,qBAA6C;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -29,18 +33,23 @@ __export(propTypes_exports, {
29
33
  module.exports = __toCommonJS(propTypes_exports);
30
34
  var React = __toESM(require("react"));
31
35
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
32
- var import_types = require("./components/helpers/types");
36
+ var import_types = require("./components/helpers/types.js");
33
37
  const props = {
38
+ /** inpect props to component wrapper */
34
39
  containerProps: import_ds_props_helpers.PropTypes.object.description("inject props to component wrapper"),
40
+ /** add filter strategy */
35
41
  addFilterMethod: import_ds_props_helpers.PropTypes.oneOf([
36
42
  import_types.QB_ADD_FILTER_METHOD_TYPES.APPEND,
37
43
  import_types.QB_ADD_FILTER_METHOD_TYPES.IN_PLACE
38
44
  ]).description("add filter strategy"),
45
+ /** group filter strategy */
39
46
  groupFilterMethod: import_ds_props_helpers.PropTypes.oneOf([
40
47
  import_types.QB_ADD_FILTER_METHOD_TYPES.APPEND,
41
48
  import_types.QB_ADD_FILTER_METHOD_TYPES.IN_PLACE
42
49
  ]).description("group filter strategy"),
50
+ /** change callback */
43
51
  onChange: import_ds_props_helpers.PropTypes.func.description("change callback"),
52
+ /** fields to query */
44
53
  fields: import_ds_props_helpers.PropTypes.arrayOf(
45
54
  import_ds_props_helpers.PropTypes.shape({
46
55
  target: import_ds_props_helpers.PropTypes.oneOf(["operator", "field", "value"]),
@@ -68,12 +77,15 @@ const props = {
68
77
  )
69
78
  })
70
79
  ).description("fields to query"),
80
+ /** fields actions */
71
81
  fieldsSharedActions: import_ds_props_helpers.PropTypes.shape({
72
82
  onFieldChange: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.func),
73
83
  onOperatorChange: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.func),
74
84
  onValueChange: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.func)
75
85
  }).description("fields actions"),
86
+ /** query builder format */
76
87
  format: import_ds_props_helpers.PropTypes.string.description("query builder format"),
88
+ /** initial values */
77
89
  init: import_ds_props_helpers.PropTypes.shape({
78
90
  step: import_ds_props_helpers.PropTypes.number,
79
91
  mapFilters: import_ds_props_helpers.PropTypes.object,
@@ -81,27 +93,40 @@ const props = {
81
93
  main: import_ds_props_helpers.PropTypes.string,
82
94
  items: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.object)
83
95
  }).description("initial values"),
96
+ /** class for rule container */
84
97
  ruleContainerClassName: import_ds_props_helpers.PropTypes.string.description("class for rule container"),
98
+ /** handle field change */
85
99
  handleDrop: import_ds_props_helpers.PropTypes.func.description("handle field change"),
100
+ /** handle field change drop */
86
101
  handleDropFilter: import_ds_props_helpers.PropTypes.func.description("handle field change drop"),
102
+ /** handle field group change */
87
103
  handleDropGroup: import_ds_props_helpers.PropTypes.func.description("handle field group change"),
104
+ /** handle field change */
88
105
  handleFieldChange: import_ds_props_helpers.PropTypes.func.description("handle field change"),
106
+ /** handle rule container operator change */
89
107
  handleRuleContainerOperator: import_ds_props_helpers.PropTypes.func.description("handle rule container operator change"),
108
+ /** handle rule container grouping change */
90
109
  handleRuleContainerUnGroup: import_ds_props_helpers.PropTypes.func.description("handle rule container grouping change"),
110
+ /** filter add callback */
91
111
  onAddFilter: import_ds_props_helpers.PropTypes.func.description("filter add callback"),
112
+ /** rule container add callback */
92
113
  onAddRuleContainer: import_ds_props_helpers.PropTypes.func.description("rule container add callback"),
114
+ /** remove filter callback */
93
115
  onRemoveFilter: import_ds_props_helpers.PropTypes.func.description("remove filter callback"),
94
116
  displayFixedOutput: import_ds_props_helpers.PropTypes.string.description(
95
117
  `Label for fixed output.Using this props it will ignore 'displayOutput' and 'displayOutputLabel'
96
118
  and it will always render the output without the ability to close it.
97
119
  `
98
120
  ).defaultValue(""),
121
+ /** show output */
99
122
  displayOutput: import_ds_props_helpers.PropTypes.bool.description("show output"),
123
+ /** show output label */
100
124
  displayOutputLabel: import_ds_props_helpers.PropTypes.shape({
101
125
  show: import_ds_props_helpers.PropTypes.string,
102
126
  hide: import_ds_props_helpers.PropTypes.string,
103
127
  open: import_ds_props_helpers.PropTypes.bool
104
128
  }).description("show output label"),
129
+ /** one or multiple rows for query */
105
130
  singleRow: import_ds_props_helpers.PropTypes.bool.description("one or multiple rows for query"),
106
131
  toolTipZIndex: import_ds_props_helpers.PropTypes.number.description("ZIndex for action controls").defaultValue(110)
107
132
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/propTypes.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { QB_ADD_FILTER_METHOD_TYPES } from './components/helpers/types';\n\nexport const props = {\n /** inpect props to component wrapper */\n containerProps: PropTypes.object.description('inject props to component wrapper'),\n /** add filter strategy */\n addFilterMethod: PropTypes.oneOf([\n QB_ADD_FILTER_METHOD_TYPES.APPEND,\n QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,\n ]).description('add filter strategy'),\n /** group filter strategy */\n groupFilterMethod: PropTypes.oneOf([\n QB_ADD_FILTER_METHOD_TYPES.APPEND,\n QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,\n ]).description('group filter strategy'),\n /** change callback */\n onChange: PropTypes.func.description('change callback'),\n /** fields to query */\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['operator', 'field', 'value']),\n component: PropTypes.element,\n condition: PropTypes.arrayOf(\n PropTypes.shape({\n source: PropTypes.oneOf(['operator', 'field', 'value']),\n operator: PropTypes.oneOf([\n 'checkNotEmpty',\n 'greaterThan',\n 'greaterThanOrEquals',\n 'lessThanOrEquals',\n 'startsWith',\n 'contains',\n 'validDate',\n 'equal',\n 'notEqual',\n 'isNull',\n 'isNotNull',\n 'isIn',\n 'isNotIn',\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n }),\n ),\n }),\n ).description('fields to query'),\n /** fields actions */\n fieldsSharedActions: PropTypes.shape({\n onFieldChange: PropTypes.arrayOf(PropTypes.func),\n onOperatorChange: PropTypes.arrayOf(PropTypes.func),\n onValueChange: PropTypes.arrayOf(PropTypes.func),\n }).description('fields actions'),\n /** query builder format */\n format: PropTypes.string.description('query builder format'),\n /** initial values */\n init: PropTypes.shape({\n step: PropTypes.number,\n mapFilters: PropTypes.object,\n mapGroups: PropTypes.object,\n main: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.object),\n }).description('initial values'),\n /** class for rule container */\n ruleContainerClassName: PropTypes.string.description('class for rule container'),\n /** handle field change */\n handleDrop: PropTypes.func.description('handle field change'),\n /** handle field change drop */\n handleDropFilter: PropTypes.func.description('handle field change drop'),\n /** handle field group change */\n handleDropGroup: PropTypes.func.description('handle field group change'),\n /** handle field change */\n handleFieldChange: PropTypes.func.description('handle field change'),\n /** handle rule container operator change */\n handleRuleContainerOperator: PropTypes.func.description('handle rule container operator change'),\n /** handle rule container grouping change */\n handleRuleContainerUnGroup: PropTypes.func.description('handle rule container grouping change'),\n /** filter add callback */\n onAddFilter: PropTypes.func.description('filter add callback'),\n /** rule container add callback */\n onAddRuleContainer: PropTypes.func.description('rule container add callback'),\n /** remove filter callback */\n onRemoveFilter: PropTypes.func.description('remove filter callback'),\n displayFixedOutput: PropTypes.string\n .description(\n `Label for fixed output.Using this props it will ignore 'displayOutput' and 'displayOutputLabel' \n and it will always render the output without the ability to close it. \n `,\n )\n .defaultValue(''),\n /** show output */\n displayOutput: PropTypes.bool.description('show output'),\n /** show output label */\n displayOutputLabel: PropTypes.shape({\n show: PropTypes.string,\n hide: PropTypes.string,\n open: PropTypes.bool,\n }).description('show output label'),\n /** one or multiple rows for query */\n singleRow: PropTypes.bool.description('one or multiple rows for query'),\n toolTipZIndex: PropTypes.number.description('ZIndex for action controls').defaultValue(110),\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { PropTypes } from '@elliemae/ds-props-helpers';\nimport { QB_ADD_FILTER_METHOD_TYPES } from './components/helpers/types.js';\n\nexport const props = {\n /** inpect props to component wrapper */\n containerProps: PropTypes.object.description('inject props to component wrapper'),\n /** add filter strategy */\n addFilterMethod: PropTypes.oneOf([\n QB_ADD_FILTER_METHOD_TYPES.APPEND,\n QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,\n ]).description('add filter strategy'),\n /** group filter strategy */\n groupFilterMethod: PropTypes.oneOf([\n QB_ADD_FILTER_METHOD_TYPES.APPEND,\n QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,\n ]).description('group filter strategy'),\n /** change callback */\n onChange: PropTypes.func.description('change callback'),\n /** fields to query */\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['operator', 'field', 'value']),\n component: PropTypes.element,\n condition: PropTypes.arrayOf(\n PropTypes.shape({\n source: PropTypes.oneOf(['operator', 'field', 'value']),\n operator: PropTypes.oneOf([\n 'checkNotEmpty',\n 'greaterThan',\n 'greaterThanOrEquals',\n 'lessThanOrEquals',\n 'startsWith',\n 'contains',\n 'validDate',\n 'equal',\n 'notEqual',\n 'isNull',\n 'isNotNull',\n 'isIn',\n 'isNotIn',\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n }),\n ),\n }),\n ).description('fields to query'),\n /** fields actions */\n fieldsSharedActions: PropTypes.shape({\n onFieldChange: PropTypes.arrayOf(PropTypes.func),\n onOperatorChange: PropTypes.arrayOf(PropTypes.func),\n onValueChange: PropTypes.arrayOf(PropTypes.func),\n }).description('fields actions'),\n /** query builder format */\n format: PropTypes.string.description('query builder format'),\n /** initial values */\n init: PropTypes.shape({\n step: PropTypes.number,\n mapFilters: PropTypes.object,\n mapGroups: PropTypes.object,\n main: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.object),\n }).description('initial values'),\n /** class for rule container */\n ruleContainerClassName: PropTypes.string.description('class for rule container'),\n /** handle field change */\n handleDrop: PropTypes.func.description('handle field change'),\n /** handle field change drop */\n handleDropFilter: PropTypes.func.description('handle field change drop'),\n /** handle field group change */\n handleDropGroup: PropTypes.func.description('handle field group change'),\n /** handle field change */\n handleFieldChange: PropTypes.func.description('handle field change'),\n /** handle rule container operator change */\n handleRuleContainerOperator: PropTypes.func.description('handle rule container operator change'),\n /** handle rule container grouping change */\n handleRuleContainerUnGroup: PropTypes.func.description('handle rule container grouping change'),\n /** filter add callback */\n onAddFilter: PropTypes.func.description('filter add callback'),\n /** rule container add callback */\n onAddRuleContainer: PropTypes.func.description('rule container add callback'),\n /** remove filter callback */\n onRemoveFilter: PropTypes.func.description('remove filter callback'),\n displayFixedOutput: PropTypes.string\n .description(\n `Label for fixed output.Using this props it will ignore 'displayOutput' and 'displayOutputLabel' \n and it will always render the output without the ability to close it. \n `,\n )\n .defaultValue(''),\n /** show output */\n displayOutput: PropTypes.bool.description('show output'),\n /** show output label */\n displayOutputLabel: PropTypes.shape({\n show: PropTypes.string,\n hide: PropTypes.string,\n open: PropTypes.bool,\n }).description('show output label'),\n /** one or multiple rows for query */\n singleRow: PropTypes.bool.description('one or multiple rows for query'),\n toolTipZIndex: PropTypes.number.description('ZIndex for action controls').defaultValue(110),\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { describe } from "@elliemae/ds-props-helpers";
4
- import QueryBuilderImpl from "./components/QueryBuilderImpl";
4
+ import QueryBuilderImpl from "./components/QueryBuilderImpl.js";
5
5
  import {
6
6
  QB_FIELD_TYPES,
7
7
  QB_OPERATOR_TYPES,
@@ -12,16 +12,16 @@ import {
12
12
  QB_ADD_FILTER_METHOD_TYPES,
13
13
  QB_GROUP_FILTER_METHOD_TYPES,
14
14
  QB_FIELD_SHARED_ACTIONS
15
- } from "./components/helpers/types";
15
+ } from "./components/helpers/types.js";
16
16
  import {
17
17
  QB_OPERATOR_OPTIONS,
18
18
  QB_DEFAULT_VALUES_OPTIONS,
19
19
  QB_FIELD_OPTIONS,
20
20
  QB_LOAN_VALUES_OPTIONS,
21
21
  QB_SUBJECT_VALUES_OPTIONS
22
- } from "./components/helpers/selectors";
23
- import QueryBuilderFormat from "./components/format/format";
24
- import { props } from "./propTypes";
22
+ } from "./components/helpers/selectors.js";
23
+ import QueryBuilderFormat from "./components/format/format.js";
24
+ import { props } from "./propTypes.js";
25
25
  const DSQueryBuilder = ({
26
26
  containerProps = {},
27
27
  addFilterMethod = QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSQueryBuilder.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport QueryBuilderImpl from './components/QueryBuilderImpl';\nimport {\n QB_FIELD_TYPES,\n QB_OPERATOR_TYPES,\n QB_GROUP_CONDITION_TYPES,\n QB_DRAG_TYPES,\n QB_DRAG_LOCATIONS,\n QB_EXPORT_FORMAT_TYPES,\n QB_ADD_FILTER_METHOD_TYPES,\n QB_GROUP_FILTER_METHOD_TYPES,\n QB_FIELD_SHARED_ACTIONS,\n} from './components/helpers/types';\nimport {\n QB_OPERATOR_OPTIONS,\n QB_DEFAULT_VALUES_OPTIONS,\n QB_FIELD_OPTIONS,\n QB_LOAN_VALUES_OPTIONS,\n QB_SUBJECT_VALUES_OPTIONS,\n} from './components/helpers/selectors';\nimport QueryBuilderFormat from './components/format/format';\nimport { props } from './propTypes';\n\nconst DSQueryBuilder = ({\n containerProps = {},\n addFilterMethod = QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,\n groupFilterMethod = QB_GROUP_FILTER_METHOD_TYPES.IN_PLACE,\n onChange = () => null,\n fields = [],\n fieldsSharedActions = {\n onFieldChange: [],\n onOperatorChange: [],\n onValueChange: [],\n },\n format = QB_EXPORT_FORMAT_TYPES.DEFAULT,\n init = null,\n ruleContainerClassName = '',\n handleDrop = () => null,\n handleDropFilter = () => null,\n handleDropGroup = () => null,\n handleFieldChange = () => null,\n handleRuleContainerOperator = () => null,\n handleRuleContainerUnGroup = () => null,\n onAddFilter = () => null,\n onAddRuleContainer = () => null,\n onRemoveFilter = () => null,\n displayFixedOutput,\n displayOutput = false,\n displayOutputLabel = {\n show: 'Show output',\n hide: 'Hide output',\n },\n singleRow = false,\n toolTipZIndex = 110,\n}) => (\n <QueryBuilderImpl\n addFilterMethod={addFilterMethod}\n containerProps={containerProps}\n displayFixedOutput={displayFixedOutput}\n displayOutput={displayOutput}\n displayOutputLabel={displayOutputLabel}\n fields={fields}\n fieldsSharedActions={fieldsSharedActions}\n format={format}\n groupFilterMethod={groupFilterMethod}\n handleDrop={handleDrop}\n handleDropFilter={handleDropFilter}\n handleDropGroup={handleDropGroup}\n handleFieldChange={handleFieldChange}\n handleRuleContainerOperator={handleRuleContainerOperator}\n handleRuleContainerUnGroup={handleRuleContainerUnGroup}\n init={init}\n onAddFilter={onAddFilter}\n onAddRuleContainer={onAddRuleContainer}\n onChange={onChange}\n onRemoveFilter={onRemoveFilter}\n ruleContainerClassName={ruleContainerClassName}\n singleRow={singleRow}\n toolTipZIndex={toolTipZIndex}\n />\n);\n\nDSQueryBuilder.propTypes = props;\nDSQueryBuilder.displayName = 'DSQueryBuilder';\nconst DSQueryBuilderWithSchema = describe(DSQueryBuilder);\nDSQueryBuilderWithSchema.propTypes = props;\n\nexport {\n QB_FIELD_SHARED_ACTIONS,\n QB_FIELD_TYPES,\n QB_OPERATOR_TYPES,\n QB_OPERATOR_OPTIONS,\n QB_DEFAULT_VALUES_OPTIONS,\n QB_FIELD_OPTIONS,\n QB_LOAN_VALUES_OPTIONS,\n QB_SUBJECT_VALUES_OPTIONS,\n QB_GROUP_CONDITION_TYPES,\n QB_DRAG_TYPES,\n QB_DRAG_LOCATIONS,\n QB_EXPORT_FORMAT_TYPES,\n QB_ADD_FILTER_METHOD_TYPES,\n QB_GROUP_FILTER_METHOD_TYPES,\n QueryBuilderFormat,\n DSQueryBuilderWithSchema,\n DSQueryBuilder,\n};\n\nexport default DSQueryBuilder;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport QueryBuilderImpl from './components/QueryBuilderImpl.js';\nimport {\n QB_FIELD_TYPES,\n QB_OPERATOR_TYPES,\n QB_GROUP_CONDITION_TYPES,\n QB_DRAG_TYPES,\n QB_DRAG_LOCATIONS,\n QB_EXPORT_FORMAT_TYPES,\n QB_ADD_FILTER_METHOD_TYPES,\n QB_GROUP_FILTER_METHOD_TYPES,\n QB_FIELD_SHARED_ACTIONS,\n} from './components/helpers/types.js';\nimport {\n QB_OPERATOR_OPTIONS,\n QB_DEFAULT_VALUES_OPTIONS,\n QB_FIELD_OPTIONS,\n QB_LOAN_VALUES_OPTIONS,\n QB_SUBJECT_VALUES_OPTIONS,\n} from './components/helpers/selectors.js';\nimport QueryBuilderFormat from './components/format/format.js';\nimport { props } from './propTypes.js';\n\nconst DSQueryBuilder = ({\n containerProps = {},\n addFilterMethod = QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,\n groupFilterMethod = QB_GROUP_FILTER_METHOD_TYPES.IN_PLACE,\n onChange = () => null,\n fields = [],\n fieldsSharedActions = {\n onFieldChange: [],\n onOperatorChange: [],\n onValueChange: [],\n },\n format = QB_EXPORT_FORMAT_TYPES.DEFAULT,\n init = null,\n ruleContainerClassName = '',\n handleDrop = () => null,\n handleDropFilter = () => null,\n handleDropGroup = () => null,\n handleFieldChange = () => null,\n handleRuleContainerOperator = () => null,\n handleRuleContainerUnGroup = () => null,\n onAddFilter = () => null,\n onAddRuleContainer = () => null,\n onRemoveFilter = () => null,\n displayFixedOutput,\n displayOutput = false,\n displayOutputLabel = {\n show: 'Show output',\n hide: 'Hide output',\n },\n singleRow = false,\n toolTipZIndex = 110,\n}) => (\n <QueryBuilderImpl\n addFilterMethod={addFilterMethod}\n containerProps={containerProps}\n displayFixedOutput={displayFixedOutput}\n displayOutput={displayOutput}\n displayOutputLabel={displayOutputLabel}\n fields={fields}\n fieldsSharedActions={fieldsSharedActions}\n format={format}\n groupFilterMethod={groupFilterMethod}\n handleDrop={handleDrop}\n handleDropFilter={handleDropFilter}\n handleDropGroup={handleDropGroup}\n handleFieldChange={handleFieldChange}\n handleRuleContainerOperator={handleRuleContainerOperator}\n handleRuleContainerUnGroup={handleRuleContainerUnGroup}\n init={init}\n onAddFilter={onAddFilter}\n onAddRuleContainer={onAddRuleContainer}\n onChange={onChange}\n onRemoveFilter={onRemoveFilter}\n ruleContainerClassName={ruleContainerClassName}\n singleRow={singleRow}\n toolTipZIndex={toolTipZIndex}\n />\n);\n\nDSQueryBuilder.propTypes = props;\nDSQueryBuilder.displayName = 'DSQueryBuilder';\nconst DSQueryBuilderWithSchema = describe(DSQueryBuilder);\nDSQueryBuilderWithSchema.propTypes = props;\n\nexport {\n QB_FIELD_SHARED_ACTIONS,\n QB_FIELD_TYPES,\n QB_OPERATOR_TYPES,\n QB_OPERATOR_OPTIONS,\n QB_DEFAULT_VALUES_OPTIONS,\n QB_FIELD_OPTIONS,\n QB_LOAN_VALUES_OPTIONS,\n QB_SUBJECT_VALUES_OPTIONS,\n QB_GROUP_CONDITION_TYPES,\n QB_DRAG_TYPES,\n QB_DRAG_LOCATIONS,\n QB_EXPORT_FORMAT_TYPES,\n QB_ADD_FILTER_METHOD_TYPES,\n QB_GROUP_FILTER_METHOD_TYPES,\n QueryBuilderFormat,\n DSQueryBuilderWithSchema,\n DSQueryBuilder,\n};\n\nexport default DSQueryBuilder;\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACwDrB;AAvDF,SAAS,gBAAgB;AACzB,OAAO,sBAAsB;AAC7B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,OAAO,wBAAwB;AAC/B,SAAS,aAAa;AAEtB,MAAM,iBAAiB,CAAC;AAAA,EACtB,iBAAiB,CAAC;AAAA,EAClB,kBAAkB,2BAA2B;AAAA,EAC7C,oBAAoB,6BAA6B;AAAA,EACjD,WAAW,MAAM;AAAA,EACjB,SAAS,CAAC;AAAA,EACV,sBAAsB;AAAA,IACpB,eAAe,CAAC;AAAA,IAChB,kBAAkB,CAAC;AAAA,IACnB,eAAe,CAAC;AAAA,EAClB;AAAA,EACA,SAAS,uBAAuB;AAAA,EAChC,OAAO;AAAA,EACP,yBAAyB;AAAA,EACzB,aAAa,MAAM;AAAA,EACnB,mBAAmB,MAAM;AAAA,EACzB,kBAAkB,MAAM;AAAA,EACxB,oBAAoB,MAAM;AAAA,EAC1B,8BAA8B,MAAM;AAAA,EACpC,6BAA6B,MAAM;AAAA,EACnC,cAAc,MAAM;AAAA,EACpB,qBAAqB,MAAM;AAAA,EAC3B,iBAAiB,MAAM;AAAA,EACvB;AAAA,EACA,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,IACnB,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,EACZ,gBAAgB;AAClB,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AACF;AAGF,eAAe,YAAY;AAC3B,eAAe,cAAc;AAC7B,MAAM,2BAA2B,SAAS,cAAc;AACxD,yBAAyB,YAAY;AAsBrC,IAAO,yBAAQ;",
6
6
  "names": []
7
7
  }
@@ -8,9 +8,9 @@ import { DSToggle } from "@elliemae/ds-form";
8
8
  import DSButton from "@elliemae/ds-button";
9
9
  import { ParenthesisRemove, MoreOptionsVert, QueryAdd } from "@elliemae/ds-icons";
10
10
  import { DSIconColors, DSIconSizes } from "@elliemae/ds-icon";
11
- import { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from "../helpers/constants";
12
- import { ToolBarAnimation } from "../ToolBarAnimation/ToolBarAnimation";
13
- import DragContainerController from "../DragContainerController/DragContainerController";
11
+ import { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from "../helpers/constants.js";
12
+ import { ToolBarAnimation } from "../ToolBarAnimation/ToolBarAnimation.js";
13
+ import DragContainerController from "../DragContainerController/DragContainerController.js";
14
14
  const { cssClassName, classNameBlock, classNameElement, mainModifier, classNameBlockModifier } = convertPropToCssClassName("query-builder-and-or-controller");
15
15
  class AndOrController extends Component {
16
16
  constructor(props) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/AndOrController/AndOrController.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-unused-vars */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable max-len */\nimport React, { Component } from 'react';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport DSTooltip, { TooltipType } from '@elliemae/ds-tooltip';\nimport { PopperInteractions as Interaction, PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DSToggle } from '@elliemae/ds-form';\nimport DSButton from '@elliemae/ds-button';\nimport { ParenthesisRemove, MoreOptionsVert, QueryAdd } from '@elliemae/ds-icons';\nimport { DSIconColors, DSIconSizes } from '@elliemae/ds-icon';\nimport { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from '../helpers/constants';\nimport { ToolBarAnimation } from '../ToolBarAnimation/ToolBarAnimation';\nimport DragContainerController from '../DragContainerController/DragContainerController';\n\nconst { cssClassName, classNameBlock, classNameElement, mainModifier, classNameBlockModifier } =\n convertPropToCssClassName('query-builder-and-or-controller');\n/**\n * condition-display-step: required to avoid the cache of the trigger\n *\n * @param e\n * @param isOpen\n */\nclass AndOrController extends Component {\n static defaultProps = {\n isMain: false,\n handleRuleContainerOperator: () => null,\n handleRuleContainerUnGroup: () => null,\n handleTooltipGroup: () => null,\n labelOn: 'AND',\n labelOff: 'OR',\n condition: true,\n showDragController: true,\n allowUnGroup: true,\n buttonActionSize: DSIconSizes.M,\n buttonActionType: 'text',\n toogleActionSize: DSIconSizes.S,\n onAddFilter: () => null,\n multipleSize: false,\n delayClose: DELAY_CLOSE,\n delayOpen: DELAY_OPEN,\n step: null,\n toolBarAnimationDuration: TOOLBAR_ANIMATION_DURATION,\n toolBarInteractionType: Interaction.CLICK,\n toolBarPosition: Position.LEFT,\n };\n\n constructor(props) {\n super(props);\n this.contenerRef = React.createRef();\n this.myRef = React.createRef();\n this.state = {\n isOpen: false,\n top: 0,\n right: -2,\n };\n }\n\n handleMouseEnterRow = (e) => {\n this.handleTooltipRow(true);\n // this.handleMouseMove(e)\n };\n\n handleMouseMove = (e) => {\n if (!this.contenerRef.current) return;\n const mouse = e.clientY;\n const { height } = this.contenerRef.current.getBoundingClientRect();\n const delta = height / 2;\n const topDiff = this.myRef.current.getBoundingClientRect().top;\n const refHeight = this.myRef.current.getBoundingClientRect().height;\n\n this.setState({\n top: mouse - topDiff - refHeight / 2 - delta,\n });\n };\n\n handleMouseLeaveRow = () => {\n this.handleTooltipRow(false);\n };\n\n handleTooltipRow = (isOpen) => {\n this.setState({ isOpen });\n const { handleTooltipGroup } = this.props;\n handleTooltipGroup(isOpen);\n };\n\n render() {\n const {\n handleRuleContainerOperator,\n handleRuleContainerUnGroup,\n labelOn,\n labelOff,\n condition,\n showDragController,\n allowUnGroup,\n buttonActionSize,\n buttonActionType,\n toogleActionSize,\n onAddFilter,\n multipleSize,\n delayClose,\n delayOpen,\n step,\n toolBarAnimationDuration,\n toolBarInteractionType,\n toolBarPosition,\n isMain,\n toolTipZIndex,\n } = this.props;\n const { isOpen, top, right } = this.state;\n return (\n <div\n ref={this.myRef}\n className={`${cssClassName} ${mainModifier(condition ? 'active' : 'default')} step-${step} ${isMain ? 'is-main-group-join' : ''\n }`}\n // onMouseEnter={this.handleMouseEnterRow}\n onMouseLeave={this.handleMouseLeaveRow}\n // onMouseMove={this.handleMouseMove}\n >\n <div className={`${classNameBlock('content')} step-${step}`}>\n <DSTooltip\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={toolBarInteractionType}\n isOpen={isOpen}\n onOpen={this.handleTooltipRow}\n placement={toolBarPosition}\n springAnimationComponent={<ToolBarAnimation duration={toolBarAnimationDuration} />}\n step={step}\n title={\n <div\n ref={this.contenerRef}\n className={classNameBlock('actions')}\n style={{\n transition: '0.2s',\n position: 'absolute',\n top: `${top}px`,\n right: `${right}px`,\n }}\n >\n <DSTooltip title=\"Add condition\"\n triggerComponent={<DSButton\n buttonType={buttonActionType}\n className={classNameElement('add-rule')}\n icon={<QueryAdd />}\n onClick={onAddFilter}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'query-add-button',\n }}\n />}\n />\n {allowUnGroup && (\n <DSTooltip title=\"Remove group\"\n triggerComponent={<DSButton\n buttonType=\"text\"\n className={classNameElement('ungroup')}\n icon={<ParenthesisRemove />}\n onClick={handleRuleContainerUnGroup}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'parenthesis-remove-button',\n }}\n />}\n />\n )}\n <DSToggle\n checked={condition}\n className={classNameElement('and-or-toggle')}\n labelOff={labelOff}\n labelOn={labelOn}\n onChange={(e) => handleRuleContainerOperator(e.target.checked)}\n size={toogleActionSize}\n containerProps={{\n 'data-testid': 'and-or-toggle-button',\n }}\n />\n </div>\n }\n tooltipType={TooltipType.TOOLBAR}\n triggerComponent={\n <div\n className={`${classNameBlock('trigger-controller')} ${showDragController ? classNameBlockModifier('draggable', 'trigger-controller') : ''\n } step-${step}`}\n >\n <div className={classNameElement('condition-display')}>\n <span className={classNameElement('condition-display-label')}>{condition ? labelOn : labelOff}</span>\n <span className={classNameElement('condition-display-step')}>{step}</span>\n <div className=\"separator\" />\n <MoreOptionsVert\n color={DSIconColors.NEUTRAL}\n onClick={this.handleMouseEnterRow}\n size={DSIconSizes.S}\n containerProps={{\n 'data-testid': 'and-or-more-options-button',\n }}\n />\n </div>\n {showDragController && (\n <DragContainerController multipleSize={multipleSize} onClick={this.handleMouseEnterRow} />\n )}\n </div>\n }\n zIndex={toolTipZIndex}\n />\n </div>\n </div>\n );\n }\n}\n\nexport default AndOrController;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-unused-vars */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable max-len */\nimport React, { Component } from 'react';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport DSTooltip, { TooltipType } from '@elliemae/ds-tooltip';\nimport { PopperInteractions as Interaction, PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DSToggle } from '@elliemae/ds-form';\nimport DSButton from '@elliemae/ds-button';\nimport { ParenthesisRemove, MoreOptionsVert, QueryAdd } from '@elliemae/ds-icons';\nimport { DSIconColors, DSIconSizes } from '@elliemae/ds-icon';\nimport { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from '../helpers/constants.js';\nimport { ToolBarAnimation } from '../ToolBarAnimation/ToolBarAnimation.js';\nimport DragContainerController from '../DragContainerController/DragContainerController.js';\n\nconst { cssClassName, classNameBlock, classNameElement, mainModifier, classNameBlockModifier } =\n convertPropToCssClassName('query-builder-and-or-controller');\n/**\n * condition-display-step: required to avoid the cache of the trigger\n *\n * @param e\n * @param isOpen\n */\nclass AndOrController extends Component {\n static defaultProps = {\n isMain: false,\n handleRuleContainerOperator: () => null,\n handleRuleContainerUnGroup: () => null,\n handleTooltipGroup: () => null,\n labelOn: 'AND',\n labelOff: 'OR',\n condition: true,\n showDragController: true,\n allowUnGroup: true,\n buttonActionSize: DSIconSizes.M,\n buttonActionType: 'text',\n toogleActionSize: DSIconSizes.S,\n onAddFilter: () => null,\n multipleSize: false,\n delayClose: DELAY_CLOSE,\n delayOpen: DELAY_OPEN,\n step: null,\n toolBarAnimationDuration: TOOLBAR_ANIMATION_DURATION,\n toolBarInteractionType: Interaction.CLICK,\n toolBarPosition: Position.LEFT,\n };\n\n constructor(props) {\n super(props);\n this.contenerRef = React.createRef();\n this.myRef = React.createRef();\n this.state = {\n isOpen: false,\n top: 0,\n right: -2,\n };\n }\n\n handleMouseEnterRow = (e) => {\n this.handleTooltipRow(true);\n // this.handleMouseMove(e)\n };\n\n handleMouseMove = (e) => {\n if (!this.contenerRef.current) return;\n const mouse = e.clientY;\n const { height } = this.contenerRef.current.getBoundingClientRect();\n const delta = height / 2;\n const topDiff = this.myRef.current.getBoundingClientRect().top;\n const refHeight = this.myRef.current.getBoundingClientRect().height;\n\n this.setState({\n top: mouse - topDiff - refHeight / 2 - delta,\n });\n };\n\n handleMouseLeaveRow = () => {\n this.handleTooltipRow(false);\n };\n\n handleTooltipRow = (isOpen) => {\n this.setState({ isOpen });\n const { handleTooltipGroup } = this.props;\n handleTooltipGroup(isOpen);\n };\n\n render() {\n const {\n handleRuleContainerOperator,\n handleRuleContainerUnGroup,\n labelOn,\n labelOff,\n condition,\n showDragController,\n allowUnGroup,\n buttonActionSize,\n buttonActionType,\n toogleActionSize,\n onAddFilter,\n multipleSize,\n delayClose,\n delayOpen,\n step,\n toolBarAnimationDuration,\n toolBarInteractionType,\n toolBarPosition,\n isMain,\n toolTipZIndex,\n } = this.props;\n const { isOpen, top, right } = this.state;\n return (\n <div\n ref={this.myRef}\n className={`${cssClassName} ${mainModifier(condition ? 'active' : 'default')} step-${step} ${\n isMain ? 'is-main-group-join' : ''\n }`}\n // onMouseEnter={this.handleMouseEnterRow}\n onMouseLeave={this.handleMouseLeaveRow}\n // onMouseMove={this.handleMouseMove}\n >\n <div className={`${classNameBlock('content')} step-${step}`}>\n <DSTooltip\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={toolBarInteractionType}\n isOpen={isOpen}\n onOpen={this.handleTooltipRow}\n placement={toolBarPosition}\n springAnimationComponent={<ToolBarAnimation duration={toolBarAnimationDuration} />}\n step={step}\n title={\n <div\n ref={this.contenerRef}\n className={classNameBlock('actions')}\n style={{\n transition: '0.2s',\n position: 'absolute',\n top: `${top}px`,\n right: `${right}px`,\n }}\n >\n <DSTooltip\n title=\"Add condition\"\n triggerComponent={\n <DSButton\n buttonType={buttonActionType}\n className={classNameElement('add-rule')}\n icon={<QueryAdd />}\n onClick={onAddFilter}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'query-add-button',\n }}\n />\n }\n />\n {allowUnGroup && (\n <DSTooltip\n title=\"Remove group\"\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n className={classNameElement('ungroup')}\n icon={<ParenthesisRemove />}\n onClick={handleRuleContainerUnGroup}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'parenthesis-remove-button',\n }}\n />\n }\n />\n )}\n <DSToggle\n checked={condition}\n className={classNameElement('and-or-toggle')}\n labelOff={labelOff}\n labelOn={labelOn}\n onChange={(e) => handleRuleContainerOperator(e.target.checked)}\n size={toogleActionSize}\n containerProps={{\n 'data-testid': 'and-or-toggle-button',\n }}\n />\n </div>\n }\n tooltipType={TooltipType.TOOLBAR}\n triggerComponent={\n <div\n className={`${classNameBlock('trigger-controller')} ${\n showDragController ? classNameBlockModifier('draggable', 'trigger-controller') : ''\n } step-${step}`}\n >\n <div className={classNameElement('condition-display')}>\n <span className={classNameElement('condition-display-label')}>{condition ? labelOn : labelOff}</span>\n <span className={classNameElement('condition-display-step')}>{step}</span>\n <div className=\"separator\" />\n <MoreOptionsVert\n color={DSIconColors.NEUTRAL}\n onClick={this.handleMouseEnterRow}\n size={DSIconSizes.S}\n containerProps={{\n 'data-testid': 'and-or-more-options-button',\n }}\n />\n </div>\n {showDragController && (\n <DragContainerController multipleSize={multipleSize} onClick={this.handleMouseEnterRow} />\n )}\n </div>\n }\n zIndex={toolTipZIndex}\n />\n </div>\n </div>\n );\n }\n}\n\nexport default AndOrController;\n"],
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
@@ -6,8 +6,8 @@ import { PopperInteractions as Interaction, PopperPositions as Position } from "
6
6
  import { DSIconSizes } from "@elliemae/ds-icon";
7
7
  import { QueryRemove, MoreOptionsVert, QueryAdd, ParenthesisAdd } from "@elliemae/ds-icons";
8
8
  import DSButton from "@elliemae/ds-button";
9
- import { ToolBarAnimation } from "../ToolBarAnimation/ToolBarAnimation";
10
- import { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from "../helpers/constants";
9
+ import { ToolBarAnimation } from "../ToolBarAnimation/ToolBarAnimation.js";
10
+ import { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from "../helpers/constants.js";
11
11
  const ConditionController = ({
12
12
  onAddFilter = () => null,
13
13
  onAddRuleContainer = () => null,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/ConditionController/ConditionController.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport DSTooltip, { TooltipType } from '@elliemae/ds-tooltip';\nimport { PopperInteractions as Interaction, PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DSIconSizes } from '@elliemae/ds-icon';\nimport { QueryRemove, MoreOptionsVert, QueryAdd, ParenthesisAdd } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { ToolBarAnimation } from '../ToolBarAnimation/ToolBarAnimation';\nimport { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from '../helpers/constants';\n\nconst ConditionController = ({\n onAddFilter = () => null,\n onAddRuleContainer = () => null,\n onRemoveFilter = () => null,\n handleTooltipRow = () => null,\n buttonTriggerSize = DSIconSizes.M,\n buttonTriggerType = 'text',\n buttonActionSize = DSIconSizes.M,\n buttonActionType = 'text',\n delayClose = DELAY_CLOSE,\n delayOpen = DELAY_OPEN,\n isOpen = false,\n toolTipZIndex,\n}) => {\n const { cssClassName, classNameBlock, classNameElement } = convertPropToCssClassName(\n 'query-builder-condition-controller',\n );\n return (\n <div className={cssClassName}>\n <DSTooltip\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={Interaction.CLICK}\n isOpen={isOpen}\n onOpen={handleTooltipRow}\n placement={Position.LEFT}\n springAnimationComponent={<ToolBarAnimation duration={TOOLBAR_ANIMATION_DURATION} />}\n title={\n <div className={classNameBlock('actions')}>\n <DSTooltip title=\"Remove condition\"\n triggerComponent={<DSButton\n buttonType={buttonActionType}\n className={classNameElement('remove-rule')}\n icon={<QueryRemove />}\n onClick={onRemoveFilter}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'query-remove-button',\n }}\n />}\n />\n\n <DSTooltip title=\"Add condition\"\n triggerComponent={<DSButton\n buttonType={buttonActionType}\n className={classNameElement('add-rule')}\n icon={<QueryAdd />}\n onClick={onAddFilter}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'query-add-button',\n }}\n />}\n />\n\n <DSTooltip title=\"Add group\"\n triggerComponent={<DSButton\n buttonType={buttonActionType}\n className={`${classNameElement('add-rule-container')} no-border-right`}\n icon={<ParenthesisAdd />}\n onClick={onAddRuleContainer}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'parenthesis-add-button',\n }}\n />}\n />\n\n </div>\n }\n tooltipType={TooltipType.TOOLBAR}\n triggerComponent={\n <DSButton\n buttonType={buttonTriggerType}\n icon={<MoreOptionsVert color={['neutral', '500']} />}\n onClick={handleTooltipRow}\n size={buttonTriggerSize}\n containerProps={{\n 'data-testid': 'condition-more-options-button',\n }}\n />\n }\n zIndex={toolTipZIndex}\n />\n </div>\n );\n};\n\nexport default ConditionController;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACqCW,cAExB,YAFwB;AAnClC,SAAS,iCAAiC;AAC1C,OAAO,aAAa,mBAAmB;AACvC,SAAS,sBAAsB,aAAa,mBAAmB,gBAAgB;AAC/E,SAAS,mBAAmB;AAC5B,SAAS,aAAa,iBAAiB,UAAU,sBAAsB;AACvE,OAAO,cAAc;AACrB,SAAS,wBAAwB;AACjC,SAAS,aAAa,YAAY,kCAAkC;AAEpE,MAAM,sBAAsB,CAAC;AAAA,EAC3B,cAAc,MAAM;AAAA,EACpB,qBAAqB,MAAM;AAAA,EAC3B,iBAAiB,MAAM;AAAA,EACvB,mBAAmB,MAAM;AAAA,EACzB,oBAAoB,YAAY;AAAA,EAChC,oBAAoB;AAAA,EACpB,mBAAmB,YAAY;AAAA,EAC/B,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,SAAS;AAAA,EACT;AACF,MAAM;AACJ,QAAM,EAAE,cAAc,gBAAgB,iBAAiB,IAAI;AAAA,IACzD;AAAA,EACF;AACA,SACE,oBAAC,SAAI,WAAW,cACd;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,iBAAiB,YAAY;AAAA,MAC7B;AAAA,MACA,QAAQ;AAAA,MACR,WAAW,SAAS;AAAA,MACpB,0BAA0B,oBAAC,oBAAiB,UAAU,4BAA4B;AAAA,MAClF,OACE,qBAAC,SAAI,WAAW,eAAe,SAAS,GACtC;AAAA;AAAA,UAAC;AAAA;AAAA,YAAU,OAAM;AAAA,YACf,kBAAkB;AAAA,cAAC;AAAA;AAAA,gBACjB,YAAY;AAAA,gBACZ,WAAW,iBAAiB,aAAa;AAAA,gBACzC,MAAM,oBAAC,eAAY;AAAA,gBACnB,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,gBAAgB;AAAA,kBACd,eAAe;AAAA,gBACjB;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YAAU,OAAM;AAAA,YACf,kBAAkB;AAAA,cAAC;AAAA;AAAA,gBACjB,YAAY;AAAA,gBACZ,WAAW,iBAAiB,UAAU;AAAA,gBACtC,MAAM,oBAAC,YAAS;AAAA,gBAChB,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,gBAAgB;AAAA,kBACd,eAAe;AAAA,gBACjB;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YAAU,OAAM;AAAA,YACf,kBAAkB;AAAA,cAAC;AAAA;AAAA,gBACjB,YAAY;AAAA,gBACZ,WAAW,GAAG,iBAAiB,oBAAoB;AAAA,gBACnD,MAAM,oBAAC,kBAAe;AAAA,gBACtB,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,gBAAgB;AAAA,kBACd,eAAe;AAAA,gBACjB;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA,SAEF;AAAA,MAEF,aAAa,YAAY;AAAA,MACzB,kBACE;AAAA,QAAC;AAAA;AAAA,UACC,YAAY;AAAA,UACZ,MAAM,oBAAC,mBAAgB,OAAO,CAAC,WAAW,KAAK,GAAG;AAAA,UAClD,SAAS;AAAA,UACT,MAAM;AAAA,UACN,gBAAgB;AAAA,YACd,eAAe;AAAA,UACjB;AAAA;AAAA,MACF;AAAA,MAEF,QAAQ;AAAA;AAAA,EACV,GACF;AAEJ;AAEA,IAAO,8BAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport DSTooltip, { TooltipType } from '@elliemae/ds-tooltip';\nimport { PopperInteractions as Interaction, PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DSIconSizes } from '@elliemae/ds-icon';\nimport { QueryRemove, MoreOptionsVert, QueryAdd, ParenthesisAdd } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { ToolBarAnimation } from '../ToolBarAnimation/ToolBarAnimation.js';\nimport { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from '../helpers/constants.js';\n\nconst ConditionController = ({\n onAddFilter = () => null,\n onAddRuleContainer = () => null,\n onRemoveFilter = () => null,\n handleTooltipRow = () => null,\n buttonTriggerSize = DSIconSizes.M,\n buttonTriggerType = 'text',\n buttonActionSize = DSIconSizes.M,\n buttonActionType = 'text',\n delayClose = DELAY_CLOSE,\n delayOpen = DELAY_OPEN,\n isOpen = false,\n toolTipZIndex,\n}) => {\n const { cssClassName, classNameBlock, classNameElement } = convertPropToCssClassName(\n 'query-builder-condition-controller',\n );\n return (\n <div className={cssClassName}>\n <DSTooltip\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={Interaction.CLICK}\n isOpen={isOpen}\n onOpen={handleTooltipRow}\n placement={Position.LEFT}\n springAnimationComponent={<ToolBarAnimation duration={TOOLBAR_ANIMATION_DURATION} />}\n title={\n <div className={classNameBlock('actions')}>\n <DSTooltip\n title=\"Remove condition\"\n triggerComponent={\n <DSButton\n buttonType={buttonActionType}\n className={classNameElement('remove-rule')}\n icon={<QueryRemove />}\n onClick={onRemoveFilter}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'query-remove-button',\n }}\n />\n }\n />\n\n <DSTooltip\n title=\"Add condition\"\n triggerComponent={\n <DSButton\n buttonType={buttonActionType}\n className={classNameElement('add-rule')}\n icon={<QueryAdd />}\n onClick={onAddFilter}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'query-add-button',\n }}\n />\n }\n />\n\n <DSTooltip\n title=\"Add group\"\n triggerComponent={\n <DSButton\n buttonType={buttonActionType}\n className={`${classNameElement('add-rule-container')} no-border-right`}\n icon={<ParenthesisAdd />}\n onClick={onAddRuleContainer}\n size={buttonActionSize}\n containerProps={{\n 'data-testid': 'parenthesis-add-button',\n }}\n />\n }\n />\n </div>\n }\n tooltipType={TooltipType.TOOLBAR}\n triggerComponent={\n <DSButton\n buttonType={buttonTriggerType}\n icon={<MoreOptionsVert color={['neutral', '500']} />}\n onClick={handleTooltipRow}\n size={buttonTriggerSize}\n containerProps={{\n 'data-testid': 'condition-more-options-button',\n }}\n />\n }\n zIndex={toolTipZIndex}\n />\n </div>\n );\n};\n\nexport default ConditionController;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACqCW,cAExB,YAFwB;AAnClC,SAAS,iCAAiC;AAC1C,OAAO,aAAa,mBAAmB;AACvC,SAAS,sBAAsB,aAAa,mBAAmB,gBAAgB;AAC/E,SAAS,mBAAmB;AAC5B,SAAS,aAAa,iBAAiB,UAAU,sBAAsB;AACvE,OAAO,cAAc;AACrB,SAAS,wBAAwB;AACjC,SAAS,aAAa,YAAY,kCAAkC;AAEpE,MAAM,sBAAsB,CAAC;AAAA,EAC3B,cAAc,MAAM;AAAA,EACpB,qBAAqB,MAAM;AAAA,EAC3B,iBAAiB,MAAM;AAAA,EACvB,mBAAmB,MAAM;AAAA,EACzB,oBAAoB,YAAY;AAAA,EAChC,oBAAoB;AAAA,EACpB,mBAAmB,YAAY;AAAA,EAC/B,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,SAAS;AAAA,EACT;AACF,MAAM;AACJ,QAAM,EAAE,cAAc,gBAAgB,iBAAiB,IAAI;AAAA,IACzD;AAAA,EACF;AACA,SACE,oBAAC,SAAI,WAAW,cACd;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,iBAAiB,YAAY;AAAA,MAC7B;AAAA,MACA,QAAQ;AAAA,MACR,WAAW,SAAS;AAAA,MACpB,0BAA0B,oBAAC,oBAAiB,UAAU,4BAA4B;AAAA,MAClF,OACE,qBAAC,SAAI,WAAW,eAAe,SAAS,GACtC;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,kBACE;AAAA,cAAC;AAAA;AAAA,gBACC,YAAY;AAAA,gBACZ,WAAW,iBAAiB,aAAa;AAAA,gBACzC,MAAM,oBAAC,eAAY;AAAA,gBACnB,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,gBAAgB;AAAA,kBACd,eAAe;AAAA,gBACjB;AAAA;AAAA,YACF;AAAA;AAAA,QAEJ;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,kBACE;AAAA,cAAC;AAAA;AAAA,gBACC,YAAY;AAAA,gBACZ,WAAW,iBAAiB,UAAU;AAAA,gBACtC,MAAM,oBAAC,YAAS;AAAA,gBAChB,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,gBAAgB;AAAA,kBACd,eAAe;AAAA,gBACjB;AAAA;AAAA,YACF;AAAA;AAAA,QAEJ;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,kBACE;AAAA,cAAC;AAAA;AAAA,gBACC,YAAY;AAAA,gBACZ,WAAW,GAAG,iBAAiB,oBAAoB;AAAA,gBACnD,MAAM,oBAAC,kBAAe;AAAA,gBACtB,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,gBAAgB;AAAA,kBACd,eAAe;AAAA,gBACjB;AAAA;AAAA,YACF;AAAA;AAAA,QAEJ;AAAA,SACF;AAAA,MAEF,aAAa,YAAY;AAAA,MACzB,kBACE;AAAA,QAAC;AAAA;AAAA,UACC,YAAY;AAAA,UACZ,MAAM,oBAAC,mBAAgB,OAAO,CAAC,WAAW,KAAK,GAAG;AAAA,UAClD,SAAS;AAAA,UACT,MAAM;AAAA,UACN,gBAAgB;AAAA,YACd,eAAe;AAAA,UACjB;AAAA;AAAA,MACF;AAAA,MAEF,QAAQ;AAAA;AAAA,EACV,GACF;AAEJ;AAEA,IAAO,8BAAQ;",
6
6
  "names": []
7
7
  }
@@ -5,7 +5,7 @@ import { Grid } from "@elliemae/ds-grid";
5
5
  import { convertPropToCssClassName } from "@elliemae/ds-classnames";
6
6
  import { DSAccordion, DSAccordionItem } from "@elliemae/ds-accordion";
7
7
  import { ChevronDown, ChevronRight } from "@elliemae/ds-icons";
8
- import { QueryBuilderContext } from "../QueryBuilderContext/QueryBuilderContext";
8
+ import { QueryBuilderContext } from "../QueryBuilderContext/QueryBuilderContext.js";
9
9
  const { cssClassName } = convertPropToCssClassName("query-builder-output");
10
10
  class DisplayOutput extends Component {
11
11
  constructor(props) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DisplayOutput/DisplayOutput.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { Component } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSAccordion, DSAccordionItem } from '@elliemae/ds-accordion';\nimport { ChevronDown, ChevronRight } from '@elliemae/ds-icons';\nimport { QueryBuilderContext } from '../QueryBuilderContext/QueryBuilderContext';\n\nconst { cssClassName } = convertPropToCssClassName('query-builder-output');\n\nclass DisplayOutput extends Component {\n constructor(props) {\n super(props);\n this.state = {\n show: props.show,\n };\n }\n\n handleChange = () => {\n this.setState(({ show }) => ({\n show: !show,\n }));\n };\n\n render() {\n const { show } = this.state;\n const { showLabel, hideLabel, displayFixedOutput } = this.props;\n return (\n <QueryBuilderContext.Consumer>\n {({ format }) => {\n let display = '';\n try {\n display = typeof format === 'object' ? JSON.stringify(format) : format;\n } catch (e) {\n display = e;\n }\n if (displayFixedOutput) {\n return (\n <div className={cssClassName} data-testid=\"qb-fixed-output-wrapper\">\n <Grid p=\"xxs\">\n <strong data-testid=\"qb-fixed-output-label\">{displayFixedOutput}</strong>\n </Grid>\n <Grid pl=\"xxs\" pr=\"xxs\" data-testid=\"qb-fixed-output-content\">\n {display}\n </Grid>\n </div>\n );\n }\n\n return (\n <div className={cssClassName}>\n <DSAccordion activeValue={show} onChange={this.handleChange}>\n <DSAccordionItem\n iconClosed={ChevronRight}\n iconOpened={ChevronDown}\n title={show ? hideLabel : showLabel}\n value\n >\n <div>{display}</div>\n </DSAccordionItem>\n </DSAccordion>\n </div>\n );\n }}\n </QueryBuilderContext.Consumer>\n );\n }\n}\n\nexport default DisplayOutput;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { Component } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSAccordion, DSAccordionItem } from '@elliemae/ds-accordion';\nimport { ChevronDown, ChevronRight } from '@elliemae/ds-icons';\nimport { QueryBuilderContext } from '../QueryBuilderContext/QueryBuilderContext.js';\n\nconst { cssClassName } = convertPropToCssClassName('query-builder-output');\n\nclass DisplayOutput extends Component {\n constructor(props) {\n super(props);\n this.state = {\n show: props.show,\n };\n }\n\n handleChange = () => {\n this.setState(({ show }) => ({\n show: !show,\n }));\n };\n\n render() {\n const { show } = this.state;\n const { showLabel, hideLabel, displayFixedOutput } = this.props;\n return (\n <QueryBuilderContext.Consumer>\n {({ format }) => {\n let display = '';\n try {\n display = typeof format === 'object' ? JSON.stringify(format) : format;\n } catch (e) {\n display = e;\n }\n if (displayFixedOutput) {\n return (\n <div className={cssClassName} data-testid=\"qb-fixed-output-wrapper\">\n <Grid p=\"xxs\">\n <strong data-testid=\"qb-fixed-output-label\">{displayFixedOutput}</strong>\n </Grid>\n <Grid pl=\"xxs\" pr=\"xxs\" data-testid=\"qb-fixed-output-content\">\n {display}\n </Grid>\n </div>\n );\n }\n\n return (\n <div className={cssClassName}>\n <DSAccordion activeValue={show} onChange={this.handleChange}>\n <DSAccordionItem\n iconClosed={ChevronRight}\n iconOpened={ChevronDown}\n title={show ? hideLabel : showLabel}\n value\n >\n <div>{display}</div>\n </DSAccordionItem>\n </DSAccordion>\n </div>\n );\n }}\n </QueryBuilderContext.Consumer>\n );\n }\n}\n\nexport default DisplayOutput;\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACqCT,SAEI,KAFJ;AArCd,SAAgB,iBAAiB;AACjC,SAAS,YAAY;AACrB,SAAS,iCAAiC;AAC1C,SAAS,aAAa,uBAAuB;AAC7C,SAAS,aAAa,oBAAoB;AAC1C,SAAS,2BAA2B;AAEpC,MAAM,EAAE,aAAa,IAAI,0BAA0B,sBAAsB;AAEzE,MAAM,sBAAsB,UAAU;AAAA,EACpC,YAAY,OAAO;AACjB,UAAM,KAAK;AAMb,wBAAe,MAAM;AACnB,WAAK,SAAS,CAAC,EAAE,KAAK,OAAO;AAAA,QAC3B,MAAM,CAAC;AAAA,MACT,EAAE;AAAA,IACJ;AATE,SAAK,QAAQ;AAAA,MACX,MAAM,MAAM;AAAA,IACd;AAAA,EACF;AAAA,EAQA,SAAS;AACP,UAAM,EAAE,KAAK,IAAI,KAAK;AACtB,UAAM,EAAE,WAAW,WAAW,mBAAmB,IAAI,KAAK;AAC1D,WACE,oBAAC,oBAAoB,UAApB,EACE,WAAC,EAAE,OAAO,MAAM;AACf,UAAI,UAAU;AACd,UAAI;AACF,kBAAU,OAAO,WAAW,WAAW,KAAK,UAAU,MAAM,IAAI;AAAA,MAClE,SAAS,GAAP;AACA,kBAAU;AAAA,MACZ;AACA,UAAI,oBAAoB;AACtB,eACE,qBAAC,SAAI,WAAW,cAAc,eAAY,2BACxC;AAAA,8BAAC,QAAK,GAAE,OACN,8BAAC,YAAO,eAAY,yBAAyB,8BAAmB,GAClE;AAAA,UACA,oBAAC,QAAK,IAAG,OAAM,IAAG,OAAM,eAAY,2BACjC,mBACH;AAAA,WACF;AAAA,MAEJ;AAEA,aACE,oBAAC,SAAI,WAAW,cACd,8BAAC,eAAY,aAAa,MAAM,UAAU,KAAK,cAC7C;AAAA,QAAC;AAAA;AAAA,UACC,YAAY;AAAA,UACZ,YAAY;AAAA,UACZ,OAAO,OAAO,YAAY;AAAA,UAC1B,OAAK;AAAA,UAEL,8BAAC,SAAK,mBAAQ;AAAA;AAAA,MAChB,GACF,GACF;AAAA,IAEJ,GACF;AAAA,EAEJ;AACF;AAEA,IAAO,wBAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DragControllerRow/DragControllerRow.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DSIconSizes } from '@elliemae/ds-icon';\nimport { GripperVertical } from '@elliemae/ds-icons';\n\nconst DragControllerRow = ({\n className = 'drag-controller',\n color = ['neutral', '500'],\n icon: Icon = GripperVertical,\n size = DSIconSizes.M,\n ...rest\n}) => (\n <div className={className} {...rest}>\n <Icon color={color} size={size} />\n </div>\n);\nexport default DragControllerRow;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACYnB;AAXJ,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAEhC,MAAM,oBAAoB,CAAC;AAAA,EACzB,YAAY;AAAA,EACZ,QAAQ,CAAC,WAAW,KAAK;AAAA,EACzB,MAAM,OAAO;AAAA,EACb,OAAO,YAAY;AAAA,KAChB;AACL,MACE,oBAAC,SAAI,WAAuB,GAAG,MAC7B,8BAAC,QAAK,OAAc,MAAY,GAClC;AAEF,IAAO,4BAAQ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACYnB;AAXJ,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAEhC,MAAM,oBAAoB,CAAC;AAAA,EACzB,YAAY;AAAA,EACZ,QAAQ,CAAC,WAAW,KAAK;AAAA,EACzB,MAAM,OAAO;AAAA,EACb,OAAO,YAAY;AAAA,EACnB,GAAG;AACL,MACE,oBAAC,SAAI,WAAuB,GAAG,MAC7B,8BAAC,QAAK,OAAc,MAAY,GAClC;AAEF,IAAO,4BAAQ;",
6
6
  "names": []
7
7
  }
@@ -21,8 +21,8 @@ import {
21
21
  onMouseEnter,
22
22
  onToggleCollapse,
23
23
  onKeyDown
24
- } from "./actions";
25
- import NestableItem from "./NestableItem";
24
+ } from "./actions/index.js";
25
+ import NestableItem from "./NestableItem.js";
26
26
  const shallowCompare = (instance, nextProps, nextState) => !isEqualWith(instance.props, nextProps) || !isEqualWith(instance.state, nextState);
27
27
  class Nestable extends Component {
28
28
  constructor(props) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/Nestable/Nestable.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-bitwise, max-lines */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { listWithChildren } from '@elliemae/ds-shared';\nimport { isEqualWith } from '@elliemae/ds-utilities';\nimport {\n tryIncreaseDepth,\n tryDecreaseDepth,\n moveItem,\n getItemOptions,\n getRealNextPath,\n getPathById,\n getItemByPath,\n getItemDepth,\n getSplicePath,\n onDragStart,\n onDragEnd,\n onMouseMove,\n onMouseEnter,\n onToggleCollapse,\n onKeyDown,\n} from './actions';\nimport NestableItem from './NestableItem';\n\nconst shallowCompare = (instance, nextProps, nextState) =>\n !isEqualWith(instance.props, nextProps) || !isEqualWith(instance.state, nextState);\n\nclass Nestable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: [],\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n collapsedGroups: [],\n stopTrackingMouse: this.stopTrackMouse.bind(this),\n oldProps: props,\n };\n\n this.el = null;\n this.elCopyStyles = null;\n this.mouse = {\n last: { x: 0 },\n shift: { x: 0 },\n };\n\n this.dragApply = this.dragApply.bind(this);\n this.renderDragLayer = this.renderDragLayer.bind(this);\n }\n\n componentDidMount() {\n const { childrenProp } = this.props;\n let { items } = this.props;\n // make sure every item has property 'children'\n items = listWithChildren(items, childrenProp);\n this.setState({ items });\n }\n\n componentWillUnmount() {\n this.stopTrackMouse();\n }\n\n static getDerivedStateFromProps(props, state) {\n const { items: itemsNew, childrenProp } = props;\n const { stopTrackingMouse, oldProps } = state;\n\n if (shallowCompare({ props: oldProps, state: {} }, props, {})) {\n stopTrackingMouse();\n const extra = {};\n if (oldProps.collapsed !== props.collapsed) {\n extra.collapsedGroups = [];\n }\n return {\n items: listWithChildren(itemsNew, childrenProp),\n dragItem: null,\n isDirty: false,\n oldProps: props,\n ...extra,\n };\n }\n return null;\n }\n\n onDragStart = (e, item) => {\n onDragStart.call(this, e, item);\n };\n\n onDragEnd = (e, isCancel) => onDragEnd.call(this, e, isCancel);\n\n onMouseMove = (e) => onMouseMove.call(this, e);\n\n onMouseEnter = (e, item) => onMouseEnter.call(this, e, item);\n\n onToggleCollapse = (item, isGetter) => onToggleCollapse.call(this, item, isGetter);\n\n onKeyDown = (e) => onKeyDown.call(this, e);\n\n getDefaultItems = () => {\n const { items } = this.state;\n return items;\n };\n\n getPathById(id, items = this.getDefaultItems()) {\n return getPathById.call(this, id, items);\n }\n\n getItemByPath(path, items = this.getDefaultItems()) {\n return getItemByPath.call(this, path, items);\n }\n\n getItemDepth = (item) => getItemDepth.call(this, item);\n\n getSplicePath(path, options = {}) {\n return getSplicePath.call(this, path, options);\n }\n\n getRealNextPath(prevPath, nextPath) {\n return getRealNextPath.call(this, prevPath, nextPath);\n }\n\n getItemOptions() {\n return getItemOptions.call(this);\n }\n\n startTrackMouse = () => {\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onDragEnd);\n document.addEventListener('keydown', this.onKeyDown);\n };\n\n stopTrackMouse = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n document.removeEventListener('keydown', this.onKeyDown);\n this.elCopyStyles = null;\n };\n\n isCollapsed = (item) => {\n const { collapsed } = this.props;\n const { collapsedGroups } = this.state;\n return !!((collapsedGroups.indexOf(item.id) > -1) ^ collapsed);\n };\n\n checkFilterChildren = (items) =>\n items.find((current) => {\n const {\n element: { type },\n children,\n } = current;\n if (type === 'filter' && children.length > 0) return true;\n return this.checkFilterChildren(children);\n });\n\n dragRevert = () => {\n const { itemsOld } = this.state;\n\n this.setState({\n items: itemsOld,\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n };\n\n dragApply() {\n const { onChange } = this.props;\n const { items, isDirty, dragItem } = this.state;\n\n this.setState({\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n\n if (onChange && isDirty) onChange(items, dragItem);\n }\n\n tryIncreaseDepth(dragItem) {\n tryIncreaseDepth.call(this, dragItem);\n }\n\n tryDecreaseDepth(dragItem) {\n tryDecreaseDepth.call(this, dragItem);\n }\n\n moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {\n moveItem.call(this, { dragItem, pathFrom, pathTo }, extraProps);\n }\n\n renderDragLayer() {\n const { group } = this.props;\n const { dragItem } = this.state;\n const el = document.querySelector(`.nestable-${group} .nestable-item-${dragItem.id}`);\n\n let listStyles = {};\n if (el) {\n listStyles.width = el.clientWidth;\n }\n if (this.elCopyStyles) {\n listStyles = {\n ...listStyles,\n ...this.elCopyStyles,\n };\n }\n\n const options = this.getItemOptions();\n\n return (\n <div className=\"nestable-drag-layer\">\n <ol className=\"nestable-list\" style={listStyles}>\n <NestableItem isCopy item={dragItem} options={options} />\n </ol>\n </div>\n );\n }\n\n render() {\n const { items, dragItem } = this.state;\n const { group, isAndItem, isOrItem, isDraggableItem, setDraggableItems, singleRow } = this.props;\n const options = this.getItemOptions();\n const childLength = items.length;\n let childClass = 'single';\n if (childLength === 0) childClass = 'empty';\n else if (childLength > 1) childClass = 'multiple';\n\n return (\n <div\n className={cn('nestable', `nestable-${group}`, {\n 'is-drag-active': dragItem,\n })}\n >\n <ol className={`nestable-list nestable-group nestable-child-count-${childClass}`}>\n {items.map((item, i) => (\n <NestableItem\n key={item.id}\n index={i}\n isAndItem={isAndItem}\n isDraggableItem={isDraggableItem}\n isOrItem={isOrItem}\n item={item}\n options={options}\n setDraggableItems={setDraggableItems}\n singleRow={singleRow}\n />\n ))}\n </ol>\n {dragItem && this.renderDragLayer()}\n </div>\n );\n }\n}\n\nNestable.defaultProps = {\n items: [],\n collapsed: false,\n group: Math.random().toString(36).slice(2),\n childrenProp: 'children',\n onChange: () => {},\n};\n\nNestable.propTypes = {\n childrenProp: PropTypes.string,\n group: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n collapsed: PropTypes.bool,\n onChange: PropTypes.func,\n isAndItem: PropTypes.bool,\n isOrItem: PropTypes.bool,\n isDraggableItem: PropTypes.bool,\n setDraggableItems: PropTypes.func,\n singleRow: PropTypes.bool,\n};\n\nexport default Nestable;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-bitwise, max-lines */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { listWithChildren } from '@elliemae/ds-shared';\nimport { isEqualWith } from '@elliemae/ds-utilities';\nimport {\n tryIncreaseDepth,\n tryDecreaseDepth,\n moveItem,\n getItemOptions,\n getRealNextPath,\n getPathById,\n getItemByPath,\n getItemDepth,\n getSplicePath,\n onDragStart,\n onDragEnd,\n onMouseMove,\n onMouseEnter,\n onToggleCollapse,\n onKeyDown,\n} from './actions/index.js';\nimport NestableItem from './NestableItem.js';\n\nconst shallowCompare = (instance, nextProps, nextState) =>\n !isEqualWith(instance.props, nextProps) || !isEqualWith(instance.state, nextState);\n\nclass Nestable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: [],\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n collapsedGroups: [],\n stopTrackingMouse: this.stopTrackMouse.bind(this),\n oldProps: props,\n };\n\n this.el = null;\n this.elCopyStyles = null;\n this.mouse = {\n last: { x: 0 },\n shift: { x: 0 },\n };\n\n this.dragApply = this.dragApply.bind(this);\n this.renderDragLayer = this.renderDragLayer.bind(this);\n }\n\n componentDidMount() {\n const { childrenProp } = this.props;\n let { items } = this.props;\n // make sure every item has property 'children'\n items = listWithChildren(items, childrenProp);\n this.setState({ items });\n }\n\n componentWillUnmount() {\n this.stopTrackMouse();\n }\n\n static getDerivedStateFromProps(props, state) {\n const { items: itemsNew, childrenProp } = props;\n const { stopTrackingMouse, oldProps } = state;\n\n if (shallowCompare({ props: oldProps, state: {} }, props, {})) {\n stopTrackingMouse();\n const extra = {};\n if (oldProps.collapsed !== props.collapsed) {\n extra.collapsedGroups = [];\n }\n return {\n items: listWithChildren(itemsNew, childrenProp),\n dragItem: null,\n isDirty: false,\n oldProps: props,\n ...extra,\n };\n }\n return null;\n }\n\n onDragStart = (e, item) => {\n onDragStart.call(this, e, item);\n };\n\n onDragEnd = (e, isCancel) => onDragEnd.call(this, e, isCancel);\n\n onMouseMove = (e) => onMouseMove.call(this, e);\n\n onMouseEnter = (e, item) => onMouseEnter.call(this, e, item);\n\n onToggleCollapse = (item, isGetter) => onToggleCollapse.call(this, item, isGetter);\n\n onKeyDown = (e) => onKeyDown.call(this, e);\n\n getDefaultItems = () => {\n const { items } = this.state;\n return items;\n };\n\n getPathById(id, items = this.getDefaultItems()) {\n return getPathById.call(this, id, items);\n }\n\n getItemByPath(path, items = this.getDefaultItems()) {\n return getItemByPath.call(this, path, items);\n }\n\n getItemDepth = (item) => getItemDepth.call(this, item);\n\n getSplicePath(path, options = {}) {\n return getSplicePath.call(this, path, options);\n }\n\n getRealNextPath(prevPath, nextPath) {\n return getRealNextPath.call(this, prevPath, nextPath);\n }\n\n getItemOptions() {\n return getItemOptions.call(this);\n }\n\n startTrackMouse = () => {\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onDragEnd);\n document.addEventListener('keydown', this.onKeyDown);\n };\n\n stopTrackMouse = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n document.removeEventListener('keydown', this.onKeyDown);\n this.elCopyStyles = null;\n };\n\n isCollapsed = (item) => {\n const { collapsed } = this.props;\n const { collapsedGroups } = this.state;\n return !!((collapsedGroups.indexOf(item.id) > -1) ^ collapsed);\n };\n\n checkFilterChildren = (items) =>\n items.find((current) => {\n const {\n element: { type },\n children,\n } = current;\n if (type === 'filter' && children.length > 0) return true;\n return this.checkFilterChildren(children);\n });\n\n dragRevert = () => {\n const { itemsOld } = this.state;\n\n this.setState({\n items: itemsOld,\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n };\n\n dragApply() {\n const { onChange } = this.props;\n const { items, isDirty, dragItem } = this.state;\n\n this.setState({\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n\n if (onChange && isDirty) onChange(items, dragItem);\n }\n\n tryIncreaseDepth(dragItem) {\n tryIncreaseDepth.call(this, dragItem);\n }\n\n tryDecreaseDepth(dragItem) {\n tryDecreaseDepth.call(this, dragItem);\n }\n\n moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {\n moveItem.call(this, { dragItem, pathFrom, pathTo }, extraProps);\n }\n\n renderDragLayer() {\n const { group } = this.props;\n const { dragItem } = this.state;\n const el = document.querySelector(`.nestable-${group} .nestable-item-${dragItem.id}`);\n\n let listStyles = {};\n if (el) {\n listStyles.width = el.clientWidth;\n }\n if (this.elCopyStyles) {\n listStyles = {\n ...listStyles,\n ...this.elCopyStyles,\n };\n }\n\n const options = this.getItemOptions();\n\n return (\n <div className=\"nestable-drag-layer\">\n <ol className=\"nestable-list\" style={listStyles}>\n <NestableItem isCopy item={dragItem} options={options} />\n </ol>\n </div>\n );\n }\n\n render() {\n const { items, dragItem } = this.state;\n const { group, isAndItem, isOrItem, isDraggableItem, setDraggableItems, singleRow } = this.props;\n const options = this.getItemOptions();\n const childLength = items.length;\n let childClass = 'single';\n if (childLength === 0) childClass = 'empty';\n else if (childLength > 1) childClass = 'multiple';\n\n return (\n <div\n className={cn('nestable', `nestable-${group}`, {\n 'is-drag-active': dragItem,\n })}\n >\n <ol className={`nestable-list nestable-group nestable-child-count-${childClass}`}>\n {items.map((item, i) => (\n <NestableItem\n key={item.id}\n index={i}\n isAndItem={isAndItem}\n isDraggableItem={isDraggableItem}\n isOrItem={isOrItem}\n item={item}\n options={options}\n setDraggableItems={setDraggableItems}\n singleRow={singleRow}\n />\n ))}\n </ol>\n {dragItem && this.renderDragLayer()}\n </div>\n );\n }\n}\n\nNestable.defaultProps = {\n items: [],\n collapsed: false,\n group: Math.random().toString(36).slice(2),\n childrenProp: 'children',\n onChange: () => {},\n};\n\nNestable.propTypes = {\n childrenProp: PropTypes.string,\n group: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n collapsed: PropTypes.bool,\n onChange: PropTypes.func,\n isAndItem: PropTypes.bool,\n isOrItem: PropTypes.bool,\n isDraggableItem: PropTypes.bool,\n setDraggableItems: PropTypes.func,\n singleRow: PropTypes.bool,\n};\n\nexport default Nestable;\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,16 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import cn from "classnames";
4
- const NestableItem = ({
5
- item,
6
- isCopy,
7
- options,
8
- index,
9
- isAndItem,
10
- isOrItem,
11
- isDraggableItem,
12
- singleRow
13
- }) => {
4
+ const NestableItem = ({ item, isCopy, options, index, isAndItem, isOrItem, isDraggableItem, singleRow }) => {
14
5
  const { dragItem, renderItem, handler, childrenProp } = options;
15
6
  const isCollapsed = options.isCollapsed(item);
16
7
  const isDragging = !isCopy && dragItem && dragItem.id === item.id;
@@ -65,18 +56,11 @@ const NestableItem = ({
65
56
  else if (childLength > 1)
66
57
  childClass = "multiple";
67
58
  return /* @__PURE__ */ jsxs("li", { ...itemProps, children: [
68
- /* @__PURE__ */ jsx(
69
- "div",
70
- {
71
- className: `nestable-item-name nestable-item-name--${item.element.type} `,
72
- ...rowProps,
73
- children: renderItem({
74
- item,
75
- handler: Handler,
76
- index
77
- })
78
- }
79
- ),
59
+ /* @__PURE__ */ jsx("div", { className: `nestable-item-name nestable-item-name--${item.element.type} `, ...rowProps, children: renderItem({
60
+ item,
61
+ handler: Handler,
62
+ index
63
+ }) }),
80
64
  hasChildren && item.element.type === "group" && !isCollapsed && /* @__PURE__ */ jsx("ol", { className: `nestable-list nestable-child-count-${childClass} `, children: item[childrenProp].map((currentitem, i) => /* @__PURE__ */ jsx(
81
65
  NestableItem,
82
66
  {