@hitachivantara/uikit-react-core 5.15.0 → 5.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/cjs/components/ActionBar/ActionBar.cjs +8 -7
  2. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs +16 -17
  4. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs.map +1 -1
  5. package/dist/cjs/components/Pagination/Pagination.cjs +46 -45
  6. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  7. package/dist/cjs/components/Pagination/Pagination.styles.cjs +98 -160
  8. package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
  9. package/dist/cjs/components/Pagination/Select.cjs +2 -1
  10. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  11. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +30 -33
  12. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
  13. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs +14 -0
  14. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs.map +1 -0
  15. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +6 -6
  16. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  17. package/dist/cjs/components/QueryBuilder/{RuleGroup/RuleGroup.styles.cjs → QueryBuilder.styles.cjs} +48 -29
  18. package/dist/cjs/components/QueryBuilder/QueryBuilder.styles.cjs.map +1 -0
  19. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +60 -61
  20. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  21. package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs +10 -5
  22. package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs.map +1 -1
  23. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +253 -0
  24. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +1 -0
  25. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs +40 -0
  26. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs.map +1 -0
  27. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/utils.cjs +37 -0
  28. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/utils.cjs.map +1 -0
  29. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs +10 -6
  30. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs.map +1 -1
  31. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +76 -82
  32. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
  33. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs +33 -37
  34. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs.map +1 -1
  35. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs +8 -3
  36. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs.map +1 -1
  37. package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs +8 -5
  38. package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs.map +1 -1
  39. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +155 -166
  40. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  41. package/dist/cjs/components/TimePicker/Placeholder.cjs +70 -0
  42. package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -0
  43. package/dist/cjs/components/TimePicker/TimePicker.cjs +212 -0
  44. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -0
  45. package/dist/cjs/components/TimePicker/TimePicker.styles.cjs +53 -0
  46. package/dist/cjs/components/TimePicker/TimePicker.styles.cjs.map +1 -0
  47. package/dist/cjs/components/TimePicker/Unit/Unit.cjs +72 -0
  48. package/dist/cjs/components/TimePicker/Unit/Unit.cjs.map +1 -0
  49. package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs +56 -0
  50. package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs.map +1 -0
  51. package/dist/cjs/index.cjs +10 -6
  52. package/dist/cjs/index.cjs.map +1 -1
  53. package/dist/cjs/utils/classes.cjs +4 -3
  54. package/dist/cjs/utils/classes.cjs.map +1 -1
  55. package/dist/esm/components/ActionBar/ActionBar.js +11 -9
  56. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  57. package/dist/esm/components/ActionBar/ActionBar.styles.js +16 -15
  58. package/dist/esm/components/ActionBar/ActionBar.styles.js.map +1 -1
  59. package/dist/esm/components/Pagination/Pagination.js +50 -48
  60. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  61. package/dist/esm/components/Pagination/Pagination.styles.js +98 -158
  62. package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
  63. package/dist/esm/components/Pagination/Select.js +2 -1
  64. package/dist/esm/components/Pagination/Select.js.map +1 -1
  65. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +31 -34
  66. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  67. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js +14 -0
  68. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js.map +1 -0
  69. package/dist/esm/components/QueryBuilder/QueryBuilder.js +6 -6
  70. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  71. package/dist/esm/components/QueryBuilder/{RuleGroup/RuleGroup.styles.js → QueryBuilder.styles.js} +48 -29
  72. package/dist/esm/components/QueryBuilder/QueryBuilder.styles.js.map +1 -0
  73. package/dist/esm/components/QueryBuilder/Rule/Rule.js +61 -62
  74. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  75. package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js +10 -5
  76. package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js.map +1 -1
  77. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +250 -0
  78. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -0
  79. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js +40 -0
  80. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js.map +1 -0
  81. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/utils.js +35 -0
  82. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/utils.js.map +1 -0
  83. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js +10 -6
  84. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js.map +1 -1
  85. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +78 -84
  86. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  87. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js +34 -38
  88. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
  89. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js +8 -3
  90. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js.map +1 -1
  91. package/dist/esm/components/QueryBuilder/Rule/Value/Value.js +7 -4
  92. package/dist/esm/components/QueryBuilder/Rule/Value/Value.js.map +1 -1
  93. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +157 -168
  94. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  95. package/dist/esm/components/TimePicker/Placeholder.js +70 -0
  96. package/dist/esm/components/TimePicker/Placeholder.js.map +1 -0
  97. package/dist/esm/components/TimePicker/TimePicker.js +213 -0
  98. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -0
  99. package/dist/esm/components/TimePicker/TimePicker.styles.js +53 -0
  100. package/dist/esm/components/TimePicker/TimePicker.styles.js.map +1 -0
  101. package/dist/esm/components/TimePicker/Unit/Unit.js +72 -0
  102. package/dist/esm/components/TimePicker/Unit/Unit.js.map +1 -0
  103. package/dist/esm/components/TimePicker/Unit/Unit.styles.js +56 -0
  104. package/dist/esm/components/TimePicker/Unit/Unit.styles.js.map +1 -0
  105. package/dist/esm/index.js +238 -234
  106. package/dist/esm/index.js.map +1 -1
  107. package/dist/esm/utils/classes.js +4 -3
  108. package/dist/esm/utils/classes.js.map +1 -1
  109. package/dist/types/index.d.ts +194 -82
  110. package/package.json +5 -5
  111. package/dist/cjs/components/ActionBar/actionBarClasses.cjs +0 -8
  112. package/dist/cjs/components/ActionBar/actionBarClasses.cjs.map +0 -1
  113. package/dist/cjs/components/Pagination/paginationClasses.cjs +0 -8
  114. package/dist/cjs/components/Pagination/paginationClasses.cjs.map +0 -1
  115. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.cjs +0 -8
  116. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.cjs.map +0 -1
  117. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.cjs +0 -8
  118. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.cjs.map +0 -1
  119. package/dist/cjs/components/QueryBuilder/Rule/ruleClasses.cjs +0 -8
  120. package/dist/cjs/components/QueryBuilder/Rule/ruleClasses.cjs.map +0 -1
  121. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.styles.cjs.map +0 -1
  122. package/dist/cjs/components/QueryBuilder/queryBuilderClasses.cjs +0 -8
  123. package/dist/cjs/components/QueryBuilder/queryBuilderClasses.cjs.map +0 -1
  124. package/dist/esm/components/ActionBar/actionBarClasses.js +0 -8
  125. package/dist/esm/components/ActionBar/actionBarClasses.js.map +0 -1
  126. package/dist/esm/components/Pagination/paginationClasses.js +0 -8
  127. package/dist/esm/components/Pagination/paginationClasses.js.map +0 -1
  128. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.js +0 -8
  129. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.js.map +0 -1
  130. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.js +0 -8
  131. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.js.map +0 -1
  132. package/dist/esm/components/QueryBuilder/Rule/ruleClasses.js +0 -8
  133. package/dist/esm/components/QueryBuilder/Rule/ruleClasses.js.map +0 -1
  134. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.styles.js.map +0 -1
  135. package/dist/esm/components/QueryBuilder/queryBuilderClasses.js +0 -8
  136. package/dist/esm/components/QueryBuilder/queryBuilderClasses.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.cjs","sources":["../../../../src/components/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\nimport isEqual from \"lodash/isEqual\";\nimport {\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport { QueryBuilderContext } from \"./Context\";\nimport { HvQueryBuilderClasses } from \"./queryBuilderClasses\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n Attribute,\n Query,\n QueryBuilderLabels,\n QueryCombinator,\n QueryOperator,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup } from \"./utils\";\nimport reducer from \"./utils/reducer\";\n\nexport interface HvQueryBuilderProps {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes?: HvQueryBuilderClasses;\n attributes?: Record<string, Attribute>;\n /**\n * The query rules operators by attribute type and combinator.\n */\n operators?: Record<string, QueryOperator[]>;\n /**\n * The query combinators operands.\n */\n combinators?: QueryCombinator[];\n /**\n * The initial query representation.\n */\n query?: Query;\n /**\n * Callback fired when query changes.\n * @param {Query} value - the query representation.\n */\n onChange?: (value: Query) => void;\n /**\n * Max depth of nested query groups.\n */\n maxDepth?: number;\n /**\n * An object containing all the labels.\n */\n labels?: QueryBuilderLabels;\n /**\n * A flag indicating if the Query Builder is in read only mode.\n */\n readOnly?: boolean;\n}\n\n/**\n * **HvQueryBuilder** component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * **PLEASE NOTE**: This component implementation is still a WIP. There might be breaking changes.\n */\nexport const HvQueryBuilder = ({\n attributes,\n query,\n onChange,\n operators,\n combinators,\n maxDepth = 1,\n labels,\n readOnly = false,\n classes,\n}: HvQueryBuilderProps) => {\n const [pendingAction, askAction] = useState<AskAction>();\n const currentAttributes = useRef<\n Record<string, Attribute> | undefined | null\n >(null);\n const [state, dispatchAction] = useReducer(\n reducer,\n query,\n (initialState) => initialState || emptyGroup()\n );\n\n const initialState = query === state;\n const [prevState, setPrevState] = useState();\n\n const defaultcontext = useContext(QueryBuilderContext);\n\n const context = useMemo(\n () => ({\n dispatchAction,\n askAction,\n attributes,\n /* eslint-disable react/destructuring-assignment */\n operators: operators ?? defaultcontext.operators,\n combinators: combinators ?? defaultcontext.combinators,\n maxDepth: maxDepth ?? defaultcontext.maxDepth,\n labels: labels ?? defaultcontext.labels,\n initialTouched: initialState,\n readOnly,\n }),\n [\n attributes,\n operators,\n defaultcontext.operators,\n defaultcontext.combinators,\n defaultcontext.maxDepth,\n defaultcontext.labels,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n ]\n );\n\n useEffect(() => {\n if (currentAttributes.current == null) {\n // first run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // attributes changed, the existing query is almost certain invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n // Propagate the change if the query is modified.\n useEffect(() => {\n if (!initialState && !isEqual(state, prevState)) {\n onChange?.(clearNodeIds(state));\n setPrevState(cloneDeep(state));\n }\n }, [state, prevState, initialState, onChange]);\n\n const onConfirmHandler = () => {\n if (pendingAction) {\n askAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const onCancelHandler = () => {\n askAction(undefined);\n };\n\n return (\n <QueryBuilderContext.Provider value={context}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={onConfirmHandler}\n onCancel={onCancelHandler}\n title={pendingAction?.dialog.dialogTitle || \"\"}\n message={pendingAction?.dialog.dialogMessage || \"\"}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm || \"\"}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel || \"\"}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip || \"\"}\n />\n </QueryBuilderContext.Provider>\n );\n};\n"],"names":["HvQueryBuilder","attributes","query","onChange","operators","combinators","maxDepth","labels","readOnly","classes","pendingAction","askAction","useState","currentAttributes","useRef","state","dispatchAction","useReducer","reducer","initialState","emptyGroup","prevState","setPrevState","defaultcontext","useContext","QueryBuilderContext","context","useMemo","initialTouched","useEffect","current","type","isEqual","clearNodeIds","cloneDeep","onConfirmHandler","undefined","actions","forEach","action","onCancelHandler","_jsxs","Provider","value","children","_jsx","RuleGroup","level","id","combinator","rules","ConfirmationDialog","isOpen","onConfirm","onCancel","title","dialog","dialogTitle","message","dialogMessage","confirmButtonLabel","dialogConfirm","cancelButtonLabel","dialogCancel","closeButtonTooltip","dialogCloseTooltip"],"mappings":";;;;;;;;;;;;;;AAqEO,MAAMA,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC;AAAAA,EACAC,WAAW;AAAA,EACXC;AACmB,MAAM;AACzB,QAAM,CAACC,eAAeC,SAAS,IAAIC,MAAoB,SAAA;AACjDC,QAAAA,oBAAoBC,aAExB,IAAI;AACA,QAAA,CAACC,OAAOC,cAAc,IAAIC,iBAC9BC,QAAAA,SACAhB,OACCiB,CAAAA,kBAAiBA,iBAAgBC,MAAAA,WACpC,CAAA;AAEA,QAAMD,eAAejB,UAAUa;AAC/B,QAAM,CAACM,WAAWC,YAAY,IAAIV,MAAS,SAAA;AAErCW,QAAAA,iBAAiBC,iBAAWC,QAAAA,mBAAmB;AAE/CC,QAAAA,UAAUC,MAAAA,QACd,OAAO;AAAA,IACLX;AAAAA,IACAL;AAAAA,IACAV;AAAAA;AAAAA,IAEAG,WAAWA,aAAamB,eAAenB;AAAAA,IACvCC,aAAaA,eAAekB,eAAelB;AAAAA,IAC3CC,UAAUA,YAAYiB,eAAejB;AAAAA,IACrCC,QAAQA,UAAUgB,eAAehB;AAAAA,IACjCqB,gBAAgBT;AAAAA,IAChBX;AAAAA,EAAAA,IAEF,CACEP,YACAG,WACAmB,eAAenB,WACfmB,eAAelB,aACfkB,eAAejB,UACfiB,eAAehB,QACfF,aACAC,UACAC,QACAC,UACAW,YAAY,CAEhB;AAEAU,QAAAA,UAAU,MAAM;AACVhB,QAAAA,kBAAkBiB,WAAW,MAAM;AAErCjB,wBAAkBiB,UAAU7B;AAAAA,IAAAA,WACnBY,kBAAkBiB,YAAY7B,YAAY;AAEnDY,wBAAkBiB,UAAU7B;AACb,qBAAA;AAAA,QAAE8B,MAAM;AAAA,MAAA,CAAe;AAAA,IACxC;AAAA,EAAA,GACC,CAAC9B,UAAU,CAAC;AAGf4B,QAAAA,UAAU,MAAM;AACd,QAAI,CAACV,gBAAgB,CAACa,iBAAQjB,QAAAA,OAAOM,SAAS,GAAG;AACpCY,2CAAAA,MAAAA,aAAalB,KAAK;AAChBmB,mBAAAA,mBAAAA,QAAUnB,KAAK,CAAC;AAAA,IAC/B;AAAA,KACC,CAACA,OAAOM,WAAWF,cAAchB,QAAQ,CAAC;AAE7C,QAAMgC,mBAAmBA,MAAM;AAC7B,QAAIzB,eAAe;AACjBC,gBAAUyB,MAAS;AACnB1B,oBAAc2B,QAAQC,QAASC,CAAWvB,WAAAA,eAAeuB,MAAM,CAAC;AAAA,IAClE;AAAA,EAAA;AAGF,QAAMC,kBAAkBA,MAAM;AAC5B7B,cAAUyB,MAAS;AAAA,EAAA;AAInBK,SAAAA,2BAAAA,KAAChB,4BAAoBiB,UAAQ;AAAA,IAACC,OAAOjB;AAAAA,IAAQkB,UAAA,CAC3CC,2BAAAA,IAACC,qBAAS;AAAA,MACRC,OAAO;AAAA,MACPC,IAAIjC,MAAMiC;AAAAA,MACVC,YAAYlC,MAAMkC;AAAAA,MAClBC,OAAOnC,MAAMmC;AAAAA,MACbzC;AAAAA,IAAAA,CACD,GACDoC,2BAAAA,IAACM,uCAAkB;AAAA,MACjBC,QAAQ1C,iBAAiB;AAAA,MACzB2C,WAAWlB;AAAAA,MACXmB,UAAUd;AAAAA,MACVe,QAAO7C,+CAAe8C,OAAOC,gBAAe;AAAA,MAC5CC,UAAShD,+CAAe8C,OAAOG,kBAAiB;AAAA,MAChDC,qBAAoBlD,+CAAe8C,OAAOK,kBAAiB;AAAA,MAC3DC,oBAAmBpD,+CAAe8C,OAAOO,iBAAgB;AAAA,MACzDC,qBAAoBtD,+CAAe8C,OAAOS,uBAAsB;AAAA,IAAA,CACjE,CAAC;AAAA,EAAA,CAC0B;AAElC;;"}
