@carbon/ibm-products 2.36.0 → 2.38.0-alpha.5
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +5404 -5117
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +4 -4
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +820 -61
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +329 -6
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/_virtual/_rollupPluginBabelHelpers.js +9 -10
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.d.ts +3 -1
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +8 -2
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +21 -0
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +261 -0
- package/es/components/ConditionBuilder/ConditionBuilder.js +45 -16
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +12 -0
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +40 -0
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +22 -0
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +74 -0
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +18 -1
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +90 -42
- package/es/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.d.ts → ConditionBuilderProvider.d.ts} +5 -2
- package/es/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.js → ConditionBuilderProvider.js} +27 -8
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +22 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +112 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +31 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +28 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +151 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +11 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +59 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +13 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +52 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.d.ts +13 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js +162 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +11 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +40 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +11 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +82 -0
- package/es/components/ConditionBuilder/ConditionConnector/ConditionConnector.d.ts +15 -0
- package/es/components/ConditionBuilder/ConditionConnector/ConditionConnector.js +85 -0
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +24 -0
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +145 -0
- package/es/components/ConditionBuilder/utils/util.d.ts +4 -0
- package/es/components/ConditionBuilder/utils/util.js +16 -0
- package/es/components/CreateTearsheet/CreateTearsheet.d.ts +106 -4
- package/es/components/CreateTearsheet/CreateTearsheet.js +12 -32
- package/es/components/Datagrid/Datagrid/DatagridContent.d.ts +1 -0
- package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -0
- package/es/components/Datagrid/useParentDimensions.js +1 -1
- package/es/components/Datagrid/useSkeletonRows.d.ts +1 -1
- package/es/components/Datagrid/useSkeletonRows.js +11 -3
- package/es/components/EditUpdateCards/EditUpdateCards.d.ts +104 -2
- package/es/components/EditUpdateCards/EditUpdateCards.js +3 -0
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.d.ts +61 -2
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -3
- package/es/components/ExpressiveCard/ExpressiveCard.d.ts +97 -2
- package/es/components/ExpressiveCard/ExpressiveCard.js +4 -0
- package/es/components/InlineTip/InlineTipButton.d.ts +21 -2
- package/es/components/InterstitialScreen/InterstitialScreen.d.ts +100 -2
- package/es/components/InterstitialScreen/InterstitialScreen.js +25 -14
- package/es/components/Nav/NavItem.js +1 -1
- package/es/components/NotificationsPanel/NotificationsPanel.js +5 -6
- package/es/components/PageHeader/PageHeader.js +12 -3
- package/es/components/SidePanel/SidePanel.js +1 -1
- package/es/components/SimpleHeader/SimpleHeader.d.ts +1 -5
- package/es/components/SimpleHeader/SimpleHeader.js +2 -4
- package/es/components/Tearsheet/TearsheetNarrow.d.ts +4 -13
- package/es/components/Tearsheet/TearsheetShell.d.ts +119 -10
- package/es/components/Tearsheet/TearsheetShell.js +18 -8
- package/es/components/WebTerminal/WebTerminal.d.ts +46 -2
- package/es/components/WebTerminal/WebTerminal.js +2 -2
- package/es/global/js/hooks/usePrefersReducedMotion.d.ts +2 -0
- package/es/global/js/hooks/usePrefersReducedMotion.js +28 -0
- package/es/global/js/utils/Wrap.d.ts +31 -2
- package/es/global/js/utils/Wrap.js +7 -9
- package/es/global/js/utils/getNodeTextContent.d.ts +1 -1
- package/es/global/js/utils/getNodeTextContent.js +1 -1
- package/es/global/js/utils/window.d.ts +2 -0
- package/es/global/js/utils/window.js +12 -0
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +2780 -0
- package/lib/_virtual/_rollupPluginBabelHelpers.js +9 -10
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.d.ts +3 -1
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +8 -2
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +21 -0
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +270 -0
- package/lib/components/ConditionBuilder/ConditionBuilder.js +46 -17
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +12 -0
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +48 -0
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +22 -0
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +83 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +18 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +90 -42
- package/lib/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.d.ts → ConditionBuilderProvider.d.ts} +5 -2
- package/lib/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.js → ConditionBuilderProvider.js} +27 -8
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +22 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +121 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +31 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +44 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +28 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +159 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +11 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +67 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +13 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +60 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.d.ts +13 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js +170 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +11 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +48 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +11 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +90 -0
- package/lib/components/ConditionBuilder/ConditionConnector/ConditionConnector.d.ts +15 -0
- package/lib/components/ConditionBuilder/ConditionConnector/ConditionConnector.js +93 -0
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +24 -0
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +153 -0
- package/lib/components/ConditionBuilder/utils/util.d.ts +4 -0
- package/lib/components/ConditionBuilder/utils/util.js +20 -0
- package/lib/components/CreateTearsheet/CreateTearsheet.d.ts +106 -4
- package/lib/components/CreateTearsheet/CreateTearsheet.js +12 -32
- package/lib/components/Datagrid/Datagrid/DatagridContent.d.ts +1 -0
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -0
- package/lib/components/Datagrid/useParentDimensions.js +1 -1
- package/lib/components/Datagrid/useSkeletonRows.d.ts +1 -1
- package/lib/components/Datagrid/useSkeletonRows.js +11 -3
- package/lib/components/EditUpdateCards/EditUpdateCards.d.ts +104 -2
- package/lib/components/EditUpdateCards/EditUpdateCards.js +3 -0
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.d.ts +61 -2
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -3
- package/lib/components/ExpressiveCard/ExpressiveCard.d.ts +97 -2
- package/lib/components/ExpressiveCard/ExpressiveCard.js +4 -0
- package/lib/components/InlineTip/InlineTipButton.d.ts +21 -2
- package/lib/components/InterstitialScreen/InterstitialScreen.d.ts +100 -2
- package/lib/components/InterstitialScreen/InterstitialScreen.js +24 -13
- package/lib/components/Nav/NavItem.js +2 -2
- package/lib/components/NotificationsPanel/NotificationsPanel.js +5 -6
- package/lib/components/PageHeader/PageHeader.js +11 -2
- package/lib/components/SidePanel/SidePanel.js +1 -1
- package/lib/components/SimpleHeader/SimpleHeader.d.ts +1 -5
- package/lib/components/SimpleHeader/SimpleHeader.js +2 -4
- package/lib/components/Tearsheet/TearsheetNarrow.d.ts +4 -13
- package/lib/components/Tearsheet/TearsheetShell.d.ts +119 -10
- package/lib/components/Tearsheet/TearsheetShell.js +16 -6
- package/lib/components/WebTerminal/WebTerminal.d.ts +46 -2
- package/lib/components/WebTerminal/WebTerminal.js +2 -2
- package/lib/global/js/hooks/usePrefersReducedMotion.d.ts +2 -0
- package/lib/global/js/hooks/usePrefersReducedMotion.js +32 -0
- package/lib/global/js/utils/Wrap.d.ts +31 -2
- package/lib/global/js/utils/Wrap.js +7 -9
- package/lib/global/js/utils/getNodeTextContent.d.ts +1 -1
- package/lib/global/js/utils/getNodeTextContent.js +1 -1
- package/lib/global/js/utils/window.d.ts +2 -0
- package/lib/global/js/utils/window.js +16 -0
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +2912 -0
- package/package.json +6 -4
- package/scss/components/CoachmarkOverlayElements/_coachmark-overlay-elements.scss +1 -1
- package/scss/components/ConditionBuilder/_condition-builder.scss +26 -0
- package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +46 -0
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +194 -0
- package/scss/components/ConditionBuilder/styles/_index.scss +2 -0
- package/scss/components/Guidebanner/_guidebanner.scss +3 -0
- package/scss/components/InterstitialScreen/_interstitial-screen.scss +1 -6
- package/scss/components/Tearsheet/_tearsheet.scss +3 -1
- package/telemetry.yml +939 -683
- package/es/components/ConditionBuilder/assets/sampleInput.d.ts +0 -58
- package/es/global/js/utils/keyboardNavigation.d.ts +0 -27
- package/es/global/js/utils/keyboardNavigation.js +0 -33
- package/es/global/js/utils/wrapFocus.d.ts +0 -25
- package/es/global/js/utils/wrapFocus.js +0 -68
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-8.js +0 -3004
- package/lib/components/ConditionBuilder/assets/sampleInput.d.ts +0 -58
- package/lib/global/js/utils/keyboardNavigation.d.ts +0 -27
- package/lib/global/js/utils/keyboardNavigation.js +0 -39
- package/lib/global/js/utils/wrapFocus.d.ts +0 -25
- package/lib/global/js/utils/wrapFocus.js +0 -73
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-8.js +0 -3136
@@ -0,0 +1,159 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
13
|
+
var React = require('react');
|
14
|
+
var react = require('@carbon/react');
|
15
|
+
var index = require('../../../node_modules/prop-types/index.js');
|
16
|
+
var icons = require('@carbon/react/icons');
|
17
|
+
var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
|
18
|
+
var ConditionBuilderButton = require('../ConditionBuilderButton/ConditionBuilderButton.js');
|
19
|
+
|
20
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
21
|
+
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
23
|
+
|
24
|
+
var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "state", "popOverClassName", "config"];
|
25
|
+
var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
26
|
+
var children = _ref.children,
|
27
|
+
className = _ref.className,
|
28
|
+
label = _ref.label,
|
29
|
+
renderIcon = _ref.renderIcon,
|
30
|
+
title = _ref.title,
|
31
|
+
type = _ref.type,
|
32
|
+
showToolTip = _ref.showToolTip,
|
33
|
+
state = _ref.state,
|
34
|
+
popOverClassName = _ref.popOverClassName,
|
35
|
+
config = _ref.config,
|
36
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
37
|
+
var contentRef = React.useRef(null);
|
38
|
+
var _useState = React.useState(label),
|
39
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
40
|
+
propertyLabel = _useState2[0],
|
41
|
+
setPropertyLabel = _useState2[1];
|
42
|
+
var _useState3 = React.useState(false),
|
43
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
44
|
+
open = _useState4[0],
|
45
|
+
setOpen = _useState4[1];
|
46
|
+
React.useEffect(function () {
|
47
|
+
var propertyId = rest['data-name'] == 'valueField' && type ? DataConfigs.valueRenderers[type](label, config) : label;
|
48
|
+
setPropertyLabel(DataConfigs.translateWithId(propertyId));
|
49
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
50
|
+
}, [label]);
|
51
|
+
React.useEffect(function () {
|
52
|
+
/**
|
53
|
+
* rest['data-name'] holds the current field name
|
54
|
+
* popoverToOpen hold the next popover to be opened if required
|
55
|
+
*/
|
56
|
+
if (state) {
|
57
|
+
var currentField = rest['data-name'];
|
58
|
+
//if any condition is changed, state prop is triggered
|
59
|
+
if (state.popoverToOpen && currentField !== state.popoverToOpen) {
|
60
|
+
// close the previous popover
|
61
|
+
setOpen(false);
|
62
|
+
} else if (currentField == 'valueField' && type == 'option' && state.operator !== 'one-of') {
|
63
|
+
//close the current popover if the field is valueField and is a single select dropdown. For all other inputs ,popover need to be open on value changes.
|
64
|
+
setOpen(false);
|
65
|
+
}
|
66
|
+
if (state.popoverToOpen == currentField) {
|
67
|
+
//current popover need to be opened
|
68
|
+
setOpen(true);
|
69
|
+
}
|
70
|
+
} else {
|
71
|
+
// when we change any statement(if/ excl.if) which is not part of condition state, label change is triggered.
|
72
|
+
//close popOver when statement is changed.
|
73
|
+
setOpen(false);
|
74
|
+
}
|
75
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
76
|
+
}, [state, label]);
|
77
|
+
React.useEffect(function () {
|
78
|
+
//this will focus the first input field in the popover
|
79
|
+
if (open && contentRef.current) {
|
80
|
+
var firstFocusableElement = contentRef.current.querySelector('input, button,li');
|
81
|
+
if (firstFocusableElement) {
|
82
|
+
firstFocusableElement.focus();
|
83
|
+
}
|
84
|
+
}
|
85
|
+
}, [contentRef, open]);
|
86
|
+
return /*#__PURE__*/React__default["default"].createElement(react.Popover, {
|
87
|
+
open: open,
|
88
|
+
isTabTip: true,
|
89
|
+
role: "gridcell",
|
90
|
+
className: popOverClassName,
|
91
|
+
onRequestClose: function onRequestClose() {
|
92
|
+
setOpen(false);
|
93
|
+
}
|
94
|
+
}, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, _rollupPluginBabelHelpers["extends"]({
|
95
|
+
label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : DataConfigs.translateWithId('add-condition'),
|
96
|
+
hideLabel: !label ? true : false,
|
97
|
+
onClick: function onClick() {
|
98
|
+
setOpen(!open);
|
99
|
+
},
|
100
|
+
className: className,
|
101
|
+
"aria-haspopup": true,
|
102
|
+
"aria-expanded": open,
|
103
|
+
renderIcon: renderIcon ? renderIcon : label == undefined ? icons.Add : null,
|
104
|
+
showToolTip: showToolTip
|
105
|
+
}, rest)), /*#__PURE__*/React__default["default"].createElement(react.PopoverContent, {
|
106
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item__content"),
|
107
|
+
role: "dialog",
|
108
|
+
"aria-label": "".concat(title)
|
109
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.Layer, null, /*#__PURE__*/React__default["default"].createElement("h1", {
|
110
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item__title")
|
111
|
+
}, title), /*#__PURE__*/React__default["default"].createElement("div", {
|
112
|
+
ref: contentRef
|
113
|
+
}, open && children))));
|
114
|
+
};
|
115
|
+
ConditionBuilderItem.propTypes = {
|
116
|
+
/**
|
117
|
+
* provide the contents of the popover
|
118
|
+
*/
|
119
|
+
children: index["default"].node,
|
120
|
+
/**
|
121
|
+
* Provide an optional class to be applied to the containing node.
|
122
|
+
*/
|
123
|
+
className: index["default"].string,
|
124
|
+
/**
|
125
|
+
* this is the config object again the current property from inputConfig
|
126
|
+
*/
|
127
|
+
|
128
|
+
config: index["default"].object,
|
129
|
+
/**
|
130
|
+
* text to be displayed in the field
|
131
|
+
*/
|
132
|
+
label: index["default"].oneOfType([index["default"].string, index["default"].array]),
|
133
|
+
/**
|
134
|
+
* class name for popover
|
135
|
+
*/
|
136
|
+
popOverClassName: index["default"].string,
|
137
|
+
/**
|
138
|
+
* Optional prop to allow overriding the icon rendering.
|
139
|
+
*/
|
140
|
+
renderIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
|
141
|
+
/**
|
142
|
+
* show tool tip
|
143
|
+
*/
|
144
|
+
showToolTip: index["default"].bool,
|
145
|
+
/**
|
146
|
+
* current condition state object
|
147
|
+
*/
|
148
|
+
state: index["default"].object,
|
149
|
+
/**
|
150
|
+
* title of the popover
|
151
|
+
*/
|
152
|
+
title: index["default"].string,
|
153
|
+
/**
|
154
|
+
* input type
|
155
|
+
*/
|
156
|
+
type: index["default"].string
|
157
|
+
};
|
158
|
+
|
159
|
+
exports.ConditionBuilderItem = ConditionBuilderItem;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
export function ConditionBuilderItemDate({ conditionState, onChange }: {
|
2
|
+
conditionState: any;
|
3
|
+
onChange: any;
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
5
|
+
export namespace ConditionBuilderItemDate {
|
6
|
+
namespace propTypes {
|
7
|
+
let conditionState: PropTypes.Requireable<object>;
|
8
|
+
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
import PropTypes from 'prop-types';
|
@@ -0,0 +1,67 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var React = require('react');
|
13
|
+
var react = require('@carbon/react');
|
14
|
+
var settings = require('../../../../settings.js');
|
15
|
+
var index = require('../../../../node_modules/prop-types/index.js');
|
16
|
+
var DataConfigs = require('../../ConditionBuilderContext/DataConfigs.js');
|
17
|
+
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
19
|
+
|
20
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
21
|
+
|
22
|
+
var blockClass = "".concat(settings.pkg.prefix, "--condition-builder");
|
23
|
+
var ConditionBuilderItemDate = function ConditionBuilderItemDate(_ref) {
|
24
|
+
var conditionState = _ref.conditionState,
|
25
|
+
onChange = _ref.onChange;
|
26
|
+
var DatePickerInputRef = React.useRef();
|
27
|
+
var datePickerType = conditionState.operator == 'between' ? 'range' : 'single';
|
28
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
29
|
+
className: "".concat(blockClass, "__condition-builder-item-date ")
|
30
|
+
}, datePickerType == 'single' && /*#__PURE__*/React__default["default"].createElement(react.DatePicker, {
|
31
|
+
ref: DatePickerInputRef,
|
32
|
+
dateFormat: "d/m/Y",
|
33
|
+
datePickerType: "single",
|
34
|
+
onClose: onChange,
|
35
|
+
value: conditionState.value
|
36
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.DatePickerInput, {
|
37
|
+
id: "datePicker",
|
38
|
+
placeholder: "dd/mm/yyyy",
|
39
|
+
labelText: conditionState.property
|
40
|
+
})), datePickerType == 'range' && /*#__PURE__*/React__default["default"].createElement(react.DatePicker, {
|
41
|
+
ref: DatePickerInputRef,
|
42
|
+
dateFormat: "d/m/Y",
|
43
|
+
datePickerType: datePickerType,
|
44
|
+
onClose: onChange,
|
45
|
+
value: conditionState.value
|
46
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.DatePickerInput, {
|
47
|
+
id: "datePickerStart",
|
48
|
+
placeholder: "dd/mm/yyyy",
|
49
|
+
labelText: DataConfigs.translateWithId('start')
|
50
|
+
}), /*#__PURE__*/React__default["default"].createElement(react.DatePickerInput, {
|
51
|
+
id: "datePickerEnd",
|
52
|
+
placeholder: "dd/mm/yyyy",
|
53
|
+
labelText: DataConfigs.translateWithId('end')
|
54
|
+
})));
|
55
|
+
};
|
56
|
+
ConditionBuilderItemDate.propTypes = {
|
57
|
+
/**
|
58
|
+
* current condition object
|
59
|
+
*/
|
60
|
+
conditionState: index["default"].object,
|
61
|
+
/**
|
62
|
+
* callback to update state oin date change
|
63
|
+
*/
|
64
|
+
onChange: index["default"].func
|
65
|
+
};
|
66
|
+
|
67
|
+
exports.ConditionBuilderItemDate = ConditionBuilderItemDate;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export function ConditionBuilderItemNumber({ conditionState, config, onChange, }: {
|
2
|
+
conditionState: any;
|
3
|
+
config: any;
|
4
|
+
onChange: any;
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
6
|
+
export namespace ConditionBuilderItemNumber {
|
7
|
+
namespace propTypes {
|
8
|
+
let conditionState: PropTypes.Requireable<object>;
|
9
|
+
let config: PropTypes.Requireable<object>;
|
10
|
+
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
import PropTypes from 'prop-types';
|
@@ -0,0 +1,60 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var React = require('react');
|
13
|
+
var react = require('@carbon/react');
|
14
|
+
var settings = require('../../../../settings.js');
|
15
|
+
var index = require('../../../../node_modules/prop-types/index.js');
|
16
|
+
|
17
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
18
|
+
|
19
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
20
|
+
|
21
|
+
var blockClass = "".concat(settings.pkg.prefix, "--condition-builder");
|
22
|
+
var ConditionBuilderItemNumber = function ConditionBuilderItemNumber(_ref) {
|
23
|
+
var _conditionState$prope;
|
24
|
+
var conditionState = _ref.conditionState,
|
25
|
+
config = _ref.config,
|
26
|
+
onChange = _ref.onChange;
|
27
|
+
var onChangeHandler = function onChangeHandler(e, _ref2) {
|
28
|
+
var value = _ref2.value;
|
29
|
+
onChange(value + '');
|
30
|
+
};
|
31
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
32
|
+
className: "".concat(blockClass, "__condition-builder-item-number")
|
33
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.NumberInput, {
|
34
|
+
label: conditionState.property,
|
35
|
+
hideLabel: true,
|
36
|
+
id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
|
37
|
+
value: conditionState.value ? conditionState.value.split(' ')[0] : conditionState.value,
|
38
|
+
min: config.min,
|
39
|
+
max: config.max,
|
40
|
+
step: config.step,
|
41
|
+
allowEmpty: true,
|
42
|
+
onChange: onChangeHandler
|
43
|
+
}));
|
44
|
+
};
|
45
|
+
ConditionBuilderItemNumber.propTypes = {
|
46
|
+
/**
|
47
|
+
* current condition object
|
48
|
+
*/
|
49
|
+
conditionState: index["default"].object,
|
50
|
+
/**
|
51
|
+
* current config object that this property is part of
|
52
|
+
*/
|
53
|
+
config: index["default"].object,
|
54
|
+
/**
|
55
|
+
* callback to update state oin date change
|
56
|
+
*/
|
57
|
+
onChange: index["default"].func
|
58
|
+
};
|
59
|
+
|
60
|
+
exports.ConditionBuilderItemNumber = ConditionBuilderItemNumber;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export function ConditionBuilderItemOption({ conditionState, config, onChange, }: {
|
2
|
+
conditionState?: {} | undefined;
|
3
|
+
config?: {} | undefined;
|
4
|
+
onChange: any;
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
6
|
+
export namespace ConditionBuilderItemOption {
|
7
|
+
namespace propTypes {
|
8
|
+
let conditionState: PropTypes.Requireable<object>;
|
9
|
+
let config: PropTypes.Requireable<object>;
|
10
|
+
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
import PropTypes from 'prop-types';
|
@@ -0,0 +1,170 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
|
13
|
+
var React = require('react');
|
14
|
+
var react = require('@carbon/react');
|
15
|
+
var icons = require('@carbon/react/icons');
|
16
|
+
var index = require('../../../../node_modules/prop-types/index.js');
|
17
|
+
var ConditionBuilderProvider = require('../../ConditionBuilderContext/ConditionBuilderProvider.js');
|
18
|
+
var DataConfigs = require('../../ConditionBuilderContext/DataConfigs.js');
|
19
|
+
|
20
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
21
|
+
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
23
|
+
|
24
|
+
var _CheckboxCheckedFille, _Checkbox, _SelectSkeleton;
|
25
|
+
var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
|
26
|
+
var _ref$conditionState = _ref.conditionState,
|
27
|
+
conditionState = _ref$conditionState === void 0 ? {} : _ref$conditionState,
|
28
|
+
_ref$config = _ref.config,
|
29
|
+
config = _ref$config === void 0 ? {} : _ref$config,
|
30
|
+
onChange = _ref.onChange;
|
31
|
+
var multiSelectable = conditionState.operator === 'one-of';
|
32
|
+
var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
|
33
|
+
popOverSearchThreshold = _useContext.popOverSearchThreshold,
|
34
|
+
getOptions = _useContext.getOptions;
|
35
|
+
var _useState = React.useState(config.options),
|
36
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
37
|
+
allOptions = _useState2[0],
|
38
|
+
setAllOptions = _useState2[1];
|
39
|
+
var _useState3 = React.useState(config.options),
|
40
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
41
|
+
filteredItems = _useState4[0],
|
42
|
+
setFilteredItems = _useState4[1];
|
43
|
+
var selection = Array.isArray(conditionState.value) ? conditionState.value : conditionState.value !== undefined ? [conditionState.value] : [];
|
44
|
+
React.useEffect(function () {
|
45
|
+
if (!allOptions && getOptions) {
|
46
|
+
var fetchData = /*#__PURE__*/function () {
|
47
|
+
var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
|
48
|
+
var response;
|
49
|
+
return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
|
50
|
+
while (1) switch (_context.prev = _context.next) {
|
51
|
+
case 0:
|
52
|
+
_context.next = 2;
|
53
|
+
return getOptions(conditionState);
|
54
|
+
case 2:
|
55
|
+
response = _context.sent;
|
56
|
+
if ((response === null || response === void 0 ? void 0 : response.length) > 0 && Object.keys(response[0]).includes('label') && Object.keys(response[0]).includes('id')) {
|
57
|
+
setAllOptions(response);
|
58
|
+
setFilteredItems(response);
|
59
|
+
}
|
60
|
+
case 4:
|
61
|
+
case "end":
|
62
|
+
return _context.stop();
|
63
|
+
}
|
64
|
+
}, _callee);
|
65
|
+
}));
|
66
|
+
return function fetchData() {
|
67
|
+
return _ref2.apply(this, arguments);
|
68
|
+
};
|
69
|
+
}();
|
70
|
+
fetchData(); // Call the async method
|
71
|
+
}
|
72
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
73
|
+
}, []);
|
74
|
+
var handleSelectAll = function handleSelectAll(e) {
|
75
|
+
if (e.currentTarget.dataset.selectedAll == 'false') {
|
76
|
+
onChange(undefined);
|
77
|
+
} else {
|
78
|
+
onChange(allOptions.map(function (op) {
|
79
|
+
return op.id;
|
80
|
+
}));
|
81
|
+
}
|
82
|
+
};
|
83
|
+
var onSearchChangeHandler = function onSearchChangeHandler(e) {
|
84
|
+
var value = e.target.value;
|
85
|
+
var _filteredItems = allOptions.filter(function (opt) {
|
86
|
+
return opt.label.toLowerCase().includes(value.toLowerCase());
|
87
|
+
});
|
88
|
+
setFilteredItems(_filteredItems);
|
89
|
+
};
|
90
|
+
var onClickHandler = function onClickHandler(e, option, isSelected) {
|
91
|
+
if (multiSelectable) {
|
92
|
+
if (isSelected) {
|
93
|
+
var items = selection.filter(function (v) {
|
94
|
+
return v !== option.id;
|
95
|
+
});
|
96
|
+
onChange(items.length > 0 ? items : undefined, e);
|
97
|
+
} else {
|
98
|
+
onChange([].concat(_rollupPluginBabelHelpers.toConsumableArray(selection), [option.id]), e);
|
99
|
+
}
|
100
|
+
} else {
|
101
|
+
onChange(option.id, e);
|
102
|
+
}
|
103
|
+
};
|
104
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, allOptions && /*#__PURE__*/React__default["default"].createElement("div", {
|
105
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option")
|
106
|
+
}, (config.includeSearch || allOptions.length > popOverSearchThreshold) && /*#__PURE__*/React__default["default"].createElement("div", {
|
107
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__search")
|
108
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.Search, {
|
109
|
+
size: "sm",
|
110
|
+
labelText: DataConfigs.translateWithId('clear_search'),
|
111
|
+
closeButtonLabelText: DataConfigs.translateWithId('clear_search'),
|
112
|
+
onChange: onSearchChangeHandler
|
113
|
+
})), multiSelectable && /*#__PURE__*/React__default["default"].createElement("div", {
|
114
|
+
className: "".concat(DataConfigs.blockClass, "__multiselectSelectionStatusContainer")
|
115
|
+
}, /*#__PURE__*/React__default["default"].createElement("h4", null, /*#__PURE__*/React__default["default"].createElement("label", null, selection.length, "/", allOptions.length, " Selected")), /*#__PURE__*/React__default["default"].createElement(react.Button, {
|
116
|
+
kind: 'ghost',
|
117
|
+
size: 'sm',
|
118
|
+
"data-selected-all": "".concat(selection.length == 0 ? true : false),
|
119
|
+
onClick: handleSelectAll,
|
120
|
+
className: "".concat(DataConfigs.blockClass, "__selectAll-button")
|
121
|
+
}, selection.length == 0 ? 'Select all' : 'Deselect all')), /*#__PURE__*/React__default["default"].createElement("ul", {
|
122
|
+
"aria-label": conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : DataConfigs.translateWithId('property'),
|
123
|
+
role: "listbox",
|
124
|
+
"data-multi-select": multiSelectable
|
125
|
+
}, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
|
126
|
+
var isSelected = selection.includes(option.id);
|
127
|
+
var Icon = option.icon;
|
128
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
129
|
+
tabIndex: 0,
|
130
|
+
key: option.id,
|
131
|
+
role: "option",
|
132
|
+
"aria-selected": isSelected,
|
133
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__option"),
|
134
|
+
onKeyUp: function onKeyUp() {
|
135
|
+
return false;
|
136
|
+
},
|
137
|
+
onClick: function onClick(e) {
|
138
|
+
return onClickHandler(e, option, isSelected);
|
139
|
+
}
|
140
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
141
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__option-content")
|
142
|
+
}, multiSelectable ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", {
|
143
|
+
className: "".concat(DataConfigs.blockClass, "__option-check-box")
|
144
|
+
}, isSelected ? _CheckboxCheckedFille || (_CheckboxCheckedFille = /*#__PURE__*/React__default["default"].createElement(icons.CheckboxCheckedFilled, null)) : _Checkbox || (_Checkbox = /*#__PURE__*/React__default["default"].createElement(icons.Checkbox, null))), /*#__PURE__*/React__default["default"].createElement("span", {
|
145
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__option-label")
|
146
|
+
}, option.label), Icon && /*#__PURE__*/React__default["default"].createElement("span", {
|
147
|
+
className: "".concat(DataConfigs.blockClass, "__option-icon")
|
148
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, null))) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", {
|
149
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__option-label")
|
150
|
+
}, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default["default"].createElement(icons.Checkmark, {
|
151
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-checkmark")
|
152
|
+
}))));
|
153
|
+
}))), !allOptions && (_SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default["default"].createElement(react.SelectSkeleton, null))));
|
154
|
+
};
|
155
|
+
ConditionBuilderItemOption.propTypes = {
|
156
|
+
/**
|
157
|
+
* current condition object
|
158
|
+
*/
|
159
|
+
conditionState: index["default"].object,
|
160
|
+
/**
|
161
|
+
* current config object that this property is part of
|
162
|
+
*/
|
163
|
+
config: index["default"].object,
|
164
|
+
/**
|
165
|
+
* callback to update state oin date change
|
166
|
+
*/
|
167
|
+
onChange: index["default"].func
|
168
|
+
};
|
169
|
+
|
170
|
+
exports.ConditionBuilderItemOption = ConditionBuilderItemOption;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
export function ConditionBuilderItemText({ conditionState, onChange }: {
|
2
|
+
conditionState: any;
|
3
|
+
onChange: any;
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
5
|
+
export namespace ConditionBuilderItemText {
|
6
|
+
namespace propTypes {
|
7
|
+
let conditionState: PropTypes.Requireable<object>;
|
8
|
+
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
import PropTypes from 'prop-types';
|
@@ -0,0 +1,48 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var React = require('react');
|
13
|
+
var react = require('@carbon/react');
|
14
|
+
var index = require('../../../../node_modules/prop-types/index.js');
|
15
|
+
var DataConfigs = require('../../ConditionBuilderContext/DataConfigs.js');
|
16
|
+
|
17
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
18
|
+
|
19
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
20
|
+
|
21
|
+
var ConditionBuilderItemText = function ConditionBuilderItemText(_ref) {
|
22
|
+
var _conditionState$value, _conditionState$prope;
|
23
|
+
var conditionState = _ref.conditionState,
|
24
|
+
_onChange = _ref.onChange;
|
25
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
26
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item-text")
|
27
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.TextInput, {
|
28
|
+
labelText: conditionState.property,
|
29
|
+
hideLabel: true,
|
30
|
+
value: (_conditionState$value = conditionState.value) !== null && _conditionState$value !== void 0 ? _conditionState$value : '',
|
31
|
+
id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
|
32
|
+
onChange: function onChange(e) {
|
33
|
+
_onChange(e.target.value);
|
34
|
+
}
|
35
|
+
}));
|
36
|
+
};
|
37
|
+
ConditionBuilderItemText.propTypes = {
|
38
|
+
/**
|
39
|
+
* current condition object
|
40
|
+
*/
|
41
|
+
conditionState: index["default"].object,
|
42
|
+
/**
|
43
|
+
* callback to update state oin date change
|
44
|
+
*/
|
45
|
+
onChange: index["default"].func
|
46
|
+
};
|
47
|
+
|
48
|
+
exports.ConditionBuilderItemText = ConditionBuilderItemText;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
export function ConditionBuilderItemTime({ onChange, config }: {
|
2
|
+
onChange: any;
|
3
|
+
config: any;
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
5
|
+
export namespace ConditionBuilderItemTime {
|
6
|
+
namespace propTypes {
|
7
|
+
let config: PropTypes.Requireable<object>;
|
8
|
+
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
import PropTypes from 'prop-types';
|
@@ -0,0 +1,90 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
11
|
+
|
12
|
+
var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
|
13
|
+
var React = require('react');
|
14
|
+
var react = require('@carbon/react');
|
15
|
+
var index = require('../../../../node_modules/prop-types/index.js');
|
16
|
+
var DataConfigs = require('../../ConditionBuilderContext/DataConfigs.js');
|
17
|
+
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
19
|
+
|
20
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
21
|
+
|
22
|
+
var _SelectItem, _SelectItem2;
|
23
|
+
var ConditionBuilderItemTime = function ConditionBuilderItemTime(_ref) {
|
24
|
+
var _config$timeZones, _config$timeZones2;
|
25
|
+
var onChange = _ref.onChange,
|
26
|
+
config = _ref.config;
|
27
|
+
var _useState = React.useState(''),
|
28
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
29
|
+
timeValue = _useState2[0],
|
30
|
+
setTimeValue = _useState2[1];
|
31
|
+
var _useState3 = React.useState('AM'),
|
32
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
33
|
+
dayZoneValue = _useState4[0],
|
34
|
+
setDayZoneValue = _useState4[1];
|
35
|
+
var _useState5 = React.useState(config === null || config === void 0 || (_config$timeZones = config.timeZones) === null || _config$timeZones === void 0 ? void 0 : _config$timeZones[0]),
|
36
|
+
_useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
|
37
|
+
timeZoneValue = _useState6[0],
|
38
|
+
setTimeZoneValue = _useState6[1];
|
39
|
+
React.useEffect(function () {
|
40
|
+
var timeToUpdate = "".concat(timeValue !== null && timeValue !== void 0 ? timeValue : '', " ").concat(dayZoneValue !== null && dayZoneValue !== void 0 ? dayZoneValue : '', " ").concat(timeZoneValue !== null && timeZoneValue !== void 0 ? timeZoneValue : '');
|
41
|
+
onChange(timeValue ? timeToUpdate : undefined);
|
42
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
43
|
+
}, [timeValue, dayZoneValue, timeZoneValue]);
|
44
|
+
var setTimeZone = function setTimeZone(e) {
|
45
|
+
setTimeZoneValue(e.target.value);
|
46
|
+
};
|
47
|
+
var setDayZone = function setDayZone(e) {
|
48
|
+
setDayZoneValue(e.target.value);
|
49
|
+
};
|
50
|
+
var setTime = function setTime(e) {
|
51
|
+
setTimeValue(e.target.value);
|
52
|
+
};
|
53
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
54
|
+
className: "".concat(DataConfigs.blockClass, "__condition-builder-item-time")
|
55
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.TimePicker, {
|
56
|
+
id: "time-picker",
|
57
|
+
labelText: "Select a time",
|
58
|
+
onChange: setTime
|
59
|
+
}, /*#__PURE__*/React__default["default"].createElement(react.TimePickerSelect, {
|
60
|
+
id: "time-picker-day-zone",
|
61
|
+
onChange: setDayZone
|
62
|
+
}, _SelectItem || (_SelectItem = /*#__PURE__*/React__default["default"].createElement(react.SelectItem, {
|
63
|
+
value: "AM",
|
64
|
+
text: "AM"
|
65
|
+
})), _SelectItem2 || (_SelectItem2 = /*#__PURE__*/React__default["default"].createElement(react.SelectItem, {
|
66
|
+
value: "PM",
|
67
|
+
text: "PM"
|
68
|
+
}))), /*#__PURE__*/React__default["default"].createElement(react.TimePickerSelect, {
|
69
|
+
id: "time-picker-select-2",
|
70
|
+
onChange: setTimeZone
|
71
|
+
}, config === null || config === void 0 || (_config$timeZones2 = config.timeZones) === null || _config$timeZones2 === void 0 ? void 0 : _config$timeZones2.map(function (timeZone, index) {
|
72
|
+
return /*#__PURE__*/React__default["default"].createElement(react.SelectItem, {
|
73
|
+
key: index,
|
74
|
+
value: timeZone,
|
75
|
+
text: timeZone
|
76
|
+
});
|
77
|
+
}))));
|
78
|
+
};
|
79
|
+
ConditionBuilderItemTime.propTypes = {
|
80
|
+
/**
|
81
|
+
* current config object that this property is part of
|
82
|
+
*/
|
83
|
+
config: index["default"].object,
|
84
|
+
/**
|
85
|
+
* callback to update state oin date change
|
86
|
+
*/
|
87
|
+
onChange: index["default"].func
|
88
|
+
};
|
89
|
+
|
90
|
+
exports.ConditionBuilderItemTime = ConditionBuilderItemTime;
|