@hitachivantara/uikit-react-core 3.63.0 → 3.66.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.
- package/dist/AssetInventory/ListView/ListView.js +1 -1
- package/dist/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/Chart/Plot/Plot.d.ts +3 -3
- package/dist/SimpleGrid/SimpleGrid.d.ts +17 -0
- package/dist/SimpleGrid/SimpleGrid.js +73 -0
- package/dist/SimpleGrid/SimpleGrid.js.map +1 -0
- package/dist/SimpleGrid/index.d.ts +2 -0
- package/dist/SimpleGrid/index.js +16 -0
- package/dist/SimpleGrid/index.js.map +1 -0
- package/dist/SimpleGrid/styles.js +99 -0
- package/dist/SimpleGrid/styles.js.map +1 -0
- package/dist/Stack/Stack.d.ts +46 -0
- package/dist/Stack/Stack.js +195 -0
- package/dist/Stack/Stack.js.map +1 -0
- package/dist/Stack/index.d.ts +2 -0
- package/dist/Stack/index.js +16 -0
- package/dist/Stack/index.js.map +1 -0
- package/dist/Stack/styles.js +39 -0
- package/dist/Stack/styles.js.map +1 -0
- package/dist/TimePicker/PeriodPicker/PeriodPicker.js +112 -0
- package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -0
- package/dist/TimePicker/PeriodPicker/index.js +21 -0
- package/dist/TimePicker/PeriodPicker/index.js.map +1 -0
- package/dist/TimePicker/PeriodPicker/styles.js +32 -0
- package/dist/TimePicker/PeriodPicker/styles.js.map +1 -0
- package/dist/TimePicker/TimePicker.d.ts +140 -0
- package/dist/TimePicker/TimePicker.js +748 -0
- package/dist/TimePicker/TimePicker.js.map +1 -0
- package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js +243 -0
- package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -0
- package/dist/TimePicker/UnitTimePicker/index.js +21 -0
- package/dist/TimePicker/UnitTimePicker/index.js.map +1 -0
- package/dist/TimePicker/UnitTimePicker/styles.js +75 -0
- package/dist/TimePicker/UnitTimePicker/styles.js.map +1 -0
- package/dist/TimePicker/enums.js +43 -0
- package/dist/TimePicker/enums.js.map +1 -0
- package/dist/TimePicker/index.d.ts +2 -0
- package/dist/TimePicker/index.js +16 -0
- package/dist/TimePicker/index.js.map +1 -0
- package/dist/TimePicker/styles.js +134 -0
- package/dist/TimePicker/styles.js.map +1 -0
- package/dist/TimePicker/timePickerConverter.js +90 -0
- package/dist/TimePicker/timePickerConverter.js.map +1 -0
- package/dist/TimePicker/timePickerFormatter.js +81 -0
- package/dist/TimePicker/timePickerFormatter.js.map +1 -0
- package/dist/TimePicker/timePickerUtils.js +36 -0
- package/dist/TimePicker/timePickerUtils.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListView.js +1 -1
- package/dist/legacy/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/legacy/Chart/Plot/Plot.d.ts +3 -3
- package/dist/legacy/SimpleGrid/SimpleGrid.d.ts +17 -0
- package/dist/legacy/SimpleGrid/SimpleGrid.js +59 -0
- package/dist/legacy/SimpleGrid/SimpleGrid.js.map +1 -0
- package/dist/legacy/SimpleGrid/index.d.ts +2 -0
- package/dist/legacy/SimpleGrid/index.js +2 -0
- package/dist/legacy/SimpleGrid/index.js.map +1 -0
- package/dist/legacy/SimpleGrid/styles.js +81 -0
- package/dist/legacy/SimpleGrid/styles.js.map +1 -0
- package/dist/legacy/Stack/Stack.d.ts +46 -0
- package/dist/legacy/Stack/Stack.js +156 -0
- package/dist/legacy/Stack/Stack.js.map +1 -0
- package/dist/legacy/Stack/index.d.ts +2 -0
- package/dist/legacy/Stack/index.js +2 -0
- package/dist/legacy/Stack/index.js.map +1 -0
- package/dist/legacy/Stack/styles.js +31 -0
- package/dist/legacy/Stack/styles.js.map +1 -0
- package/dist/legacy/TimePicker/PeriodPicker/PeriodPicker.js +78 -0
- package/dist/legacy/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -0
- package/dist/legacy/TimePicker/PeriodPicker/index.js +7 -0
- package/dist/legacy/TimePicker/PeriodPicker/index.js.map +1 -0
- package/dist/legacy/TimePicker/PeriodPicker/styles.js +24 -0
- package/dist/legacy/TimePicker/PeriodPicker/styles.js.map +1 -0
- package/dist/legacy/TimePicker/TimePicker.d.ts +140 -0
- package/dist/legacy/TimePicker/TimePicker.js +696 -0
- package/dist/legacy/TimePicker/TimePicker.js.map +1 -0
- package/dist/legacy/TimePicker/UnitTimePicker/UnitTimePicker.js +206 -0
- package/dist/legacy/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -0
- package/dist/legacy/TimePicker/UnitTimePicker/index.js +7 -0
- package/dist/legacy/TimePicker/UnitTimePicker/index.js.map +1 -0
- package/dist/legacy/TimePicker/UnitTimePicker/styles.js +58 -0
- package/dist/legacy/TimePicker/UnitTimePicker/styles.js.map +1 -0
- package/dist/legacy/TimePicker/enums.js +33 -0
- package/dist/legacy/TimePicker/enums.js.map +1 -0
- package/dist/legacy/TimePicker/index.d.ts +2 -0
- package/dist/legacy/TimePicker/index.js +2 -0
- package/dist/legacy/TimePicker/index.js.map +1 -0
- package/dist/legacy/TimePicker/styles.js +117 -0
- package/dist/legacy/TimePicker/styles.js.map +1 -0
- package/dist/legacy/TimePicker/timePickerConverter.js +71 -0
- package/dist/legacy/TimePicker/timePickerConverter.js.map +1 -0
- package/dist/legacy/TimePicker/timePickerFormatter.js +66 -0
- package/dist/legacy/TimePicker/timePickerFormatter.js.map +1 -0
- package/dist/legacy/TimePicker/timePickerUtils.js +27 -0
- package/dist/legacy/TimePicker/timePickerUtils.js.map +1 -0
- package/dist/legacy/index.d.ts +3 -0
- package/dist/legacy/index.js +1 -0
- package/dist/legacy/index.js.map +1 -1
- package/dist/modern/AssetInventory/AssetInventory.js +1 -0
- package/dist/modern/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListView.js +2 -1
- package/dist/modern/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/modern/AssetInventory/Search/Search.js +1 -0
- package/dist/modern/AssetInventory/Search/Search.js.map +1 -1
- package/dist/modern/BaseDropdown/BaseDropdown.js +1 -0
- package/dist/modern/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/modern/BreadCrumb/utils.js +1 -0
- package/dist/modern/BreadCrumb/utils.js.map +1 -1
- package/dist/modern/Chart/Plot/Plot.d.ts +3 -3
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js +1 -0
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/modern/Focus/Focus.js +1 -0
- package/dist/modern/Focus/Focus.js.map +1 -1
- package/dist/modern/List/List.js +5 -2
- package/dist/modern/List/List.js.map +1 -1
- package/dist/modern/SimpleGrid/SimpleGrid.d.ts +17 -0
- package/dist/modern/SimpleGrid/SimpleGrid.js +60 -0
- package/dist/modern/SimpleGrid/SimpleGrid.js.map +1 -0
- package/dist/modern/SimpleGrid/index.d.ts +2 -0
- package/dist/modern/SimpleGrid/index.js +2 -0
- package/dist/modern/SimpleGrid/index.js.map +1 -0
- package/dist/modern/SimpleGrid/styles.js +68 -0
- package/dist/modern/SimpleGrid/styles.js.map +1 -0
- package/dist/modern/Stack/Stack.d.ts +46 -0
- package/dist/modern/Stack/Stack.js +145 -0
- package/dist/modern/Stack/Stack.js.map +1 -0
- package/dist/modern/Stack/index.d.ts +2 -0
- package/dist/modern/Stack/index.js +2 -0
- package/dist/modern/Stack/index.js.map +1 -0
- package/dist/modern/Stack/styles.js +29 -0
- package/dist/modern/Stack/styles.js.map +1 -0
- package/dist/modern/Table/Table.js +1 -0
- package/dist/modern/Table/Table.js.map +1 -1
- package/dist/modern/Table/checkBoxUtils.js +1 -0
- package/dist/modern/Table/checkBoxUtils.js.map +1 -1
- package/dist/modern/TagsInput/TagsInput.js +1 -0
- package/dist/modern/TagsInput/TagsInput.js.map +1 -1
- package/dist/modern/TimePicker/PeriodPicker/PeriodPicker.js +75 -0
- package/dist/modern/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -0
- package/dist/modern/TimePicker/PeriodPicker/index.js +7 -0
- package/dist/modern/TimePicker/PeriodPicker/index.js.map +1 -0
- package/dist/modern/TimePicker/PeriodPicker/styles.js +22 -0
- package/dist/modern/TimePicker/PeriodPicker/styles.js.map +1 -0
- package/dist/modern/TimePicker/TimePicker.d.ts +140 -0
- package/dist/modern/TimePicker/TimePicker.js +659 -0
- package/dist/modern/TimePicker/TimePicker.js.map +1 -0
- package/dist/modern/TimePicker/UnitTimePicker/UnitTimePicker.js +191 -0
- package/dist/modern/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -0
- package/dist/modern/TimePicker/UnitTimePicker/index.js +7 -0
- package/dist/modern/TimePicker/UnitTimePicker/index.js.map +1 -0
- package/dist/modern/TimePicker/UnitTimePicker/styles.js +49 -0
- package/dist/modern/TimePicker/UnitTimePicker/styles.js.map +1 -0
- package/dist/modern/TimePicker/enums.js +32 -0
- package/dist/modern/TimePicker/enums.js.map +1 -0
- package/dist/modern/TimePicker/index.d.ts +2 -0
- package/dist/modern/TimePicker/index.js +2 -0
- package/dist/modern/TimePicker/index.js.map +1 -0
- package/dist/modern/TimePicker/styles.js +108 -0
- package/dist/modern/TimePicker/styles.js.map +1 -0
- package/dist/modern/TimePicker/timePickerConverter.js +66 -0
- package/dist/modern/TimePicker/timePickerConverter.js.map +1 -0
- package/dist/modern/TimePicker/timePickerFormatter.js +65 -0
- package/dist/modern/TimePicker/timePickerFormatter.js.map +1 -0
- package/dist/modern/TimePicker/timePickerUtils.js +26 -0
- package/dist/modern/TimePicker/timePickerUtils.js.map +1 -0
- package/dist/modern/index.d.ts +3 -0
- package/dist/modern/index.js +1 -0
- package/dist/modern/index.js.map +1 -1
- package/package.json +19 -20
- package/CHANGELOG.md +0 -4480
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/SimpleGrid/SimpleGrid.js"],"names":["React","PropTypes","useStyles","SimpleGrid","children","breakpoints","spacing","cols","others","classes","container","propTypes","node","oneOf","arrayOf","shape","maxWidth","number","minWidth"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,SAAP,MAAsB,UAAtB;;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAAgE;AAAA,MAA7DC,QAA6D,QAA7DA,QAA6D;AAAA,MAAnDC,WAAmD,QAAnDA,WAAmD;AAAA,0BAAtCC,OAAsC;AAAA,MAAtCA,OAAsC,6BAA5B,IAA4B;AAAA,MAAtBC,IAAsB,QAAtBA,IAAsB;AAAA,MAAbC,MAAa;;AACjF,MAAMC,OAAO,GAAGP,SAAS,CAAC;AAAEG,IAAAA,WAAW,EAAXA,WAAF;AAAeE,IAAAA,IAAI,EAAJA,IAAf;AAAqBD,IAAAA,OAAO,EAAPA;AAArB,GAAD,CAAT,EAAhB;AACA,sBACE;AAAK,IAAA,SAAS,EAAEG,OAAO,CAACC;AAAxB,KAAuCF,MAAvC,GACGJ,QADH,CADF;AAKD,CAPD;;AASA,wCAAAD,UAAU,CAACQ,SAAX,GAAuB;AACrB;AACF;AACA;AACEP,EAAAA,QAAQ,EAAEH,SAAS,CAACW,IAJC;;AAKrB;AACF;AACA;AACEN,EAAAA,OAAO,EAAEL,SAAS,CAACY,KAAV,CAAgB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,CAAhB,CARY;;AASrB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACER,EAAAA,WAAW,EAAEJ,SAAS,CAACa,OAAV,CACXb,SAAS,CAACc,KAAV,CAAgB;AACdC,IAAAA,QAAQ,EAAEf,SAAS,CAACgB,MADN;AAEdC,IAAAA,QAAQ,EAAEjB,SAAS,CAACgB,MAFN;AAGdV,IAAAA,IAAI,EAAEN,SAAS,CAACgB,MAHF;AAIdX,IAAAA,OAAO,EAAEL,SAAS,CAACY,KAAV,CAAgB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,CAAhB;AAJK,GAAhB,CADW,CAlBQ;;AA0BrB;AACF;AACA;AACEN,EAAAA,IAAI,EAAEN,SAAS,CAACgB;AA7BK,CAAvB;AAgCA,eAAed,UAAf","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport useStyles from \"./styles\";\n\nconst SimpleGrid = ({ children, breakpoints, spacing = \"sm\", cols, ...others }) => {\n const classes = useStyles({ breakpoints, cols, spacing })();\n return (\n <div className={classes.container} {...others}>\n {children}\n </div>\n );\n};\n\nSimpleGrid.propTypes = {\n /**\n * -\n */\n children: PropTypes.node,\n /**\n * Spacing with pre-defined values according the values defined in the theme\n */\n spacing: PropTypes.oneOf([\"sm\", \"md\", \"lg\", \"xl\"]),\n /**\n * Provide an array to define responsive behavior:\n *\n * maxWidth or minWidth: max-width or min-width at which media query will work\n *\n * cols: number of columns per row at given max-width\n *\n * spacing: optional spacing at given max-width, if not provided spacing from component prop will be used instead\n */\n breakpoints: PropTypes.arrayOf(\n PropTypes.shape({\n maxWidth: PropTypes.number,\n minWidth: PropTypes.number,\n cols: PropTypes.number,\n spacing: PropTypes.oneOf([\"sm\", \"md\", \"lg\", \"xl\"]),\n })\n ),\n /**\n * Number of how many columns the content will be displayed\n */\n cols: PropTypes.number,\n};\n\nexport default SimpleGrid;\n"],"file":"SimpleGrid.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/SimpleGrid/index.js"],"names":["default"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB","sourcesContent":["export { default } from \"./SimpleGrid\";\n"],"file":"index.js"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
+
|
|
4
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
+
|
|
6
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
+
|
|
8
|
+
import "core-js/modules/es.array.sort.js";
|
|
9
|
+
import "core-js/modules/es.object.to-string.js";
|
|
10
|
+
import "core-js/modules/es.array.concat.js";
|
|
11
|
+
import "core-js/modules/es.object.keys.js";
|
|
12
|
+
import "core-js/modules/es.symbol.js";
|
|
13
|
+
import "core-js/modules/es.array.filter.js";
|
|
14
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
15
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
|
16
|
+
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
|
17
|
+
import { makeStyles } from "@material-ui/core";
|
|
18
|
+
|
|
19
|
+
function size(props) {
|
|
20
|
+
if (typeof props.size === "number") {
|
|
21
|
+
return props.size;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return props.sizes[props.size] || props.size || props.sizes.md;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function getSortedBreakpoints(theme, breakpoints) {
|
|
28
|
+
if (breakpoints.length === 0) {
|
|
29
|
+
return breakpoints;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var property = "maxWidth" in breakpoints[0] ? "maxWidth" : "minWidth";
|
|
33
|
+
|
|
34
|
+
var sorted = _toConsumableArray(breakpoints).sort(function (a, b) {
|
|
35
|
+
return size({
|
|
36
|
+
size: b[property],
|
|
37
|
+
sizes: theme.breakpoints
|
|
38
|
+
}) - size({
|
|
39
|
+
size: a[property],
|
|
40
|
+
sizes: theme.breakpoints
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
return property === "minWidth" ? sorted.reverse() : sorted;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var styles = function styles(props) {
|
|
48
|
+
return makeStyles(function (theme) {
|
|
49
|
+
var breakpoints = props.breakpoints,
|
|
50
|
+
spacing = props.spacing,
|
|
51
|
+
cols = props.cols;
|
|
52
|
+
var gridBreakpoints = null;
|
|
53
|
+
|
|
54
|
+
if (breakpoints) {
|
|
55
|
+
gridBreakpoints = getSortedBreakpoints(theme, breakpoints).reduce(function (acc, breakpoint) {
|
|
56
|
+
var property = "maxWidth" in breakpoint ? "max-width" : "min-width";
|
|
57
|
+
var breakpointSize = size({
|
|
58
|
+
size: property === "max-width" ? breakpoint.maxWidth : breakpoint.minWidth,
|
|
59
|
+
sizes: theme.breakpoints
|
|
60
|
+
});
|
|
61
|
+
acc["@media (".concat(property, ": ").concat(breakpointSize + (property === "max-width" ? 0 : 1), "px)")] = {
|
|
62
|
+
gridTemplateColumns: "repeat(".concat(breakpoint.cols, ", minmax(0, 1fr))"),
|
|
63
|
+
gap: theme.hv.spacing[spacing]
|
|
64
|
+
};
|
|
65
|
+
return acc;
|
|
66
|
+
}, {});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
container: _objectSpread({
|
|
71
|
+
boxSizing: "border-box",
|
|
72
|
+
display: "grid",
|
|
73
|
+
gridTemplateColumns: "repeat(".concat(cols, ", minmax(0, 1fr))"),
|
|
74
|
+
gap: theme.hv.spacing[spacing]
|
|
75
|
+
}, gridBreakpoints)
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export default styles;
|
|
81
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/SimpleGrid/styles.js"],"names":["makeStyles","size","props","sizes","md","getSortedBreakpoints","theme","breakpoints","length","property","sorted","sort","a","b","reverse","styles","spacing","cols","gridBreakpoints","reduce","acc","breakpoint","breakpointSize","maxWidth","minWidth","gridTemplateColumns","gap","hv","container","boxSizing","display"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAASA,UAAT,QAA2B,mBAA3B;;AAEA,SAASC,IAAT,CAAcC,KAAd,EAAqB;AACnB,MAAI,OAAOA,KAAK,CAACD,IAAb,KAAsB,QAA1B,EAAoC;AAClC,WAAOC,KAAK,CAACD,IAAb;AACD;;AAED,SAAOC,KAAK,CAACC,KAAN,CAAYD,KAAK,CAACD,IAAlB,KAA2BC,KAAK,CAACD,IAAjC,IAAyCC,KAAK,CAACC,KAAN,CAAYC,EAA5D;AACD;;AAED,SAASC,oBAAT,CAA8BC,KAA9B,EAAqCC,WAArC,EAAkD;AAChD,MAAIA,WAAW,CAACC,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,WAAOD,WAAP;AACD;;AAED,MAAME,QAAQ,GAAG,cAAcF,WAAW,CAAC,CAAD,CAAzB,GAA+B,UAA/B,GAA4C,UAA7D;;AACA,MAAMG,MAAM,GAAG,mBAAIH,WAAJ,EAAiBI,IAAjB,CACb,UAACC,CAAD,EAAIC,CAAJ;AAAA,WACEZ,IAAI,CAAC;AAAEA,MAAAA,IAAI,EAAEY,CAAC,CAACJ,QAAD,CAAT;AAAqBN,MAAAA,KAAK,EAAEG,KAAK,CAACC;AAAlC,KAAD,CAAJ,GACAN,IAAI,CAAC;AAAEA,MAAAA,IAAI,EAAEW,CAAC,CAACH,QAAD,CAAT;AAAqBN,MAAAA,KAAK,EAAEG,KAAK,CAACC;AAAlC,KAAD,CAFN;AAAA,GADa,CAAf;;AAMA,SAAOE,QAAQ,KAAK,UAAb,GAA0BC,MAAM,CAACI,OAAP,EAA1B,GAA6CJ,MAApD;AACD;;AAED,IAAMK,MAAM,GAAG,SAATA,MAAS,CAACb,KAAD;AAAA,SACbF,UAAU,CAAC,UAACM,KAAD,EAAW;AACpB,QAAQC,WAAR,GAAuCL,KAAvC,CAAQK,WAAR;AAAA,QAAqBS,OAArB,GAAuCd,KAAvC,CAAqBc,OAArB;AAAA,QAA8BC,IAA9B,GAAuCf,KAAvC,CAA8Be,IAA9B;AACA,QAAIC,eAAe,GAAG,IAAtB;;AACA,QAAIX,WAAJ,EAAiB;AACfW,MAAAA,eAAe,GAAGb,oBAAoB,CAACC,KAAD,EAAQC,WAAR,CAApB,CAAyCY,MAAzC,CAAgD,UAACC,GAAD,EAAMC,UAAN,EAAqB;AACrF,YAAMZ,QAAQ,GAAG,cAAcY,UAAd,GAA2B,WAA3B,GAAyC,WAA1D;AACA,YAAMC,cAAc,GAAGrB,IAAI,CAAC;AAC1BA,UAAAA,IAAI,EAAEQ,QAAQ,KAAK,WAAb,GAA2BY,UAAU,CAACE,QAAtC,GAAiDF,UAAU,CAACG,QADxC;AAE1BrB,UAAAA,KAAK,EAAEG,KAAK,CAACC;AAFa,SAAD,CAA3B;AAKAa,QAAAA,GAAG,mBAAYX,QAAZ,eAAyBa,cAAc,IAAIb,QAAQ,KAAK,WAAb,GAA2B,CAA3B,GAA+B,CAAnC,CAAvC,SAAH,GAAwF;AACtFgB,UAAAA,mBAAmB,mBAAYJ,UAAU,CAACJ,IAAvB,sBADmE;AAEtFS,UAAAA,GAAG,EAAEpB,KAAK,CAACqB,EAAN,CAASX,OAAT,CAAiBA,OAAjB;AAFiF,SAAxF;AAKA,eAAOI,GAAP;AACD,OAbiB,EAaf,EAbe,CAAlB;AAcD;;AAED,WAAO;AACLQ,MAAAA,SAAS;AACPC,QAAAA,SAAS,EAAE,YADJ;AAEPC,QAAAA,OAAO,EAAE,MAFF;AAGPL,QAAAA,mBAAmB,mBAAYR,IAAZ,sBAHZ;AAIPS,QAAAA,GAAG,EAAEpB,KAAK,CAACqB,EAAN,CAASX,OAAT,CAAiBA,OAAjB;AAJE,SAKJE,eALI;AADJ,KAAP;AASD,GA7BS,CADG;AAAA,CAAf;;AAgCA,eAAeH,MAAf","sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nfunction size(props) {\n if (typeof props.size === \"number\") {\n return props.size;\n }\n\n return props.sizes[props.size] || props.size || props.sizes.md;\n}\n\nfunction getSortedBreakpoints(theme, breakpoints) {\n if (breakpoints.length === 0) {\n return breakpoints;\n }\n\n const property = \"maxWidth\" in breakpoints[0] ? \"maxWidth\" : \"minWidth\";\n const sorted = [...breakpoints].sort(\n (a, b) =>\n size({ size: b[property], sizes: theme.breakpoints }) -\n size({ size: a[property], sizes: theme.breakpoints })\n );\n\n return property === \"minWidth\" ? sorted.reverse() : sorted;\n}\n\nconst styles = (props) =>\n makeStyles((theme) => {\n const { breakpoints, spacing, cols } = props;\n let gridBreakpoints = null;\n if (breakpoints) {\n gridBreakpoints = getSortedBreakpoints(theme, breakpoints).reduce((acc, breakpoint) => {\n const property = \"maxWidth\" in breakpoint ? \"max-width\" : \"min-width\";\n const breakpointSize = size({\n size: property === \"max-width\" ? breakpoint.maxWidth : breakpoint.minWidth,\n sizes: theme.breakpoints,\n });\n\n acc[`@media (${property}: ${breakpointSize + (property === \"max-width\" ? 0 : 1)}px)`] = {\n gridTemplateColumns: `repeat(${breakpoint.cols}, minmax(0, 1fr))`,\n gap: theme.hv.spacing[spacing],\n };\n\n return acc;\n }, {});\n }\n\n return {\n container: {\n boxSizing: \"border-box\",\n display: \"grid\",\n gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`,\n gap: theme.hv.spacing[spacing],\n ...gridBreakpoints,\n },\n };\n });\n\nexport default styles;\n"],"file":"styles.js"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { StandardProps, DividerProps } from "@material-ui/core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { HvThemeSpacing } from "../theme";
|
|
4
|
+
|
|
5
|
+
export type HvStackClassKey = "root";
|
|
6
|
+
|
|
7
|
+
export type StackDirection = {
|
|
8
|
+
xs: string;
|
|
9
|
+
sm: string;
|
|
10
|
+
md: string;
|
|
11
|
+
lg: string;
|
|
12
|
+
xl: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export interface HvStackProps
|
|
16
|
+
extends StandardProps<React.HTMLAttributes<HTMLDivElement>, HvStackClassKey> {
|
|
17
|
+
/**
|
|
18
|
+
* Children of the stack component.
|
|
19
|
+
*/
|
|
20
|
+
children: React.ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* The direction of the stack.
|
|
23
|
+
* Can be either a string or an object that states the direction for each breakpoint.
|
|
24
|
+
*/
|
|
25
|
+
direction?: string | StackDirection;
|
|
26
|
+
/**
|
|
27
|
+
* Indicates that the form element is disabled.
|
|
28
|
+
*/
|
|
29
|
+
spacing?: HvThemeSpacing;
|
|
30
|
+
/**
|
|
31
|
+
* The divider component to be used between the stack elements.
|
|
32
|
+
* - If `true` the Material-UI Divider component will be used.
|
|
33
|
+
* - If a React node is passed then the custom divider will be used.
|
|
34
|
+
*/
|
|
35
|
+
divider?: boolean | React.ReactNode;
|
|
36
|
+
/**
|
|
37
|
+
* The properties to pass on to the Material-UI component.
|
|
38
|
+
*/
|
|
39
|
+
dividerProps: DividerProps;
|
|
40
|
+
/**
|
|
41
|
+
* Sets whether or not there should be arrow navigation between the stack elements
|
|
42
|
+
*/
|
|
43
|
+
withNavigation: boolean;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export default function HvStack(props: HvStackProps): JSX.Element | null;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["classes", "children", "direction", "spacing", "divider", "withNavigation", "dividerProps"];
|
|
5
|
+
import "core-js/modules/es.array.iterator.js";
|
|
6
|
+
import "core-js/modules/es.object.to-string.js";
|
|
7
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
8
|
+
import "core-js/modules/es.array.map.js";
|
|
9
|
+
import React, { useMemo, useCallback, useRef } from "react";
|
|
10
|
+
import PropTypes from "prop-types";
|
|
11
|
+
import clsx from "clsx";
|
|
12
|
+
import { withStyles, Divider, useTheme } from "@material-ui/core";
|
|
13
|
+
import isString from "lodash/isString";
|
|
14
|
+
import isBoolean from "lodash/isBoolean";
|
|
15
|
+
import styles from "./styles";
|
|
16
|
+
import useWidth from "../utils/useWidth";
|
|
17
|
+
import Focus from "../Focus";
|
|
18
|
+
/**
|
|
19
|
+
* @returns {string} - Returns a direction for the stack: column or row. If the
|
|
20
|
+
* `direction` property is a string and a valid direction then we
|
|
21
|
+
* use it. If it's an object with multiple directions by breakpoint
|
|
22
|
+
* we use the appropriate one or search for the nearest breakpoint
|
|
23
|
+
* smaller than the current one to use.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
var getDirection = function getDirection(direction, width, breakpoints) {
|
|
27
|
+
if (isString(direction)) return direction;
|
|
28
|
+
|
|
29
|
+
for (var i = breakpoints.indexOf(width); i >= 0; i -= 1) {
|
|
30
|
+
if (direction[breakpoints[i]] !== undefined) {
|
|
31
|
+
return direction[breakpoints[i]];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return "column";
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* A Stack component allows the organization of its children in a vertical or horizontal layout.
|
|
39
|
+
*
|
|
40
|
+
* It also allows the specification of the spacing between the stack elements and the adition of a divider between the elements.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
var HvStack = function HvStack(props) {
|
|
45
|
+
var classes = props.classes,
|
|
46
|
+
children = props.children,
|
|
47
|
+
_props$direction = props.direction,
|
|
48
|
+
direction = _props$direction === void 0 ? "column" : _props$direction,
|
|
49
|
+
_props$spacing = props.spacing,
|
|
50
|
+
spacing = _props$spacing === void 0 ? "sm" : _props$spacing,
|
|
51
|
+
_props$divider = props.divider,
|
|
52
|
+
divider = _props$divider === void 0 ? false : _props$divider,
|
|
53
|
+
_props$withNavigation = props.withNavigation,
|
|
54
|
+
withNavigation = _props$withNavigation === void 0 ? false : _props$withNavigation,
|
|
55
|
+
_props$dividerProps = props.dividerProps,
|
|
56
|
+
dividerProps = _props$dividerProps === void 0 ? {} : _props$dividerProps,
|
|
57
|
+
others = _objectWithoutProperties(props, _excluded);
|
|
58
|
+
|
|
59
|
+
var width = useWidth();
|
|
60
|
+
var theme = useTheme();
|
|
61
|
+
var containerRef = useRef(null);
|
|
62
|
+
var breakpoints = useMemo(function () {
|
|
63
|
+
return _toConsumableArray(theme.breakpoints.keys);
|
|
64
|
+
}, [theme]);
|
|
65
|
+
var processedDirection = useMemo(function () {
|
|
66
|
+
return getDirection(direction, width, breakpoints);
|
|
67
|
+
}, [direction, width, breakpoints]);
|
|
68
|
+
/**
|
|
69
|
+
* @returns {node} - The divider component to use. If the property `divider` is
|
|
70
|
+
* set to `true` then the Material-UI divider is used, otherwise
|
|
71
|
+
* we use the custom divider the user passed.
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
var getDividerComponent = useCallback(function () {
|
|
75
|
+
if (isBoolean(divider) && divider) {
|
|
76
|
+
return /*#__PURE__*/React.createElement(Divider, _extends({
|
|
77
|
+
orientation: processedDirection === "column" ? "horizontal" : "vertical",
|
|
78
|
+
flexItem: processedDirection === "row",
|
|
79
|
+
role: "separator"
|
|
80
|
+
}, dividerProps));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return divider;
|
|
84
|
+
}, [divider, dividerProps, processedDirection]);
|
|
85
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
86
|
+
ref: containerRef,
|
|
87
|
+
className: clsx(classes.root, classes[processedDirection], classes[spacing])
|
|
88
|
+
}, others), React.Children.map(children, function (child, i) {
|
|
89
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, divider && i !== 0 && getDividerComponent(divider, processedDirection), withNavigation ? /*#__PURE__*/React.createElement(Focus, {
|
|
90
|
+
rootRef: containerRef,
|
|
91
|
+
focusDisabled: false,
|
|
92
|
+
strategy: "grid",
|
|
93
|
+
navigationJump: processedDirection === "column" ? 1 : children.length,
|
|
94
|
+
filterClass: "child"
|
|
95
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: "child"
|
|
97
|
+
}, child)) : child);
|
|
98
|
+
}));
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
process.env.NODE_ENV !== "production" ? HvStack.propTypes = {
|
|
102
|
+
/**
|
|
103
|
+
* A Jss Object used to override or extend the styles applied to the radio button.
|
|
104
|
+
*/
|
|
105
|
+
classes: PropTypes.shape({
|
|
106
|
+
/**
|
|
107
|
+
* Styles applied to the component.
|
|
108
|
+
*/
|
|
109
|
+
root: PropTypes.string
|
|
110
|
+
}).isRequired,
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Children of the stack component.
|
|
114
|
+
*/
|
|
115
|
+
children: PropTypes.node,
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* The direction of the stack.
|
|
119
|
+
* Can be either a string or an object that states the direction for each breakpoint.
|
|
120
|
+
*/
|
|
121
|
+
direction: PropTypes.oneOfType([PropTypes.oneOf(["column", "row"]), PropTypes.shape({
|
|
122
|
+
xs: PropTypes.string,
|
|
123
|
+
sm: PropTypes.string,
|
|
124
|
+
md: PropTypes.string,
|
|
125
|
+
lg: PropTypes.string,
|
|
126
|
+
xl: PropTypes.string
|
|
127
|
+
})]),
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* The spacing between elements of the stack.
|
|
131
|
+
*/
|
|
132
|
+
spacing: PropTypes.oneOf(["xs", "sm", "md", "lg", "xl"]),
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* The divider component to be used between the stack elements.
|
|
136
|
+
*
|
|
137
|
+
* - If `true` the Material-UI Divider component will be used.
|
|
138
|
+
*
|
|
139
|
+
* - If a React node is passed then the custom divider will be used.
|
|
140
|
+
*/
|
|
141
|
+
divider: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* The properties to pass on to the Material-UI component.
|
|
145
|
+
*/
|
|
146
|
+
dividerProps: PropTypes.object,
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Sets whether or not there should be arrow navigation between the stack elements
|
|
150
|
+
*/
|
|
151
|
+
withNavigation: PropTypes.bool
|
|
152
|
+
} : void 0;
|
|
153
|
+
export default withStyles(styles, {
|
|
154
|
+
name: "HvStack"
|
|
155
|
+
})(HvStack);
|
|
156
|
+
//# sourceMappingURL=Stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/Stack/Stack.js"],"names":["React","useMemo","useCallback","useRef","PropTypes","clsx","withStyles","Divider","useTheme","isString","isBoolean","styles","useWidth","Focus","getDirection","direction","width","breakpoints","i","indexOf","undefined","HvStack","props","classes","children","spacing","divider","withNavigation","dividerProps","others","theme","containerRef","keys","processedDirection","getDividerComponent","root","Children","map","child","length","propTypes","shape","string","isRequired","node","oneOfType","oneOf","xs","sm","md","lg","xl","bool","object","name"],"mappings":"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","sourcesContent":["import React, { useMemo, useCallback, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles, Divider, useTheme } from \"@material-ui/core\";\nimport isString from \"lodash/isString\";\nimport isBoolean from \"lodash/isBoolean\";\nimport styles from \"./styles\";\nimport useWidth from \"../utils/useWidth\";\nimport Focus from \"../Focus\";\n\n/**\n * @returns {string} - Returns a direction for the stack: column or row. If the\n * `direction` property is a string and a valid direction then we\n * use it. If it's an object with multiple directions by breakpoint\n * we use the appropriate one or search for the nearest breakpoint\n * smaller than the current one to use.\n */\nconst getDirection = (direction, width, breakpoints) => {\n if (isString(direction)) return direction;\n\n for (let i = breakpoints.indexOf(width); i >= 0; i -= 1) {\n if (direction[breakpoints[i]] !== undefined) {\n return direction[breakpoints[i]];\n }\n }\n return \"column\";\n};\n\n/**\n * A Stack component allows the organization of its children in a vertical or horizontal layout.\n *\n * It also allows the specification of the spacing between the stack elements and the adition of a divider between the elements.\n */\nconst HvStack = (props) => {\n const {\n classes,\n children,\n direction = \"column\",\n spacing = \"sm\",\n divider = false,\n withNavigation = false,\n dividerProps = {},\n ...others\n } = props;\n const width = useWidth();\n const theme = useTheme();\n const containerRef = useRef(null);\n\n const breakpoints = useMemo(() => [...theme.breakpoints.keys], [theme]);\n\n const processedDirection = useMemo(\n () => getDirection(direction, width, breakpoints),\n [direction, width, breakpoints]\n );\n\n /**\n * @returns {node} - The divider component to use. If the property `divider` is\n * set to `true` then the Material-UI divider is used, otherwise\n * we use the custom divider the user passed.\n */\n const getDividerComponent = useCallback(() => {\n if (isBoolean(divider) && divider) {\n return (\n <Divider\n orientation={processedDirection === \"column\" ? \"horizontal\" : \"vertical\"}\n flexItem={processedDirection === \"row\"}\n role=\"separator\"\n {...dividerProps}\n />\n );\n }\n return divider;\n }, [divider, dividerProps, processedDirection]);\n\n return (\n <div\n ref={containerRef}\n className={clsx(classes.root, classes[processedDirection], classes[spacing])}\n {...others}\n >\n {React.Children.map(children, (child, i) => {\n return (\n <>\n {divider && i !== 0 && getDividerComponent(divider, processedDirection)}\n {withNavigation ? (\n <Focus\n rootRef={containerRef}\n focusDisabled={false}\n strategy=\"grid\"\n navigationJump={processedDirection === \"column\" ? 1 : children.length}\n filterClass=\"child\"\n >\n <div className=\"child\">{child}</div>\n </Focus>\n ) : (\n child\n )}\n </>\n );\n })}\n </div>\n );\n};\n\nHvStack.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Children of the stack component.\n */\n children: PropTypes.node,\n /**\n * The direction of the stack.\n * Can be either a string or an object that states the direction for each breakpoint.\n */\n direction: PropTypes.oneOfType([\n PropTypes.oneOf([\"column\", \"row\"]),\n PropTypes.shape({\n xs: PropTypes.string,\n sm: PropTypes.string,\n md: PropTypes.string,\n lg: PropTypes.string,\n xl: PropTypes.string,\n }),\n ]),\n /**\n * The spacing between elements of the stack.\n */\n spacing: PropTypes.oneOf([\"xs\", \"sm\", \"md\", \"lg\", \"xl\"]),\n /**\n * The divider component to be used between the stack elements.\n *\n * - If `true` the Material-UI Divider component will be used.\n *\n * - If a React node is passed then the custom divider will be used.\n */\n divider: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n /**\n * The properties to pass on to the Material-UI component.\n */\n dividerProps: PropTypes.object,\n /**\n * Sets whether or not there should be arrow navigation between the stack elements\n */\n withNavigation: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvStack\" })(HvStack);\n"],"file":"Stack.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/Stack/index.js"],"names":["default"],"mappings":"AAAA,SAASA,OAAT,QAAwB,SAAxB","sourcesContent":["export { default } from \"./Stack\";\n"],"file":"index.js"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var styles = function styles(theme) {
|
|
2
|
+
return {
|
|
3
|
+
root: {
|
|
4
|
+
display: "flex"
|
|
5
|
+
},
|
|
6
|
+
column: {
|
|
7
|
+
flexDirection: "column"
|
|
8
|
+
},
|
|
9
|
+
row: {
|
|
10
|
+
flexDirection: "row"
|
|
11
|
+
},
|
|
12
|
+
xs: {
|
|
13
|
+
gap: theme.hvSpacing("xs")
|
|
14
|
+
},
|
|
15
|
+
sm: {
|
|
16
|
+
gap: theme.hvSpacing("sm")
|
|
17
|
+
},
|
|
18
|
+
md: {
|
|
19
|
+
gap: theme.hvSpacing("md")
|
|
20
|
+
},
|
|
21
|
+
lg: {
|
|
22
|
+
gap: theme.hvSpacing("lg")
|
|
23
|
+
},
|
|
24
|
+
xl: {
|
|
25
|
+
gap: theme.hvSpacing("xl")
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export default styles;
|
|
31
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/Stack/styles.js"],"names":["styles","theme","root","display","column","flexDirection","row","xs","gap","hvSpacing","sm","md","lg","xl"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,OAAO,EAAE;AADL,KADmB;AAIzBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,aAAa,EAAE;AADT,KAJiB;AAOzBC,IAAAA,GAAG,EAAE;AACHD,MAAAA,aAAa,EAAE;AADZ,KAPoB;AAUzBE,IAAAA,EAAE,EAAE;AACFC,MAAAA,GAAG,EAAEP,KAAK,CAACQ,SAAN,CAAgB,IAAhB;AADH,KAVqB;AAazBC,IAAAA,EAAE,EAAE;AACFF,MAAAA,GAAG,EAAEP,KAAK,CAACQ,SAAN,CAAgB,IAAhB;AADH,KAbqB;AAgBzBE,IAAAA,EAAE,EAAE;AACFH,MAAAA,GAAG,EAAEP,KAAK,CAACQ,SAAN,CAAgB,IAAhB;AADH,KAhBqB;AAmBzBG,IAAAA,EAAE,EAAE;AACFJ,MAAAA,GAAG,EAAEP,KAAK,CAACQ,SAAN,CAAgB,IAAhB;AADH,KAnBqB;AAsBzBI,IAAAA,EAAE,EAAE;AACFL,MAAAA,GAAG,EAAEP,KAAK,CAACQ,SAAN,CAAgB,IAAhB;AADH;AAtBqB,GAAZ;AAAA,CAAf;;AA2BA,eAAeT,MAAf","sourcesContent":["const styles = (theme) => ({\n root: {\n display: \"flex\",\n },\n column: {\n flexDirection: \"column\",\n },\n row: {\n flexDirection: \"row\",\n },\n xs: {\n gap: theme.hvSpacing(\"xs\"),\n },\n sm: {\n gap: theme.hvSpacing(\"sm\"),\n },\n md: {\n gap: theme.hvSpacing(\"md\"),\n },\n lg: {\n gap: theme.hvSpacing(\"lg\"),\n },\n xl: {\n gap: theme.hvSpacing(\"xl\"),\n },\n});\n\nexport default styles;\n"],"file":"styles.js"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React, { useState } from "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import clsx from "clsx";
|
|
5
|
+
import { DropUpXS as UpIcon, DropDownXS as DownIcon } from "@hitachivantara/uikit-react-icons";
|
|
6
|
+
import { HvToggleButton } from "../..";
|
|
7
|
+
import { PeriodPickerOptions } from "../enums";
|
|
8
|
+
|
|
9
|
+
var PeriodPicker = function PeriodPicker(props) {
|
|
10
|
+
var classes = props.classes,
|
|
11
|
+
period = props.period,
|
|
12
|
+
onChangePeriod = props.onChangePeriod;
|
|
13
|
+
|
|
14
|
+
var _useState = useState(period !== null && period !== void 0 ? period : PeriodPickerOptions.AM),
|
|
15
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
16
|
+
currentPeriod = _useState2[0],
|
|
17
|
+
setCurrentPeriod = _useState2[1];
|
|
18
|
+
/**
|
|
19
|
+
* Gets the new value for the period
|
|
20
|
+
* @returns the new value for the period
|
|
21
|
+
* @memberof UnitTimePicker
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
var selectDifferentPeriod = function selectDifferentPeriod() {
|
|
26
|
+
return currentPeriod === PeriodPickerOptions.AM ? PeriodPickerOptions.PM : PeriodPickerOptions.AM;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Handles the period change
|
|
30
|
+
* @memberof PeriodPicker
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
var handleChangePeriod = function handleChangePeriod() {
|
|
35
|
+
var newPeriod = selectDifferentPeriod();
|
|
36
|
+
setCurrentPeriod(newPeriod);
|
|
37
|
+
onChangePeriod(newPeriod);
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Renders the PeriodPicker
|
|
41
|
+
* @memberof UnitTimePicker
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
46
|
+
className: classes.periodContainer
|
|
47
|
+
}, /*#__PURE__*/React.createElement(UpIcon, {
|
|
48
|
+
className: classes.icon,
|
|
49
|
+
onClick: handleChangePeriod
|
|
50
|
+
}), /*#__PURE__*/React.createElement(HvToggleButton, {
|
|
51
|
+
className: classes.periodToggle,
|
|
52
|
+
selected: currentPeriod === PeriodPickerOptions.PM,
|
|
53
|
+
onClick: handleChangePeriod
|
|
54
|
+
}, currentPeriod), /*#__PURE__*/React.createElement(DownIcon, {
|
|
55
|
+
className: clsx(classes.icon, classes.subtractIcon),
|
|
56
|
+
onClick: handleChangePeriod
|
|
57
|
+
}));
|
|
58
|
+
}; // }
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
process.env.NODE_ENV !== "production" ? PeriodPicker.propTypes = {
|
|
62
|
+
/**
|
|
63
|
+
* A Jss Object used to override or extend the styles applied to the input/popper
|
|
64
|
+
*/
|
|
65
|
+
classes: PropTypes.instanceOf(Object).isRequired,
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Callback function called when the period value changes
|
|
69
|
+
*/
|
|
70
|
+
onChangePeriod: PropTypes.func.isRequired,
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Default period value
|
|
74
|
+
*/
|
|
75
|
+
period: PropTypes.oneOf([PeriodPickerOptions.AM, PeriodPickerOptions.PM])
|
|
76
|
+
} : void 0;
|
|
77
|
+
export default PeriodPicker;
|
|
78
|
+
//# sourceMappingURL=PeriodPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/TimePicker/PeriodPicker/PeriodPicker.js"],"names":["React","useState","PropTypes","clsx","DropUpXS","UpIcon","DropDownXS","DownIcon","HvToggleButton","PeriodPickerOptions","PeriodPicker","props","classes","period","onChangePeriod","AM","currentPeriod","setCurrentPeriod","selectDifferentPeriod","PM","handleChangePeriod","newPeriod","periodContainer","icon","periodToggle","subtractIcon","propTypes","instanceOf","Object","isRequired","func","oneOf"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,QAAQ,IAAIC,MAArB,EAA6BC,UAAU,IAAIC,QAA3C,QAA2D,mCAA3D;AACA,SAASC,cAAT,QAA+B,OAA/B;AACA,SAASC,mBAAT,QAAoC,UAApC;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;AAC9B,MAAQC,OAAR,GAA4CD,KAA5C,CAAQC,OAAR;AAAA,MAAiBC,MAAjB,GAA4CF,KAA5C,CAAiBE,MAAjB;AAAA,MAAyBC,cAAzB,GAA4CH,KAA5C,CAAyBG,cAAzB;;AACA,kBAA0Cb,QAAQ,CAACY,MAAD,aAACA,MAAD,cAACA,MAAD,GAAWJ,mBAAmB,CAACM,EAA/B,CAAlD;AAAA;AAAA,MAAOC,aAAP;AAAA,MAAsBC,gBAAtB;AAEA;AACF;AACA;AACA;AACA;;;AACE,MAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AAClC,WAAOF,aAAa,KAAKP,mBAAmB,CAACM,EAAtC,GACHN,mBAAmB,CAACU,EADjB,GAEHV,mBAAmB,CAACM,EAFxB;AAGD,GAJD;AAMA;AACF;AACA;AACA;;;AACE,MAAMK,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/B,QAAMC,SAAS,GAAGH,qBAAqB,EAAvC;AACAD,IAAAA,gBAAgB,CAACI,SAAD,CAAhB;AACAP,IAAAA,cAAc,CAACO,SAAD,CAAd;AACD,GAJD;AAMA;AACF;AACA;AACA;;;AACE,sBACE;AAAK,IAAA,SAAS,EAAET,OAAO,CAACU;AAAxB,kBACE,oBAAC,MAAD;AAAQ,IAAA,SAAS,EAAEV,OAAO,CAACW,IAA3B;AAAiC,IAAA,OAAO,EAAEH;AAA1C,IADF,eAEE,oBAAC,cAAD;AACE,IAAA,SAAS,EAAER,OAAO,CAACY,YADrB;AAEE,IAAA,QAAQ,EAAER,aAAa,KAAKP,mBAAmB,CAACU,EAFlD;AAGE,IAAA,OAAO,EAAEC;AAHX,KAKGJ,aALH,CAFF,eASE,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAEb,IAAI,CAACS,OAAO,CAACW,IAAT,EAAeX,OAAO,CAACa,YAAvB,CAAzB;AAA+D,IAAA,OAAO,EAAEL;AAAxE,IATF,CADF;AAaD,CA1CD,C,CA2CA;;;AAEA,wCAAAV,YAAY,CAACgB,SAAb,GAAyB;AACvB;AACF;AACA;AACEd,EAAAA,OAAO,EAAEV,SAAS,CAACyB,UAAV,CAAqBC,MAArB,EAA6BC,UAJf;;AAKvB;AACF;AACA;AACEf,EAAAA,cAAc,EAAEZ,SAAS,CAAC4B,IAAV,CAAeD,UARR;;AASvB;AACF;AACA;AACEhB,EAAAA,MAAM,EAAEX,SAAS,CAAC6B,KAAV,CAAgB,CAACtB,mBAAmB,CAACM,EAArB,EAAyBN,mBAAmB,CAACU,EAA7C,CAAhB;AAZe,CAAzB;AAeA,eAAeT,YAAf","sourcesContent":["import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DropUpXS as UpIcon, DropDownXS as DownIcon } from \"@hitachivantara/uikit-react-icons\";\nimport { HvToggleButton } from \"../..\";\nimport { PeriodPickerOptions } from \"../enums\";\n\nconst PeriodPicker = (props) => {\n const { classes, period, onChangePeriod } = props;\n const [currentPeriod, setCurrentPeriod] = useState(period ?? PeriodPickerOptions.AM);\n\n /**\n * Gets the new value for the period\n * @returns the new value for the period\n * @memberof UnitTimePicker\n */\n const selectDifferentPeriod = () => {\n return currentPeriod === PeriodPickerOptions.AM\n ? PeriodPickerOptions.PM\n : PeriodPickerOptions.AM;\n };\n\n /**\n * Handles the period change\n * @memberof PeriodPicker\n */\n const handleChangePeriod = () => {\n const newPeriod = selectDifferentPeriod();\n setCurrentPeriod(newPeriod);\n onChangePeriod(newPeriod);\n };\n\n /**\n * Renders the PeriodPicker\n * @memberof UnitTimePicker\n */\n return (\n <div className={classes.periodContainer}>\n <UpIcon className={classes.icon} onClick={handleChangePeriod} />\n <HvToggleButton\n className={classes.periodToggle}\n selected={currentPeriod === PeriodPickerOptions.PM}\n onClick={handleChangePeriod}\n >\n {currentPeriod}\n </HvToggleButton>\n <DownIcon className={clsx(classes.icon, classes.subtractIcon)} onClick={handleChangePeriod} />\n </div>\n );\n};\n// }\n\nPeriodPicker.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the input/popper\n */\n classes: PropTypes.instanceOf(Object).isRequired,\n /**\n * Callback function called when the period value changes\n */\n onChangePeriod: PropTypes.func.isRequired,\n /**\n * Default period value\n */\n period: PropTypes.oneOf([PeriodPickerOptions.AM, PeriodPickerOptions.PM]),\n};\n\nexport default PeriodPicker;\n"],"file":"PeriodPicker.js"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import withStyles from "@material-ui/core/styles/withStyles";
|
|
2
|
+
import styles from "./styles";
|
|
3
|
+
import PeriodPicker from "./PeriodPicker";
|
|
4
|
+
export default withStyles(styles, {
|
|
5
|
+
name: "HvTimePickerPeriodPicker"
|
|
6
|
+
})(PeriodPicker);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/TimePicker/PeriodPicker/index.js"],"names":["withStyles","styles","PeriodPicker","name"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,qCAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AAEA,eAAeF,UAAU,CAACC,MAAD,EAAS;AAAEE,EAAAA,IAAI,EAAE;AAAR,CAAT,CAAV,CAAyDD,YAAzD,CAAf","sourcesContent":["import withStyles from \"@material-ui/core/styles/withStyles\";\nimport styles from \"./styles\";\nimport PeriodPicker from \"./PeriodPicker\";\n\nexport default withStyles(styles, { name: \"HvTimePickerPeriodPicker\" })(PeriodPicker);\n"],"file":"index.js"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var styles = function styles(theme) {
|
|
2
|
+
return {
|
|
3
|
+
periodContainer: {
|
|
4
|
+
display: "flex",
|
|
5
|
+
flexDirection: "column",
|
|
6
|
+
justifyContent: "center",
|
|
7
|
+
alignItems: "center",
|
|
8
|
+
marginLeft: 8
|
|
9
|
+
},
|
|
10
|
+
periodToggle: {
|
|
11
|
+
height: "40px",
|
|
12
|
+
width: "40px"
|
|
13
|
+
},
|
|
14
|
+
icon: {
|
|
15
|
+
cursor: "pointer"
|
|
16
|
+
},
|
|
17
|
+
subtractIcon: {
|
|
18
|
+
marginTop: "".concat(theme.hv.spacing.xs, "px")
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default styles;
|
|
24
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/TimePicker/PeriodPicker/styles.js"],"names":["styles","theme","periodContainer","display","flexDirection","justifyContent","alignItems","marginLeft","periodToggle","height","width","icon","cursor","subtractIcon","marginTop","hv","spacing","xs"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,eAAe,EAAE;AACfC,MAAAA,OAAO,EAAE,MADM;AAEfC,MAAAA,aAAa,EAAE,QAFA;AAGfC,MAAAA,cAAc,EAAE,QAHD;AAIfC,MAAAA,UAAU,EAAE,QAJG;AAKfC,MAAAA,UAAU,EAAE;AALG,KADQ;AAQzBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,MAAM,EAAE,MADI;AAEZC,MAAAA,KAAK,EAAE;AAFK,KARW;AAYzBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,MAAM,EAAE;AADJ,KAZmB;AAezBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,SAAS,YAAKb,KAAK,CAACc,EAAN,CAASC,OAAT,CAAiBC,EAAtB;AADG;AAfW,GAAZ;AAAA,CAAf;;AAoBA,eAAejB,MAAf","sourcesContent":["const styles = (theme) => ({\n periodContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n marginLeft: 8,\n },\n periodToggle: {\n height: \"40px\",\n width: \"40px\",\n },\n icon: {\n cursor: \"pointer\",\n },\n subtractIcon: {\n marginTop: `${theme.hv.spacing.xs}px`,\n },\n});\n\nexport default styles;\n"],"file":"styles.js"}
|