1
+ {"version":3,"file":"QueryBuilder.cjs","sources":["../../../../src/components/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\nimport isEqual from \"lodash/isEqual\";\n\nimport {\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\n\nimport { ExtractNames } from \"@core/utils\";\n\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport { QueryBuilderContext } from \"./Context\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n Attribute,\n Query,\n QueryBuilderLabels,\n QueryCombinator,\n QueryOperator,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup } from \"./utils\";\nimport reducer from \"./utils/reducer\";\nimport { useClasses, staticClasses } from \"./QueryBuilder.styles\";\n\nexport { staticClasses as queryBuilderClasses };\n\nexport type HvQueryBuilderClasses = Partial<ExtractNames<typeof useClasses>>;\n\nexport interface HvQueryBuilderProps {\n attributes?: Record<string, Attribute>;\n /**\n * The query rules operators by attribute type and combinator.\n */\n operators?: Record<string, QueryOperator[]>;\n /**\n * The query combinators operands.\n */\n combinators?: QueryCombinator[];\n /**\n * The initial query representation.\n */\n query?: Query;\n /**\n * Callback fired when query changes.\n * @param {Query} value - the query representation.\n */\n onChange?: (value: Query) => void;\n /**\n * Max depth of nested query groups.\n */\n maxDepth?: number;\n /**\n * An object containing all the labels.\n */\n labels?: QueryBuilderLabels;\n /**\n * A flag indicating if the Query Builder is in read only mode.\n */\n readOnly?: boolean;\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes?: HvQueryBuilderClasses;\n}\n\n/**\n * **HvQueryBuilder** component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n */\nexport const HvQueryBuilder = ({\n attributes,\n query,\n onChange,\n operators,\n combinators,\n maxDepth = 1,\n labels,\n readOnly = false,\n classes,\n}: HvQueryBuilderProps) => {\n const [pendingAction, askAction] = useState<AskAction>();\n const currentAttributes = useRef<\n Record<string, Attribute> | undefined | null\n >(null);\n const [state, dispatchAction] = useReducer(\n reducer,\n query,\n (initialState) => initialState || emptyGroup()\n );\n\n const initialState = query === state;\n const [prevState, setPrevState] = useState();\n\n const defaultContext = useContext(QueryBuilderContext);\n\n const context = useMemo(\n () => ({\n dispatchAction,\n askAction,\n attributes,\n /* eslint-disable react/destructuring-assignment */\n operators: operators ?? defaultContext.operators,\n combinators: combinators ?? defaultContext.combinators,\n maxDepth: maxDepth ?? defaultContext.maxDepth,\n labels: labels ?? defaultContext.labels,\n initialTouched: initialState,\n readOnly,\n }),\n [\n attributes,\n operators,\n defaultContext.operators,\n defaultContext.combinators,\n defaultContext.maxDepth,\n defaultContext.labels,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n ]\n );\n\n useEffect(() => {\n if (currentAttributes.current == null) {\n // first run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // attributes changed, the existing query is almost certain invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n // Propagate the change if the query is modified.\n useEffect(() => {\n if (!initialState && !isEqual(state, prevState)) {\n onChange?.(clearNodeIds(state));\n setPrevState(cloneDeep(state));\n }\n }, [state, prevState, initialState, onChange]);\n\n const onConfirmHandler = () => {\n if (pendingAction) {\n askAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const onCancelHandler = () => {\n askAction(undefined);\n };\n\n return (\n <QueryBuilderContext.Provider value={context}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={onConfirmHandler}\n onCancel={onCancelHandler}\n title={pendingAction?.dialog.dialogTitle || \"\"}\n message={pendingAction?.dialog.dialogMessage || \"\"}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm || \"\"}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel || \"\"}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip || \"\"}\n />\n </QueryBuilderContext.Provider>\n );\n};\n"],"names":["HvQueryBuilder","attributes","query","onChange","operators","combinators","maxDepth","labels","readOnly","classes","pendingAction","askAction","useState","currentAttributes","useRef","state","dispatchAction","useReducer","reducer","initialState","emptyGroup","prevState","setPrevState","defaultContext","useContext","QueryBuilderContext","context","useMemo","initialTouched","useEffect","current","type","isEqual","clearNodeIds","cloneDeep","onConfirmHandler","undefined","actions","forEach","action","onCancelHandler","_jsxs","Provider","value","children","_jsx","RuleGroup","level","id","combinator","rules","ConfirmationDialog","isOpen","onConfirm","onCancel","title","dialog","dialogTitle","message","dialogMessage","confirmButtonLabel","dialogConfirm","cancelButtonLabel","dialogCancel","closeButtonTooltip","dialogCloseTooltip"],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const uikitStyles = require("@hitachivantara/uikit-styles");
4
- const queryBuilderClasses = require("../queryBuilderClasses.cjs");
5
- const styles = {
4
+ const classes = require("../../utils/classes.cjs");
5
+ const {
6
+ useClasses,
7
+ staticClasses
8
+ } = classes.createClasses("HvQueryBuilder", {
9
+ /** Styles applied to the component root class. */
6
10
  root: {
7
11
  position: "relative",
8
12
  padding: uikitStyles.theme.space.sm,
@@ -10,6 +14,15 @@ const styles = {
10
14
  marginBottom: 32,
11
15
  border: uikitStyles.theme.queryBuilder.border
12
16
  },
17
+ /** Styles applied to the top group container. */
18
+ topGroup: {
19
+ margin: uikitStyles.theme.space.sm,
20
+ backgroundColor: "transparent",
21
+ maxWidth: "100%",
22
+ minWidth: 740,
23
+ paddingBottom: uikitStyles.theme.queryBuilder.topGroupPaddingBottom
24
+ },
25
+ /** Styles applied to the sub group containers. */
13
26
  subGroup: {
14
27
  margin: "40px 14px 32px 20px",
15
28
  minHeight: 120,
@@ -25,7 +38,7 @@ const styles = {
25
38
  top: -38,
26
39
  left: uikitStyles.theme.queryBuilder.ruleSubGroupLeftConnectorPosition
27
40
  },
28
- [`:not(.${queryBuilderClasses.default.topRulesContainer})>&:last-child::after`]: {
41
+ ":not($topRulesContainer)>&:last-child::after": {
29
42
  content: '""',
30
43
  position: "absolute",
31
44
  zIndex: 1,
@@ -36,48 +49,33 @@ const styles = {
36
49
  left: `calc(${uikitStyles.theme.space.sm} + 2)`
37
50
  }
38
51
  },
39
- topGroup: {
40
- margin: uikitStyles.theme.space.sm,
41
- backgroundColor: "transparent",
42
- maxWidth: "100%",
43
- minWidth: 740,
44
- paddingBottom: uikitStyles.theme.queryBuilder.topGroupPaddingBottom
45
- },
52
+ /** Styles applied to the radio button+label topGroup when the radio button is disabled. */
46
53
  combinator: {
47
54
  minWidth: 80
48
55
  },
56
+ /** Styles applied to the multi-button combinator container on the top group. */
49
57
  topCombinator: {
50
58
  position: "absolute",
51
59
  top: `calc( -1 * ${uikitStyles.theme.space.sm})`,
52
60
  left: `calc( -1 * ${uikitStyles.theme.space.sm})`
53
61
  },
62
+ /** Styles applied to each combinator button. */
54
63
  combinatorButton: {},
55
- actionButtonContainer: {
56
- marginLeft: "auto",
57
- "&>*": {
58
- marginLeft: uikitStyles.theme.space.sm
59
- }
60
- },
61
- topActionButtonContainer: {
62
- position: "absolute",
63
- bottom: uikitStyles.theme.queryBuilder.topActionButtonContainerBottom,
64
- right: uikitStyles.theme.queryBuilder.topActionButtonContainerRight
65
- },
66
- buttonBackground: {
67
- backgroundColor: uikitStyles.theme.colors.atmo2,
68
- display: "inline-flex"
69
- },
64
+ /** Styles applied to the remove button. */
70
65
  removeButton: {},
66
+ /** Styles applied to the remove button on the top group. */
71
67
  topRemoveButton: {
72
68
  position: "absolute",
73
69
  top: -16,
74
70
  right: -16
75
71
  },
72
+ /** Styles applied to the remove button when disabled on the top group. */
76
73
  topRemoveButtonDisabled: {
77
74
  backgroundColor: uikitStyles.theme.colors.atmo2
78
75
  },
76
+ /** Styles applied to the rules container. */
79
77
  rulesContainer: {},
80
- topRulesContainer: {},
78
+ /** Styles applied to the sub rules container. */
81
79
  subRulesContainer: {
82
80
  borderLeft: uikitStyles.theme.queryBuilder.border,
83
81
  marginLeft: uikitStyles.theme.space.sm,
@@ -87,7 +85,28 @@ const styles = {
87
85
  position: "relative",
88
86
  left: uikitStyles.theme.queryBuilder.ruleSubGroupContainerLeftConnectorPosition,
89
87
  width: "100%"
88
+ },
89
+ /** Styles applied to the action button container. */
90
+ actionButtonContainer: {
91
+ marginLeft: "auto",
92
+ "&>*": {
93
+ marginLeft: uikitStyles.theme.space.sm
94
+ }
95
+ },
96
+ /** Styles applied to the top action button container. */
97
+ topActionButtonContainer: {
98
+ position: "absolute",
99
+ bottom: uikitStyles.theme.queryBuilder.topActionButtonContainerBottom,
100
+ right: uikitStyles.theme.queryBuilder.topActionButtonContainerRight
101
+ },
102
+ /** Styles applied to the top rules container. */
103
+ topRulesContainer: {},
104
+ /** Styles applied to the background of buttons to remove transparency */
105
+ buttonBackground: {
106
+ backgroundColor: uikitStyles.theme.colors.atmo2,
107
+ display: "inline-flex"
90
108
  }
91
- };
92
- exports.styles = styles;
93
- //# sourceMappingURL=RuleGroup.styles.cjs.map
109
+ });
110
+ exports.staticClasses = staticClasses;
111
+ exports.useClasses = useClasses;
112
+ //# sourceMappingURL=QueryBuilder.styles.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilder.styles.cjs","sources":["../../../../src/components/QueryBuilder/QueryBuilder.styles.tsx"],"sourcesContent":["import { createClasses } from \"@core/utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvQueryBuilder\", {\n /** Styles applied to the component root class. */\n root: {\n position: \"relative\",\n padding: theme.space.sm,\n marginTop: 12,\n marginBottom: 32,\n border: theme.queryBuilder.border,\n },\n /** Styles applied to the top group container. */\n topGroup: {\n margin: theme.space.sm,\n backgroundColor: \"transparent\",\n maxWidth: \"100%\",\n minWidth: 740,\n paddingBottom: theme.queryBuilder.topGroupPaddingBottom,\n },\n /** Styles applied to the sub group containers. */\n subGroup: {\n margin: \"40px 14px 32px 20px\",\n minHeight: 120,\n paddingBottom: 60,\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: 21,\n height: 36,\n\n borderBottom: theme.queryBuilder.border,\n borderLeft: theme.queryBuilder.border,\n\n top: -38,\n left: theme.queryBuilder.ruleSubGroupLeftConnectorPosition,\n },\n \":not($topRulesContainer)>&:last-child::after\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: 32,\n height: \"100%\",\n\n borderLeft: theme.queryBuilder.border,\n\n top: 0,\n left: `calc(${theme.space.sm} + 2)`,\n },\n },\n /** Styles applied to the radio button+label topGroup when the radio button is disabled. */\n combinator: { minWidth: 80 },\n /** Styles applied to the multi-button combinator container on the top group. */\n topCombinator: {\n position: \"absolute\",\n top: `calc( -1 * ${theme.space.sm})`,\n left: `calc( -1 * ${theme.space.sm})`,\n },\n /** Styles applied to each combinator button. */\n combinatorButton: {},\n /** Styles applied to the remove button. */\n removeButton: {},\n /** Styles applied to the remove button on the top group. */\n topRemoveButton: { position: \"absolute\", top: -16, right: -16 },\n /** Styles applied to the remove button when disabled on the top group. */\n topRemoveButtonDisabled: { backgroundColor: theme.colors.atmo2 },\n /** Styles applied to the rules container. */\n rulesContainer: {},\n /** Styles applied to the sub rules container. */\n subRulesContainer: {\n borderLeft: theme.queryBuilder.border,\n marginLeft: theme.space.sm,\n marginBottom: theme.space.md,\n paddingLeft: theme.space.sm,\n paddingTop: 7,\n position: \"relative\",\n left: theme.queryBuilder.ruleSubGroupContainerLeftConnectorPosition,\n width: \"100%\",\n },\n /** Styles applied to the action button container. */\n actionButtonContainer: {\n marginLeft: \"auto\",\n\n \"&>*\": {\n marginLeft: theme.space.sm,\n },\n },\n /** Styles applied to the top action button container. */\n topActionButtonContainer: {\n position: \"absolute\",\n bottom: theme.queryBuilder.topActionButtonContainerBottom,\n right: theme.queryBuilder.topActionButtonContainerRight,\n },\n /** Styles applied to the top rules container. */\n topRulesContainer: {},\n /** Styles applied to the background of buttons to remove transparency */\n buttonBackground: {\n backgroundColor: theme.colors.atmo2,\n display: \"inline-flex\",\n },\n});\n"],"names":["useClasses","staticClasses","createClasses","root","position","padding","theme","space","sm","marginTop","marginBottom","border","queryBuilder","topGroup","margin","backgroundColor","maxWidth","minWidth","paddingBottom","topGroupPaddingBottom","subGroup","minHeight","content","zIndex","width","height","borderBottom","borderLeft","top","left","ruleSubGroupLeftConnectorPosition","combinator","topCombinator","combinatorButton","removeButton","topRemoveButton","right","topRemoveButtonDisabled","colors","atmo2","rulesContainer","subRulesContainer","marginLeft","md","paddingLeft","paddingTop","ruleSubGroupContainerLeftConnectorPosition","actionButtonContainer","topActionButtonContainer","bottom","topActionButtonContainerBottom","topActionButtonContainerRight","topRulesContainer","buttonBackground","display"],"mappings":";;;;AAGa,MAAA;AAAA,EAAEA;AAAAA,EAAYC;AAAc,IAAIC,QAAAA,cAAc,kBAAkB;AAAA;AAAA,EAE3EC,MAAM;AAAA,IACJC,UAAU;AAAA,IACVC,SAASC,YAAAA,MAAMC,MAAMC;AAAAA,IACrBC,WAAW;AAAA,IACXC,cAAc;AAAA,IACdC,QAAQL,YAAAA,MAAMM,aAAaD;AAAAA,EAC7B;AAAA;AAAA,EAEAE,UAAU;AAAA,IACRC,QAAQR,YAAAA,MAAMC,MAAMC;AAAAA,IACpBO,iBAAiB;AAAA,IACjBC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,eAAeZ,YAAAA,MAAMM,aAAaO;AAAAA,EACpC;AAAA;AAAA,EAEAC,UAAU;AAAA,IACRN,QAAQ;AAAA,IACRO,WAAW;AAAA,IACXH,eAAe;AAAA,IAEf,aAAa;AAAA,MACXI,SAAS;AAAA,MACTlB,UAAU;AAAA,MACVmB,QAAQ;AAAA,MAERC,OAAO;AAAA,MACPC,QAAQ;AAAA,MAERC,cAAcpB,YAAAA,MAAMM,aAAaD;AAAAA,MACjCgB,YAAYrB,YAAAA,MAAMM,aAAaD;AAAAA,MAE/BiB,KAAK;AAAA,MACLC,MAAMvB,YAAAA,MAAMM,aAAakB;AAAAA,IAC3B;AAAA,IACA,gDAAgD;AAAA,MAC9CR,SAAS;AAAA,MACTlB,UAAU;AAAA,MACVmB,QAAQ;AAAA,MAERC,OAAO;AAAA,MACPC,QAAQ;AAAA,MAERE,YAAYrB,YAAAA,MAAMM,aAAaD;AAAAA,MAE/BiB,KAAK;AAAA,MACLC,MAAO,QAAOvB,YAAAA,MAAMC,MAAMC;AAAAA,IAC5B;AAAA,EACF;AAAA;AAAA,EAEAuB,YAAY;AAAA,IAAEd,UAAU;AAAA,EAAG;AAAA;AAAA,EAE3Be,eAAe;AAAA,IACb5B,UAAU;AAAA,IACVwB,KAAM,cAAatB,YAAAA,MAAMC,MAAMC;AAAAA,IAC/BqB,MAAO,cAAavB,YAAAA,MAAMC,MAAMC;AAAAA,EAClC;AAAA;AAAA,EAEAyB,kBAAkB,CAAC;AAAA;AAAA,EAEnBC,cAAc,CAAC;AAAA;AAAA,EAEfC,iBAAiB;AAAA,IAAE/B,UAAU;AAAA,IAAYwB,KAAK;AAAA,IAAKQ,OAAO;AAAA,EAAI;AAAA;AAAA,EAE9DC,yBAAyB;AAAA,IAAEtB,iBAAiBT,YAAAA,MAAMgC,OAAOC;AAAAA,EAAM;AAAA;AAAA,EAE/DC,gBAAgB,CAAC;AAAA;AAAA,EAEjBC,mBAAmB;AAAA,IACjBd,YAAYrB,YAAAA,MAAMM,aAAaD;AAAAA,IAC/B+B,YAAYpC,YAAAA,MAAMC,MAAMC;AAAAA,IACxBE,cAAcJ,YAAAA,MAAMC,MAAMoC;AAAAA,IAC1BC,aAAatC,YAAAA,MAAMC,MAAMC;AAAAA,IACzBqC,YAAY;AAAA,IACZzC,UAAU;AAAA,IACVyB,MAAMvB,YAAAA,MAAMM,aAAakC;AAAAA,IACzBtB,OAAO;AAAA,EACT;AAAA;AAAA,EAEAuB,uBAAuB;AAAA,IACrBL,YAAY;AAAA,IAEZ,OAAO;AAAA,MACLA,YAAYpC,YAAAA,MAAMC,MAAMC;AAAAA,IAC1B;AAAA,EACF;AAAA;AAAA,EAEAwC,0BAA0B;AAAA,IACxB5C,UAAU;AAAA,IACV6C,QAAQ3C,YAAAA,MAAMM,aAAasC;AAAAA,IAC3Bd,OAAO9B,YAAAA,MAAMM,aAAauC;AAAAA,EAC5B;AAAA;AAAA,EAEAC,mBAAmB,CAAC;AAAA;AAAA,EAEpBC,kBAAkB;AAAA,IAChBtC,iBAAiBT,YAAAA,MAAMgC,OAAOC;AAAAA,IAC9Be,SAAS;AAAA,EACX;AACF,CAAC;;;"}
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const react = require("@emotion/react");
4
3
  const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
5
4
  const material = require("@mui/material");
6
5
  const React = require("react");
7
6
  const Context = require("../Context.cjs");
8
7
  const Rule_styles = require("./Rule.styles.cjs");
9
- const ruleClasses = require("./ruleClasses.cjs");
10
8
  const jsxRuntime = require("@emotion/react/jsx-runtime");
11
9
  const withTooltip = require("../../../hocs/withTooltip.cjs");
12
10
  const Grid = require("../../Grid/Grid.cjs");
@@ -23,6 +21,10 @@ const Rule = ({
23
21
  disabled,
24
22
  isInvalid
25
23
  }) => {
24
+ const {
25
+ classes,
26
+ cx
27
+ } = Rule_styles.useClasses();
26
28
  const context = React.useContext(Context.QueryBuilderContext);
27
29
  const theme = material.useTheme();
28
30
  const isMdDown = material.useMediaQuery(theme.breakpoints.down("md"));
@@ -45,65 +47,62 @@ const Rule = ({
45
47
  }, [attribute, attributes, combinator, operators]);
46
48
  const shouldShowValueInput = operator !== "Empty" && operator !== "IsNotEmpty";
47
49
  const DeleteIcon = withTooltip.default(() => /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Delete, {}), labels.rule.delete.tooltip, "bottom");
48
- return /* @__PURE__ */ jsxRuntime.jsx(react.ClassNames, {
49
- children: ({
50
- css,
51
- cx
52
- }) => /* @__PURE__ */ jsxRuntime.jsxs(Grid.HvGrid, {
53
- container: true,
54
- className: cx(ruleClasses.default.root, css(Rule_styles.styles.root), isMdDown ? cx(ruleClasses.default.isMdDown, css(Rule_styles.styles.isMdDown)) : ""),
55
- spacing: 0,
56
- wrap: "nowrap",
57
- children: [/* @__PURE__ */ jsxRuntime.jsx(Grid.HvGrid, {
58
- item: true,
59
- xs: 2,
60
- lg: 3,
61
- children: /* @__PURE__ */ jsxRuntime.jsx(Attribute.Attribute, {
62
- attribute,
63
- id,
64
- disabled,
65
- isInvalid
66
- })
67
- }), attribute != null && availableOperators > 0 && /* @__PURE__ */ jsxRuntime.jsx(Grid.HvGrid, {
68
- item: true,
69
- xs: 2,
70
- lg: 3,
71
- children: /* @__PURE__ */ jsxRuntime.jsx(Operator.Operator, {
72
- id,
73
- combinator,
74
- attribute,
75
- operator
76
- })
77
- }), attribute != null && (operator != null || availableOperators === 0) && /* @__PURE__ */ jsxRuntime.jsx(Grid.HvGrid, {
78
- item: true,
79
- xs: true,
80
- children: shouldShowValueInput && /* @__PURE__ */ jsxRuntime.jsx(Value.Value, {
81
- attribute,
82
- id,
83
- operator,
84
- value
85
- })
86
- }), /* @__PURE__ */ jsxRuntime.jsx(Grid.HvGrid, {
87
- item: true,
88
- className: cx(ruleClasses.default.actionsContainer, css(Rule_styles.styles.actionsContainer)),
89
- children: /* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, {
90
- icon: true,
91
- "aria-label": labels.rule.delete.ariaLabel,
92
- onClick: () => {
93
- askAction({
94
- actions: [{
95
- type: "remove-node",
96
- id
97
- }],
98
- dialog: labels.rule.delete
99
- });
100
- },
101
- disabled: readOnly,
102
- variant: "secondaryGhost",
103
- children: /* @__PURE__ */ jsxRuntime.jsx(DeleteIcon, {})
104
- })
105
- })]
106
- })
50
+ return /* @__PURE__ */ jsxRuntime.jsxs(Grid.HvGrid, {
51
+ container: true,
52
+ className: cx(classes.root, {
53
+ [classes.isMdDown]: isMdDown
54
+ }),
55
+ spacing: 0,
56
+ wrap: "nowrap",
57
+ children: [/* @__PURE__ */ jsxRuntime.jsx(Grid.HvGrid, {
58
+ item: true,
59
+ xs: 2,
60
+ lg: 3,
61
+ children: /* @__PURE__ */ jsxRuntime.jsx(Attribute.Attribute, {
62
+ attribute,
63
+ id,
64
+ disabled,
65
+ isInvalid
66
+ })
67
+ }), attribute != null && availableOperators > 0 && /* @__PURE__ */ jsxRuntime.jsx(Grid.HvGrid, {
68
+ item: true,
69
+ xs: 2,
70
+ lg: 3,
71
+ children: /* @__PURE__ */ jsxRuntime.jsx(Operator.Operator, {
72
+ id,
73
+ combinator,
74
+ attribute,
75
+ operator
76
+ })
77
+ }), attribute != null && (operator != null || availableOperators === 0) && /* @__PURE__ */ jsxRuntime.jsx(Grid.HvGrid, {
78
+ item: true,
79
+ xs: true,
80
+ children: shouldShowValueInput && /* @__PURE__ */ jsxRuntime.jsx(Value.Value, {
81
+ attribute,
82
+ id,
83
+ operator,
84
+ value
85
+ })
86
+ }), /* @__PURE__ */ jsxRuntime.jsx(Grid.HvGrid, {
87
+ item: true,
88
+ className: classes.actionsContainer,
89
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, {
90
+ icon: true,
91
+ "aria-label": labels.rule.delete.ariaLabel,
92
+ onClick: () => {
93
+ askAction({
94
+ actions: [{
95
+ type: "remove-node",
96
+ id
97
+ }],
98
+ dialog: labels.rule.delete
99
+ });
100
+ },
101
+ disabled: readOnly,
102
+ variant: "secondaryGhost",
103
+ children: /* @__PURE__ */ jsxRuntime.jsx(DeleteIcon, {})
104
+ })
105
+ })]
107
106
  });
108
107
  };
109
108
  exports.Rule = Rule;
@@ -1 +1 @@
1
- {"version":3,"file":"Rule.cjs","sources":["../../../../../src/components/QueryBuilder/Rule/Rule.tsx"],"sourcesContent":["import { HvButton, HvGrid } from \"@core/components\";\nimport { withTooltip } from \"@core/hocs\";\nimport { ClassNames } from \"@emotion/react\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\nimport { useMediaQuery, useTheme } from \"@mui/material\";\nimport { useContext, useMemo } from \"react\";\nimport { QueryBuilderContext } from \"../Context\";\nimport { Attribute } from \"./Attribute\";\nimport { Operator } from \"./Operator\";\nimport { styles } from \"./Rule.styles\";\nimport ruleClasses from \"./ruleClasses\";\nimport { Value } from \"./Value\";\n\nexport interface RuleProps {\n id: number;\n combinator: string;\n attribute: string;\n operator: string;\n value: any;\n disabled: boolean;\n isInvalid: boolean;\n}\n\nexport const Rule = ({\n id,\n combinator,\n attribute,\n operator,\n value,\n disabled,\n isInvalid,\n}: RuleProps) => {\n const context = useContext(QueryBuilderContext);\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const { askAction, attributes, operators, labels, readOnly } = context;\n\n const availableOperators = useMemo(() => {\n const attributeSpec =\n attribute != null && attributes ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) =>\n count + (item.combinators.includes(combinator) ? 1 : 0),\n 0\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n const shouldShowValueInput =\n operator !== \"Empty\" && operator !== \"IsNotEmpty\";\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n labels.rule.delete.tooltip,\n \"bottom\"\n );\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <HvGrid\n container\n className={cx(\n ruleClasses.root,\n css(styles.root),\n isMdDown ? cx(ruleClasses.isMdDown, css(styles.isMdDown)) : \"\"\n )}\n spacing={0}\n wrap=\"nowrap\"\n >\n <HvGrid item xs={2} lg={3}>\n <Attribute\n attribute={attribute}\n id={id}\n disabled={disabled}\n isInvalid={isInvalid}\n />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={2} lg={3}>\n <Operator\n id={id}\n combinator={combinator}\n attribute={attribute}\n operator={operator}\n />\n </HvGrid>\n )}\n {attribute != null &&\n (operator != null || availableOperators === 0) && (\n <HvGrid item xs>\n {shouldShowValueInput && (\n <Value\n attribute={attribute}\n id={id}\n operator={operator}\n value={value}\n />\n )}\n </HvGrid>\n )}\n <HvGrid\n item\n className={cx(\n ruleClasses.actionsContainer,\n css(styles.actionsContainer)\n )}\n >\n <HvButton\n icon\n aria-label={labels.rule.delete.ariaLabel}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog: labels.rule.delete,\n });\n }}\n disabled={readOnly}\n variant=\"secondaryGhost\"\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n )}\n </ClassNames>\n );\n};\n"],"names":["Rule","id","combinator","attribute","operator","value","disabled","isInvalid","context","useContext","QueryBuilderContext","theme","useTheme","isMdDown","useMediaQuery","breakpoints","down","askAction","attributes","operators","labels","readOnly","availableOperators","useMemo","attributeSpec","typeOperators","type","reduce","count","item","combinators","includes","shouldShowValueInput","DeleteIcon","withTooltip","_jsx","Delete","rule","delete","tooltip","ClassNames","children","css","cx","HvGrid","container","className","ruleClasses","root","styles","spacing","wrap","xs","lg","Attribute","Operator","Value","actionsContainer","HvButton","icon","ariaLabel","onClick","actions","dialog","variant"],"mappings":"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"}
1
+ {"version":3,"file":"Rule.cjs","sources":["../../../../../src/components/QueryBuilder/Rule/Rule.tsx"],"sourcesContent":["import { HvButton, HvGrid } from \"@core/components\";\nimport { withTooltip } from \"@core/hocs\";\n\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useMediaQuery, useTheme } from \"@mui/material\";\n\nimport { useContext, useMemo } from \"react\";\n\nimport { QueryBuilderContext } from \"../Context\";\nimport { Attribute } from \"./Attribute\";\nimport { Operator } from \"./Operator\";\nimport { Value } from \"./Value\";\nimport { useClasses } from \"./Rule.styles\";\n\nexport interface RuleProps {\n id: number;\n combinator: string;\n attribute: string;\n operator: string;\n value: any;\n disabled: boolean;\n isInvalid: boolean;\n}\n\nexport const Rule = ({\n id,\n combinator,\n attribute,\n operator,\n value,\n disabled,\n isInvalid,\n}: RuleProps) => {\n const { classes, cx } = useClasses();\n\n const context = useContext(QueryBuilderContext);\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const { askAction, attributes, operators, labels, readOnly } = context;\n\n const availableOperators = useMemo(() => {\n const attributeSpec =\n attribute != null && attributes ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) =>\n count + (item.combinators.includes(combinator) ? 1 : 0),\n 0\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n const shouldShowValueInput =\n operator !== \"Empty\" && operator !== \"IsNotEmpty\";\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n labels.rule.delete.tooltip,\n \"bottom\"\n );\n\n return (\n <HvGrid\n container\n className={cx(classes.root, { [classes.isMdDown]: isMdDown })}\n spacing={0}\n wrap=\"nowrap\"\n >\n <HvGrid item xs={2} lg={3}>\n <Attribute\n attribute={attribute}\n id={id}\n disabled={disabled}\n isInvalid={isInvalid}\n />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={2} lg={3}>\n <Operator\n id={id}\n combinator={combinator}\n attribute={attribute}\n operator={operator}\n />\n </HvGrid>\n )}\n {attribute != null && (operator != null || availableOperators === 0) && (\n <HvGrid item xs>\n {shouldShowValueInput && (\n <Value\n attribute={attribute}\n id={id}\n operator={operator}\n value={value}\n />\n )}\n </HvGrid>\n )}\n <HvGrid item className={classes.actionsContainer}>\n <HvButton\n icon\n aria-label={labels.rule.delete.ariaLabel}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog: labels.rule.delete,\n });\n }}\n disabled={readOnly}\n variant=\"secondaryGhost\"\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n );\n};\n"],"names":["Rule","id","combinator","attribute","operator","value","disabled","isInvalid","classes","cx","useClasses","context","useContext","QueryBuilderContext","theme","useTheme","isMdDown","useMediaQuery","breakpoints","down","askAction","attributes","operators","labels","readOnly","availableOperators","useMemo","attributeSpec","typeOperators","type","reduce","count","item","combinators","includes","shouldShowValueInput","DeleteIcon","withTooltip","_jsx","Delete","rule","delete","tooltip","HvGrid","container","className","root","spacing","wrap","children","xs","lg","Attribute","Operator","Value","actionsContainer","HvButton","icon","ariaLabel","onClick","actions","dialog","variant"],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const uikitStyles = require("@hitachivantara/uikit-styles");
4
- const queryBuilderClasses = require("../queryBuilderClasses.cjs");
5
- const styles = {
4
+ const QueryBuilder_styles = require("../QueryBuilder.styles.cjs");
5
+ const classes = require("../../../utils/classes.cjs");
6
+ const {
7
+ useClasses,
8
+ staticClasses
9
+ } = classes.createClasses("HvQueryBuilder-Rule", {
6
10
  root: {
7
11
  position: "relative",
8
12
  marginTop: uikitStyles.theme.space.xs,
@@ -25,7 +29,7 @@ const styles = {
25
29
  top: 0,
26
30
  left: uikitStyles.theme.queryBuilder.ruleLeftConnectorPosition
27
31
  },
28
- [`:not(.${queryBuilderClasses.default.topRulesContainer})>&:last-child::after`]: {
32
+ [`:not(.${QueryBuilder_styles.staticClasses.topRulesContainer})>&:last-child::after`]: {
29
33
  content: '""',
30
34
  position: "absolute",
31
35
  zIndex: 1,
@@ -48,6 +52,7 @@ const styles = {
48
52
  marginRight: `calc(${uikitStyles.theme.space.md} / 2)`
49
53
  }
50
54
  }
51
- };
52
- exports.styles = styles;
55
+ });
56
+ exports.staticClasses = staticClasses;
57
+ exports.useClasses = useClasses;
53
58
  //# sourceMappingURL=Rule.styles.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rule.styles.cjs","sources":["../../../../../src/components/QueryBuilder/Rule/Rule.styles.tsx"],"sourcesContent":["import { CSSInterpolation } from \"@emotion/serialize\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport queryBuilderClasses from \"../queryBuilderClasses\";\nimport { HvRuleClasses } from \"./ruleClasses\";\n\nexport const styles: Partial<Record<keyof HvRuleClasses, CSSInterpolation>> = {\n root: {\n position: \"relative\",\n marginTop: theme.space.xs,\n\n minHeight: 94,\n\n \"&>div:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n\n // hide required * as all fields are required\n \"& label>span[aria-hidden]\": {\n visibility: \"hidden\",\n },\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: theme.queryBuilder.ruleConnectorHorizontalSize,\n height: theme.queryBuilder.ruleConnectorHeight,\n\n borderBottom: theme.queryBuilder.border,\n borderLeft: theme.queryBuilder.border,\n\n top: 0,\n left: theme.queryBuilder.ruleLeftConnectorPosition,\n },\n [`:not(.${queryBuilderClasses.topRulesContainer})>&:last-child::after`]: {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: theme.queryBuilder.ruleConnectorHorizontalSize,\n height: \"100%\",\n\n borderLeft: theme.queryBuilder.border,\n\n top: 0,\n left: theme.queryBuilder.ruleLeftConnectorPosition,\n },\n },\n actionsContainer: {\n marginLeft: \"auto\",\n marginTop: theme.queryBuilder.actionsContainerMarginTop,\n\n \"&>:not(:last-child)\": {\n marginRight: theme.space.xs,\n },\n },\n isMdDown: {\n \"&>div:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n};\n"],"names":["styles","root","position","marginTop","theme","space","xs","minHeight","marginRight","md","visibility","content","zIndex","width","queryBuilder","ruleConnectorHorizontalSize","height","ruleConnectorHeight","borderBottom","border","borderLeft","top","left","ruleLeftConnectorPosition","queryBuilderClasses","topRulesContainer","actionsContainer","marginLeft","actionsContainerMarginTop","isMdDown"],"mappings":";;;;AAKO,MAAMA,SAAiE;AAAA,EAC5EC,MAAM;AAAA,IACJC,UAAU;AAAA,IACVC,WAAWC,YAAAA,MAAMC,MAAMC;AAAAA,IAEvBC,WAAW;AAAA,IAEX,0BAA0B;AAAA,MACxBC,aAAaJ,YAAAA,MAAMC,MAAMI;AAAAA,IAC3B;AAAA;AAAA,IAGA,6BAA6B;AAAA,MAC3BC,YAAY;AAAA,IACd;AAAA,IACA,aAAa;AAAA,MACXC,SAAS;AAAA,MACTT,UAAU;AAAA,MACVU,QAAQ;AAAA,MAERC,OAAOT,YAAAA,MAAMU,aAAaC;AAAAA,MAC1BC,QAAQZ,YAAAA,MAAMU,aAAaG;AAAAA,MAE3BC,cAAcd,YAAAA,MAAMU,aAAaK;AAAAA,MACjCC,YAAYhB,YAAAA,MAAMU,aAAaK;AAAAA,MAE/BE,KAAK;AAAA,MACLC,MAAMlB,YAAAA,MAAMU,aAAaS;AAAAA,IAC3B;AAAA,IACA,CAAE,SAAQC,oBAAAA,QAAoBC,wCAAwC,GAAG;AAAA,MACvEd,SAAS;AAAA,MACTT,UAAU;AAAA,MACVU,QAAQ;AAAA,MAERC,OAAOT,YAAAA,MAAMU,aAAaC;AAAAA,MAC1BC,QAAQ;AAAA,MAERI,YAAYhB,YAAAA,MAAMU,aAAaK;AAAAA,MAE/BE,KAAK;AAAA,MACLC,MAAMlB,YAAAA,MAAMU,aAAaS;AAAAA,IAC3B;AAAA,EACF;AAAA,EACAG,kBAAkB;AAAA,IAChBC,YAAY;AAAA,IACZxB,WAAWC,YAAAA,MAAMU,aAAac;AAAAA,IAE9B,uBAAuB;AAAA,MACrBpB,aAAaJ,YAAAA,MAAMC,MAAMC;AAAAA,IAC3B;AAAA,EACF;AAAA,EACAuB,UAAU;AAAA,IACR,0BAA0B;AAAA,MACxBrB,aAAc,QAAOJ,YAAAA,MAAMC,MAAMI;AAAAA,IACnC;AAAA,EACF;AACF;;"}
1
+ {"version":3,"file":"Rule.styles.cjs","sources":["../../../../../src/components/QueryBuilder/Rule/Rule.styles.tsx"],"sourcesContent":["import { createClasses } from \"@core/utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { staticClasses as queryBuilderClasses } from \"../QueryBuilder.styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-Rule\",\n {\n root: {\n position: \"relative\",\n marginTop: theme.space.xs,\n\n minHeight: 94,\n\n \"&>div:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n\n // hide required * as all fields are required\n \"& label>span[aria-hidden]\": {\n visibility: \"hidden\",\n },\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: theme.queryBuilder.ruleConnectorHorizontalSize,\n height: theme.queryBuilder.ruleConnectorHeight,\n\n borderBottom: theme.queryBuilder.border,\n borderLeft: theme.queryBuilder.border,\n\n top: 0,\n left: theme.queryBuilder.ruleLeftConnectorPosition,\n },\n [`:not(.${queryBuilderClasses.topRulesContainer})>&:last-child::after`]: {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: theme.queryBuilder.ruleConnectorHorizontalSize,\n height: \"100%\",\n\n borderLeft: theme.queryBuilder.border,\n\n top: 0,\n left: theme.queryBuilder.ruleLeftConnectorPosition,\n },\n },\n actionsContainer: {\n marginLeft: \"auto\",\n marginTop: theme.queryBuilder.actionsContainerMarginTop,\n\n \"&>:not(:last-child)\": {\n marginRight: theme.space.xs,\n },\n },\n isMdDown: {\n \"&>div:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n }\n);\n"],"names":["useClasses","staticClasses","createClasses","root","position","marginTop","theme","space","xs","minHeight","marginRight","md","visibility","content","zIndex","width","queryBuilder","ruleConnectorHorizontalSize","height","ruleConnectorHeight","borderBottom","border","borderLeft","top","left","ruleLeftConnectorPosition","queryBuilderClasses","topRulesContainer","actionsContainer","marginLeft","actionsContainerMarginTop","isMdDown"],"mappings":";;;;;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAYC;AAAc,IAAIC,QAAAA,cAC3C,uBACA;AAAA,EACEC,MAAM;AAAA,IACJC,UAAU;AAAA,IACVC,WAAWC,YAAAA,MAAMC,MAAMC;AAAAA,IAEvBC,WAAW;AAAA,IAEX,0BAA0B;AAAA,MACxBC,aAAaJ,YAAAA,MAAMC,MAAMI;AAAAA,IAC3B;AAAA;AAAA,IAGA,6BAA6B;AAAA,MAC3BC,YAAY;AAAA,IACd;AAAA,IACA,aAAa;AAAA,MACXC,SAAS;AAAA,MACTT,UAAU;AAAA,MACVU,QAAQ;AAAA,MAERC,OAAOT,YAAAA,MAAMU,aAAaC;AAAAA,MAC1BC,QAAQZ,YAAAA,MAAMU,aAAaG;AAAAA,MAE3BC,cAAcd,YAAAA,MAAMU,aAAaK;AAAAA,MACjCC,YAAYhB,YAAAA,MAAMU,aAAaK;AAAAA,MAE/BE,KAAK;AAAA,MACLC,MAAMlB,YAAAA,MAAMU,aAAaS;AAAAA,IAC3B;AAAA,IACA,CAAE,SAAQC,oBAAAA,cAAoBC,wCAAwC,GAAG;AAAA,MACvEd,SAAS;AAAA,MACTT,UAAU;AAAA,MACVU,QAAQ;AAAA,MAERC,OAAOT,YAAAA,MAAMU,aAAaC;AAAAA,MAC1BC,QAAQ;AAAA,MAERI,YAAYhB,YAAAA,MAAMU,aAAaK;AAAAA,MAE/BE,KAAK;AAAA,MACLC,MAAMlB,YAAAA,MAAMU,aAAaS;AAAAA,IAC3B;AAAA,EACF;AAAA,EACAG,kBAAkB;AAAA,IAChBC,YAAY;AAAA,IACZxB,WAAWC,YAAAA,MAAMU,aAAac;AAAAA,IAE9B,uBAAuB;AAAA,MACrBpB,aAAaJ,YAAAA,MAAMC,MAAMC;AAAAA,IAC3B;AAAA,EACF;AAAA,EACAuB,UAAU;AAAA,IACR,0BAA0B;AAAA,MACxBrB,aAAc,QAAOJ,YAAAA,MAAMC,MAAMI;AAAAA,IACnC;AAAA,EACF;AACF,CACF;;;"}