@pie-element/number-line 7.2.2 → 7.3.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/size.jsx"],"names":["Size","props","classes","size","min","max","step","onChange","changeWidth","e","width","flexRow","flexCol","minMaxLabel","propTypes","PropTypes","object","isRequired","shape","number","height","func","styles","display","alignItems","gap","color"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAO,CAACC,KAAD,EAAW;AACtB,MAAQC,OAAR,GAAoDD,KAApD,CAAQC,OAAR;AAAA,MAAiBC,IAAjB,GAAoDF,KAApD,CAAiBE,IAAjB;AAAA,MAAuBC,GAAvB,GAAoDH,KAApD,CAAuBG,GAAvB;AAAA,MAA4BC,GAA5B,GAAoDJ,KAApD,CAA4BI,GAA5B;AAAA,MAAiCC,IAAjC,GAAoDL,KAApD,CAAiCK,IAAjC;AAAA,MAAuCC,QAAvC,GAAoDN,KAApD,CAAuCM,QAAvC;;AACA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAIC,KAAJ;AAAA,WAAcH,QAAQ,iCAAMN,KAAK,CAACE,IAAZ;AAAkBO,MAAAA,KAAK,EAALA;AAAlB,OAAtB;AAAA,GAApB;;AACA,sBACE;AAAK,IAAA,SAAS,EAAER,OAAO,CAACS;AAAxB,kBACE;AAAK,IAAA,SAAS,EAAET,OAAO,CAACU;AAAxB,kBACE,4DADF,eAEE;AAAO,IAAA,SAAS,EAAEV,OAAO,CAACW;AAA1B,aACOT,GADP,YACkBC,GADlB,CAFF,CADF,eAOE,gCAAC,+BAAD;AACE,IAAA,KAAK,EAAEF,IAAI,CAACO,KADd;AAEE,IAAA,GAAG,EAAEN,GAFP;AAGE,IAAA,GAAG,EAAEC,GAHP;AAIE,IAAA,IAAI,EAAEC,IAJR;AAKE,IAAA,mBAAmB,EAAE,IALvB;AAME,IAAA,QAAQ,EAAEE,WANZ;AAOE,IAAA,OAAO,EAAE;AAPX,IAPF,CADF;AAmBD,CAtBD;;AAwBAR,IAAI,CAACc,SAAL,GAAiB;AACfZ,EAAAA,OAAO,EAAEa,sBAAUC,MAAV,CAAiBC,UADX;AAEfd,EAAAA,IAAI,EAAEY,sBAAUG,KAAV,CAAgB;AACpBR,IAAAA,KAAK,EAAEK,sBAAUI,MADG;AAEpBC,IAAAA,MAAM,EAAEL,sBAAUI;AAFE,GAAhB,CAFS;AAMff,EAAAA,GAAG,EAAEW,sBAAUI,MANA;AAOfd,EAAAA,GAAG,EAAEU,sBAAUI,MAPA;AAQfb,EAAAA,IAAI,EAAES,sBAAUI,MARD;AASfZ,EAAAA,QAAQ,EAAEQ,sBAAUM,IAAV,CAAeJ;AATV,CAAjB;;AAYA,IAAMK,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpB,aAAO,EADa;AAEpBX,IAAAA,OAAO,EAAE;AACPY,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,UAAU,EAAE,QAFL;AAGPC,MAAAA,GAAG,EAAE;AAHE,KAFW;AAOpBb,IAAAA,OAAO,EAAE;AACPW,MAAAA,OAAO,EAAE,MADF;AAEP,mBAAa;AAFN,KAPW;AAWpBV,IAAAA,WAAW,EAAE;AACX,mBAAa,OADF;AAEXa,MAAAA,KAAK,EAAE;AAFI;AAXO,GAAP;AAAA,CAAf;;eAgBe,wBAAWJ,MAAX,EAAmBtB,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NumberTextFieldCustom } from '@pie-lib/pie-toolbox/config-ui';\n\nconst Size = (props) => {\n const { classes, size, min, max, step, onChange } = props;\n const changeWidth = (e, width) => onChange({ ...props.size, width });\n return (\n <div className={classes.flexRow}>\n <div className={classes.flexCol}>\n <label>Width (px)</label>\n <label className={classes.minMaxLabel}>\n Min {min}, Max {max}\n </label>\n </div>\n <NumberTextFieldCustom\n value={size.width}\n min={min}\n max={max}\n step={step}\n onlyIntegersAllowed={true}\n onChange={changeWidth}\n variant={'outlined'}\n />\n </div>\n );\n};\n\nSize.propTypes = {\n classes: PropTypes.object.isRequired,\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n onChange: PropTypes.func.isRequired,\n};\n\nconst styles = () => ({\n class: {},\n flexRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n },\n flexCol: {\n display: 'flex',\n 'flex-flow': 'column',\n },\n minMaxLabel: {\n 'font-size': 'small',\n color: 'gray',\n },\n});\nexport default withStyles(styles)(Size);\n"],"file":"size.js"}
1
+ {"version":3,"sources":["../src/size.jsx"],"names":["Size","props","classes","size","width","min","max","step","onChange","changeWidth","e","flexRow","flexCol","minMaxLabel","propTypes","PropTypes","object","isRequired","shape","number","height","func","styles","display","alignItems","gap","color"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAO,CAACC,KAAD,EAAW;AACtB;AACA,MAAQC,OAAR,GAAsFD,KAAtF,CAAQC,OAAR;AAAA,oBAAsFD,KAAtF,CAAiBE,IAAjB;AAAA,MAAiBA,IAAjB,4BAAwB;AAAEC,IAAAA,KAAK,EAAE;AAAT,GAAxB;AAAA,mBAAsFH,KAAtF,CAAwCI,GAAxC;AAAA,MAAwCA,GAAxC,2BAA8C,GAA9C;AAAA,mBAAsFJ,KAAtF,CAAmDK,GAAnD;AAAA,MAAmDA,GAAnD,2BAAyD,GAAzD;AAAA,oBAAsFL,KAAtF,CAA8DM,IAA9D;AAAA,MAA8DA,IAA9D,4BAAqE,EAArE;AAAA,MAAyEC,QAAzE,GAAsFP,KAAtF,CAAyEO,QAAzE;;AACA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAIN,KAAJ;AAAA,WAAcI,QAAQ,iCAAMP,KAAK,CAACE,IAAZ;AAAkBC,MAAAA,KAAK,EAALA;AAAlB,OAAtB;AAAA,GAApB;;AACA,sBACE;AAAK,IAAA,SAAS,EAAEF,OAAO,CAACS;AAAxB,kBACE;AAAK,IAAA,SAAS,EAAET,OAAO,CAACU;AAAxB,kBACE,4DADF,eAEE;AAAO,IAAA,SAAS,EAAEV,OAAO,CAACW;AAA1B,aACOR,GADP,YACkBC,GADlB,CAFF,CADF,eAOE,gCAAC,+BAAD;AACE,IAAA,KAAK,EAAEH,IAAI,CAACC,KADd;AAEE,IAAA,GAAG,EAAEC,GAFP;AAGE,IAAA,GAAG,EAAEC,GAHP;AAIE,IAAA,IAAI,EAAEC,IAJR;AAKE,IAAA,mBAAmB,EAAE,IALvB;AAME,IAAA,QAAQ,EAAEE,WANZ;AAOE,IAAA,OAAO,EAAE;AAPX,IAPF,CADF;AAmBD,CAvBD;;AAyBAT,IAAI,CAACc,SAAL,GAAiB;AACfZ,EAAAA,OAAO,EAAEa,sBAAUC,MAAV,CAAiBC,UADX;AAEfd,EAAAA,IAAI,EAAEY,sBAAUG,KAAV,CAAgB;AACpBd,IAAAA,KAAK,EAAEW,sBAAUI,MADG;AAEpBC,IAAAA,MAAM,EAAEL,sBAAUI;AAFE,GAAhB,CAFS;AAMfd,EAAAA,GAAG,EAAEU,sBAAUI,MANA;AAOfb,EAAAA,GAAG,EAAES,sBAAUI,MAPA;AAQfZ,EAAAA,IAAI,EAAEQ,sBAAUI,MARD;AASfX,EAAAA,QAAQ,EAAEO,sBAAUM,IAAV,CAAeJ;AATV,CAAjB;;AAYA,IAAMK,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpB,aAAO,EADa;AAEpBX,IAAAA,OAAO,EAAE;AACPY,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,UAAU,EAAE,QAFL;AAGPC,MAAAA,GAAG,EAAE;AAHE,KAFW;AAOpBb,IAAAA,OAAO,EAAE;AACPW,MAAAA,OAAO,EAAE,MADF;AAEP,mBAAa;AAFN,KAPW;AAWpBV,IAAAA,WAAW,EAAE;AACX,mBAAa,OADF;AAEXa,MAAAA,KAAK,EAAE;AAFI;AAXO,GAAP;AAAA,CAAf;;eAgBe,wBAAWJ,MAAX,EAAmBtB,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NumberTextFieldCustom } from '@pie-lib/pie-toolbox/config-ui';\n\nconst Size = (props) => {\n // Setting default value if not passed in configuration properties.\n const { classes, size = { width: 500 }, min = 150, max = 800, step = 20, onChange } = props;\n const changeWidth = (e, width) => onChange({ ...props.size, width });\n return (\n <div className={classes.flexRow}>\n <div className={classes.flexCol}>\n <label>Width (px)</label>\n <label className={classes.minMaxLabel}>\n Min {min}, Max {max}\n </label>\n </div>\n <NumberTextFieldCustom\n value={size.width}\n min={min}\n max={max}\n step={step}\n onlyIntegersAllowed={true}\n onChange={changeWidth}\n variant={'outlined'}\n />\n </div>\n );\n};\n\nSize.propTypes = {\n classes: PropTypes.object.isRequired,\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n onChange: PropTypes.func.isRequired,\n};\n\nconst styles = () => ({\n class: {},\n flexRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n },\n flexCol: {\n display: 'flex',\n 'flex-flow': 'column',\n },\n minMaxLabel: {\n 'font-size': 'small',\n color: 'gray',\n },\n});\nexport default withStyles(styles)(Size);\n"],"file":"size.js"}
@@ -29,14 +29,68 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
29
29
 
30
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
31
 
32
+ // This const will store available tick interval types.
32
33
  var TickIntervals = ['Integer', 'Fraction', 'Decimal'];
33
34
  exports.TickIntervals = TickIntervals;
34
35
 
35
36
  var Ticks = function Ticks(props) {
36
37
  var classes = props.classes,
37
- ticksModel = props.ticksModel,
38
+ _props$ticksModel = props.ticksModel,
39
+ ticksModel = _props$ticksModel === void 0 ? {
40
+ tickIntervalType: 'Fraction',
41
+ integerTick: 0,
42
+ fractionTick: '0/1',
43
+ decimalTick: 0,
44
+ fractionLabel: '0/1',
45
+ decimalLabel: 0
46
+ } : _props$ticksModel,
38
47
  onChange = props.onChange,
39
- data = props.data;
48
+ _props$data = props.data,
49
+ data = _props$data === void 0 ? {
50
+ minorLimits: {
51
+ min: 0,
52
+ max: 1
53
+ },
54
+ minorValues: {
55
+ fraction: [],
56
+ decimal: [],
57
+ rounded: []
58
+ },
59
+ majorValues: {
60
+ fraction: [],
61
+ decimal: [],
62
+ rounded: []
63
+ }
64
+ } : _props$data;
65
+ /*
66
+ * Function to validate minor values object
67
+ * */
68
+
69
+ var validateMinorValuesObject = function validateMinorValuesObject() {
70
+ if (!data.minorValues) {
71
+ return false;
72
+ }
73
+
74
+ return !!(data.minorValues.fraction || data.minorValues.decimal || data.minorValues.rounded);
75
+ };
76
+ /*
77
+ * Function to validate major values object
78
+ * */
79
+
80
+
81
+ var validateMajorValuesObject = function validateMajorValuesObject() {
82
+ if (!data.majorValues) {
83
+ return false;
84
+ }
85
+
86
+ return !!(data.majorValues.fraction || data.majorValues.decimal || data.majorValues.rounded);
87
+ };
88
+ /*
89
+ * Function to handle tick interval type radio group change
90
+ * @param e change event object
91
+ * @param tickIntervalType string value for changed tick interval type
92
+ * */
93
+
40
94
 
41
95
  var changeTickIntervalType = function changeTickIntervalType(e, tickIntervalType) {
42
96
  if (!TickIntervals.includes(tickIntervalType)) {
@@ -48,6 +102,12 @@ var Ticks = function Ticks(props) {
48
102
  ticksModel: ticksModel
49
103
  });
50
104
  };
105
+ /*
106
+ * Function to handle change in integer tick interval
107
+ * @param e change event object
108
+ * @param integerTick number value for changed tick
109
+ * */
110
+
51
111
 
52
112
  var changeIntegerTick = function changeIntegerTick(e, integerTick) {
53
113
  ticksModel.integerTick = integerTick;
@@ -57,37 +117,69 @@ var Ticks = function Ticks(props) {
57
117
  ticksModel: ticksModel
58
118
  });
59
119
  };
120
+ /*
121
+ * Function to handle change in fraction tick interval
122
+ * @param e change event object
123
+ * @param fractionTick string value for changed tick
124
+ * */
125
+
60
126
 
61
127
  var changeFractionTick = function changeFractionTick(e, fractionTick) {
62
- ticksModel.fractionTick = fractionTick;
63
- ticksModel.decimalTick = data.minorValues.decimal[data.minorValues.fraction.indexOf(ticksModel.fractionTick)];
64
- onChange({
65
- ticksModel: ticksModel
66
- });
128
+ if (validateMinorValuesObject()) {
129
+ ticksModel.fractionTick = fractionTick;
130
+ ticksModel.decimalTick = data.minorValues.decimal[data.minorValues.fraction.indexOf(ticksModel.fractionTick)];
131
+ onChange({
132
+ ticksModel: ticksModel
133
+ });
134
+ }
67
135
  };
136
+ /*
137
+ * Function to handle change in decimal tick interval
138
+ * @param e change event object
139
+ * @param decimalTick number value for changed tick
140
+ * */
141
+
68
142
 
69
143
  var changeDecimalTick = function changeDecimalTick(e, decimalTick) {
70
- ticksModel.decimalTick = data.minorValues.decimal[data.minorValues.rounded.indexOf(decimalTick)];
71
- ticksModel.fractionTick = data.minorValues.fraction[data.minorValues.decimal.indexOf(ticksModel.decimalTick)];
72
- onChange({
73
- ticksModel: ticksModel
74
- });
144
+ if (validateMinorValuesObject()) {
145
+ ticksModel.decimalTick = data.minorValues.decimal[data.minorValues.rounded.indexOf(decimalTick)];
146
+ ticksModel.fractionTick = data.minorValues.fraction[data.minorValues.decimal.indexOf(ticksModel.decimalTick)];
147
+ onChange({
148
+ ticksModel: ticksModel
149
+ });
150
+ }
75
151
  };
152
+ /*
153
+ * Function to handle change in fraction label interval value
154
+ * @param e change event object
155
+ * @param fractionLabel string value for changed label interval
156
+ * */
157
+
76
158
 
77
159
  var changeFractionLabel = function changeFractionLabel(e, fractionLabel) {
78
- ticksModel.fractionLabel = fractionLabel;
79
- ticksModel.decimalLabel = data.majorValues.decimal[data.majorValues.fraction.indexOf(ticksModel.fractionLabel)];
80
- onChange({
81
- ticksModel: ticksModel
82
- });
160
+ if (validateMajorValuesObject()) {
161
+ ticksModel.fractionLabel = fractionLabel;
162
+ ticksModel.decimalLabel = data.majorValues.decimal[data.majorValues.fraction.indexOf(ticksModel.fractionLabel)];
163
+ onChange({
164
+ ticksModel: ticksModel
165
+ });
166
+ }
83
167
  };
168
+ /*
169
+ * Function to handle change in decimal label interval value
170
+ * @param e change event object
171
+ * @param decimalLabel number value for changed label interval
172
+ * */
173
+
84
174
 
85
175
  var changeDecimalLabel = function changeDecimalLabel(e, decimalLabel) {
86
- ticksModel.decimalLabel = data.majorValues.decimal[data.majorValues.rounded.indexOf(decimalLabel)];
87
- ticksModel.fractionLabel = data.majorValues.fraction[data.majorValues.decimal.indexOf(ticksModel.decimalLabel)];
88
- onChange({
89
- ticksModel: ticksModel
90
- });
176
+ if (validateMajorValuesObject()) {
177
+ ticksModel.decimalLabel = data.majorValues.decimal[data.majorValues.rounded.indexOf(decimalLabel)];
178
+ ticksModel.fractionLabel = data.majorValues.fraction[data.majorValues.decimal.indexOf(ticksModel.decimalLabel)];
179
+ onChange({
180
+ ticksModel: ticksModel
181
+ });
182
+ }
91
183
  };
92
184
 
93
185
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ticks.jsx"],"names":["TickIntervals","Ticks","props","classes","ticksModel","onChange","data","changeTickIntervalType","e","tickIntervalType","includes","changeIntegerTick","integerTick","fractionTick","toString","decimalTick","changeFractionTick","minorValues","decimal","fraction","indexOf","changeDecimalTick","rounded","changeFractionLabel","fractionLabel","decimalLabel","majorValues","changeDecimalLabel","displayFlex","flexCol1","tableFixed","radioInputs","labelWidth","minorLimits","max","math","number","ceil","min","nl","numberTextField","round","flexCol2","propTypes","PropTypes","object","isRequired","func","shape","string","styles","display","gap","width","alignItems","paddingTop","paddingBottom","maxWidth"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,aAAa,GAAG,CAAC,SAAD,EAAY,UAAZ,EAAwB,SAAxB,CAAtB;;;AAEA,IAAMC,KAAK,GAAG,SAARA,KAAQ,CAACC,KAAD,EAAW;AAC9B,MAAQC,OAAR,GAAgDD,KAAhD,CAAQC,OAAR;AAAA,MAAiBC,UAAjB,GAAgDF,KAAhD,CAAiBE,UAAjB;AAAA,MAA6BC,QAA7B,GAAgDH,KAAhD,CAA6BG,QAA7B;AAAA,MAAuCC,IAAvC,GAAgDJ,KAAhD,CAAuCI,IAAvC;;AAEA,MAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,CAAD,EAAIC,gBAAJ,EAAyB;AACtD,QAAI,CAACT,aAAa,CAACU,QAAd,CAAuBD,gBAAvB,CAAL,EAA+C;AAC7C;AACD;;AACDL,IAAAA,UAAU,CAACK,gBAAX,GAA8BA,gBAA9B;AACAJ,IAAAA,QAAQ,CAAC;AAAED,MAAAA,UAAU,EAAVA;AAAF,KAAD,CAAR;AACD,GAND;;AAQA,MAAMO,iBAAiB,GAAG,SAApBA,iBAAoB,CAACH,CAAD,EAAII,WAAJ,EAAoB;AAC5CR,IAAAA,UAAU,CAACQ,WAAX,GAAyBA,WAAzB;AACAR,IAAAA,UAAU,CAACS,YAAX,GAA0BD,WAAW,CAACE,QAAZ,EAA1B;AACAV,IAAAA,UAAU,CAACW,WAAX,GAAyBH,WAAzB;AACAP,IAAAA,QAAQ,CAAC;AAAED,MAAAA,UAAU,EAAVA;AAAF,KAAD,CAAR;AACD,GALD;;AAOA,MAAMY,kBAAkB,GAAG,SAArBA,kBAAqB,CAACR,CAAD,EAAIK,YAAJ,EAAqB;AAC9CT,IAAAA,UAAU,CAACS,YAAX,GAA0BA,YAA1B;AACAT,IAAAA,UAAU,CAACW,WAAX,GAAyBT,IAAI,CAACW,WAAL,CAAiBC,OAAjB,CAAyBZ,IAAI,CAACW,WAAL,CAAiBE,QAAjB,CAA0BC,OAA1B,CAAkChB,UAAU,CAACS,YAA7C,CAAzB,CAAzB;AACAR,IAAAA,QAAQ,CAAC;AAAED,MAAAA,UAAU,EAAVA;AAAF,KAAD,CAAR;AACD,GAJD;;AAMA,MAAMiB,iBAAiB,GAAG,SAApBA,iBAAoB,CAACb,CAAD,EAAIO,WAAJ,EAAoB;AAC5CX,IAAAA,UAAU,CAACW,WAAX,GAAyBT,IAAI,CAACW,WAAL,CAAiBC,OAAjB,CAAyBZ,IAAI,CAACW,WAAL,CAAiBK,OAAjB,CAAyBF,OAAzB,CAAiCL,WAAjC,CAAzB,CAAzB;AACAX,IAAAA,UAAU,CAACS,YAAX,GAA0BP,IAAI,CAACW,WAAL,CAAiBE,QAAjB,CAA0Bb,IAAI,CAACW,WAAL,CAAiBC,OAAjB,CAAyBE,OAAzB,CAAiChB,UAAU,CAACW,WAA5C,CAA1B,CAA1B;AACAV,IAAAA,QAAQ,CAAC;AAAED,MAAAA,UAAU,EAAVA;AAAF,KAAD,CAAR;AACD,GAJD;;AAMA,MAAMmB,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACf,CAAD,EAAIgB,aAAJ,EAAsB;AAChDpB,IAAAA,UAAU,CAACoB,aAAX,GAA2BA,aAA3B;AACApB,IAAAA,UAAU,CAACqB,YAAX,GAA0BnB,IAAI,CAACoB,WAAL,CAAiBR,OAAjB,CAAyBZ,IAAI,CAACoB,WAAL,CAAiBP,QAAjB,CAA0BC,OAA1B,CAAkChB,UAAU,CAACoB,aAA7C,CAAzB,CAA1B;AACAnB,IAAAA,QAAQ,CAAC;AAAED,MAAAA,UAAU,EAAVA;AAAF,KAAD,CAAR;AACD,GAJD;;AAMA,MAAMuB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACnB,CAAD,EAAIiB,YAAJ,EAAqB;AAC9CrB,IAAAA,UAAU,CAACqB,YAAX,GAA0BnB,IAAI,CAACoB,WAAL,CAAiBR,OAAjB,CAAyBZ,IAAI,CAACoB,WAAL,CAAiBJ,OAAjB,CAAyBF,OAAzB,CAAiCK,YAAjC,CAAzB,CAA1B;AACArB,IAAAA,UAAU,CAACoB,aAAX,GAA2BlB,IAAI,CAACoB,WAAL,CAAiBP,QAAjB,CAA0Bb,IAAI,CAACoB,WAAL,CAAiBR,OAAjB,CAAyBE,OAAzB,CAAiChB,UAAU,CAACqB,YAA5C,CAA1B,CAA3B;AACApB,IAAAA,QAAQ,CAAC;AAAED,MAAAA,UAAU,EAAVA;AAAF,KAAD,CAAR;AACD,GAJD;;AAMA,sBACE;AAAK,IAAA,SAAS,EAAED,OAAO,CAACyB;AAAxB,kBACE;AAAK,IAAA,SAAS,EAAEzB,OAAO,CAAC0B;AAAxB,kBACE,+DADF,eAEE,gCAAC,sBAAD;AACE,kBAAW,oBADb;AAEE,IAAA,IAAI,EAAC,kBAFP;AAGE,IAAA,KAAK,EAAEzB,UAAU,CAACK,gBAHpB;AAIE,IAAA,QAAQ,EAAEF;AAJZ,kBAME;AAAO,IAAA,SAAS,EAAEJ,OAAO,CAAC2B;AAA1B,kBACE,4DACE;AAAI,IAAA,SAAS,EAAE3B,OAAO,CAAC4B;AAAvB,kBACE;AAAI,IAAA,SAAS,EAAE5B,OAAO,CAAC6B;AAAvB,kBACE,gCAAC,4BAAD;AACE,IAAA,KAAK,EAAC,SADR;AAEE,IAAA,OAAO,eAAE,gCAAC,iBAAD;AAAO,MAAA,OAAO,EAAE5B,UAAU,CAACK,gBAAX,KAAgC;AAAhD,MAFX;AAGE,IAAA,KAAK,EAAC,SAHR;AAIE,IAAA,QAAQ,EAAEH,IAAI,CAAC2B,WAAL,CAAiBC,GAAjB,GAAuB;AAJnC,IADF,CADF,eASE,yDACE,gCAAC,+BAAD;AACE,IAAA,KAAK,EAAE9B,UAAU,CAACQ,WADpB;AAEE,IAAA,GAAG,EAAEuB,IAAI,CAACC,MAAL,CAAYD,IAAI,CAACE,IAAL,CAAU/B,IAAI,CAAC2B,WAAL,CAAiBK,GAA3B,CAAZ,CAFP;AAGE,IAAA,GAAG,EAAEH,IAAI,CAACC,MAAL,CAAYD,IAAI,CAACE,IAAL,CAAU/B,IAAI,CAAC2B,WAAL,CAAiBC,GAA3B,CAAZ,CAHP;AAIE,IAAA,IAAI,EAAE,CAJR;AAKE,IAAA,mBAAmB,EAAE,IALvB;AAME,IAAA,SAAS,EAAE/B,OAAO,CAACoC,EANrB;AAOE,IAAA,cAAc,EAAEpC,OAAO,CAACqC,eAP1B;AAQE,IAAA,QAAQ,EAAE7B,iBARZ;AASE,IAAA,OAAO,EAAE,UATX;AAUE,IAAA,IAAI,EAAE,QAVR;AAWE,IAAA,QAAQ,EAAEP,UAAU,CAACK,gBAAX,KAAgC,SAAhC,IAA6CH,IAAI,CAAC2B,WAAL,CAAiBC,GAAjB,GAAuB;AAXhF,IADF,CATF,CADF,eA0BE;AAAI,IAAA,SAAS,EAAE/B,OAAO,CAAC4B;AAAvB,kBACE;AAAI,IAAA,SAAS,EAAE5B,OAAO,CAAC6B;AAAvB,kBACE,gCAAC,4BAAD;AACE,IAAA,KAAK,EAAC,UADR;AAEE,IAAA,OAAO,eAAE,gCAAC,iBAAD;AAAO,MAAA,OAAO,EAAE5B,UAAU,CAACK,gBAAX,KAAgC;AAAhD,MAFX;AAGE,IAAA,KAAK,EAAC;AAHR,IADF,CADF,eAQE,yDACE,gCAAC,+BAAD;AACE,IAAA,KAAK,EAAEL,UAAU,CAACS,YADpB;AAEE,IAAA,GAAG,EAAEsB,IAAI,CAACC,MAAL,CAAY9B,IAAI,CAAC2B,WAAL,CAAiBK,GAA7B,CAFP;AAGE,IAAA,GAAG,EAAEH,IAAI,CAACC,MAAL,CAAY9B,IAAI,CAAC2B,WAAL,CAAiBC,GAA7B,CAHP;AAIE,IAAA,YAAY,EAAE5B,IAAI,CAACW,WAAL,CAAiBE,QAJjC;AAKE,IAAA,SAAS,EAAEhB,OAAO,CAACoC,EALrB;AAME,IAAA,cAAc,EAAEpC,OAAO,CAACqC,eAN1B;AAOE,IAAA,QAAQ,EAAExB,kBAPZ;AAQE,IAAA,OAAO,EAAE,UARX;AASE,IAAA,IAAI,EAAE,MATR;AAUE,IAAA,QAAQ,EAAEZ,UAAU,CAACK,gBAAX,KAAgC;AAV5C,IADF,CARF,CA1BF,eAiDE;AAAI,IAAA,SAAS,EAAEN,OAAO,CAAC4B;AAAvB,kBACE;AAAI,IAAA,SAAS,EAAE5B,OAAO,CAAC6B;AAAvB,kBACE,gCAAC,4BAAD;AACE,IAAA,KAAK,EAAC,SADR;AAEE,IAAA,OAAO,eAAE,gCAAC,iBAAD;AAAO,MAAA,OAAO,EAAE5B,UAAU,CAACK,gBAAX,KAAgC;AAAhD,MAFX;AAGE,IAAA,KAAK,EAAC;AAHR,IADF,CADF,eAQE,yDACE,gCAAC,+BAAD;AACE,IAAA,KAAK,EAAE0B,IAAI,CAACC,MAAL,CAAYD,IAAI,CAACM,KAAL,CAAWrC,UAAU,CAACW,WAAtB,EAAmC,CAAnC,CAAZ,CADT;AAEE,IAAA,GAAG,EAAEoB,IAAI,CAACC,MAAL,CAAY9B,IAAI,CAAC2B,WAAL,CAAiBK,GAA7B,CAFP;AAGE,IAAA,GAAG,EAAEH,IAAI,CAACC,MAAL,CAAY9B,IAAI,CAAC2B,WAAL,CAAiBC,GAA7B,CAHP;AAIE,IAAA,YAAY,EAAE5B,IAAI,CAACW,WAAL,CAAiBK,OAJjC;AAKE,IAAA,SAAS,EAAEnB,OAAO,CAACoC,EALrB;AAME,IAAA,cAAc,EAAEpC,OAAO,CAACqC,eAN1B;AAOE,IAAA,QAAQ,EAAEnB,iBAPZ;AAQE,IAAA,OAAO,EAAE,UARX;AASE,IAAA,IAAI,EAAE,QATR;AAUE,IAAA,QAAQ,EAAEjB,UAAU,CAACK,gBAAX,KAAgC;AAV5C,IADF,CARF,CAjDF,CADF,CANF,CAFF,CADF,eAsFE;AAAK,IAAA,SAAS,EAAEN,OAAO,CAACuC;AAAxB,kBACE,gEADF,eAEE,gCAAC,+BAAD;AACE,IAAA,KAAK,EACHtC,UAAU,CAACK,gBAAX,KAAgC,UAAhC,GACIL,UAAU,CAACoB,aADf,GAEIW,IAAI,CAACC,MAAL,CAAYD,IAAI,CAACM,KAAL,CAAWrC,UAAU,CAACqB,YAAtB,EAAoC,CAApC,CAAZ,CAJR;AAME,IAAA,SAAS,EAAEtB,OAAO,CAACqC,eANrB;AAOE,IAAA,OAAO,EAAE,UAPX;AAQE,IAAA,YAAY,EACVpC,UAAU,CAACK,gBAAX,KAAgC,UAAhC,GAA6CH,IAAI,CAACoB,WAAL,CAAiBP,QAA9D,GAAyEb,IAAI,CAACoB,WAAL,CAAiBJ,OAT9F;AAWE,IAAA,IAAI,EAAElB,UAAU,CAACK,gBAAX,KAAgC,UAAhC,GAA6C,MAA7C,GAAsD,QAX9D;AAYE,IAAA,QAAQ,EAAEL,UAAU,CAACK,gBAAX,KAAgC,UAAhC,GAA6Cc,mBAA7C,GAAmEI;AAZ/E,IAFF,CAtFF,CADF;AA0GD,CApJM;;;AAqJP1B,KAAK,CAAC0C,SAAN,GAAkB;AAChBxC,EAAAA,OAAO,EAAEyC,sBAAUC,MAAV,CAAiBC,UADV;AAEhBzC,EAAAA,QAAQ,EAAEuC,sBAAUG,IAFJ;AAGhB3C,EAAAA,UAAU,EAAEwC,sBAAUI,KAAV,CAAgB;AAC1BpC,IAAAA,WAAW,EAAEgC,sBAAUR,MADG;AAE1BrB,IAAAA,WAAW,EAAE6B,sBAAUR,MAFG;AAG1BvB,IAAAA,YAAY,EAAE+B,sBAAUK,MAHE;AAI1BxC,IAAAA,gBAAgB,EAAEmC,sBAAUK,MAJF;AAK1BzB,IAAAA,aAAa,EAAEoB,sBAAUK,MALC;AAM1BxB,IAAAA,YAAY,EAAEmB,sBAAUR;AANE,GAAhB,CAHI;AAWhB9B,EAAAA,IAAI,EAAEsC,sBAAUC;AAXA,CAAlB;;AAcA,IAAMK,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBtB,IAAAA,WAAW,EAAE;AACXuB,MAAAA,OAAO,EAAE;AADE,KADO;AAIpBtB,IAAAA,QAAQ,EAAE;AACRsB,MAAAA,OAAO,EAAE,MADD;AAER,mBAAa,QAFL;AAGRC,MAAAA,GAAG,EAAE,MAHG;AAIRC,MAAAA,KAAK,EAAE;AAJC,KAJU;AAUpBX,IAAAA,QAAQ,EAAE;AACRS,MAAAA,OAAO,EAAE,MADD;AAER,mBAAa,QAFL;AAGRC,MAAAA,GAAG,EAAE;AAHG,KAVU;AAepBrB,IAAAA,WAAW,EAAE;AACXoB,MAAAA,OAAO,EAAE,MADE;AAEXG,MAAAA,UAAU,EAAE,QAFD;AAGXC,MAAAA,UAAU,EAAE,KAHD;AAIXC,MAAAA,aAAa,EAAE;AAJJ,KAfO;AAqBpBhB,IAAAA,eAAe,EAAE;AACfiB,MAAAA,QAAQ,EAAE;AADK,KArBG;AAwBpB3B,IAAAA,UAAU,EAAE;AACV,sBAAgB,OADN;AAEVuB,MAAAA,KAAK,EAAE;AAFG,KAxBQ;AA4BpBrB,IAAAA,UAAU,EAAE;AACVqB,MAAAA,KAAK,EAAE;AADG;AA5BQ,GAAP;AAAA,CAAf;;eAgCe,wBAAWH,MAAX,EAAmBjD,KAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NumberTextFieldCustom } from '@pie-lib/pie-toolbox/config-ui';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport Radio from '@material-ui/core/Radio';\nimport * as math from 'mathjs';\n\nexport const TickIntervals = ['Integer', 'Fraction', 'Decimal'];\n\nexport const Ticks = (props) => {\n const { classes, ticksModel, onChange, data } = props;\n\n const changeTickIntervalType = (e, tickIntervalType) => {\n if (!TickIntervals.includes(tickIntervalType)) {\n return;\n }\n ticksModel.tickIntervalType = tickIntervalType;\n onChange({ ticksModel });\n };\n\n const changeIntegerTick = (e, integerTick) => {\n ticksModel.integerTick = integerTick;\n ticksModel.fractionTick = integerTick.toString();\n ticksModel.decimalTick = integerTick;\n onChange({ ticksModel });\n };\n\n const changeFractionTick = (e, fractionTick) => {\n ticksModel.fractionTick = fractionTick;\n ticksModel.decimalTick = data.minorValues.decimal[data.minorValues.fraction.indexOf(ticksModel.fractionTick)];\n onChange({ ticksModel });\n };\n\n const changeDecimalTick = (e, decimalTick) => {\n ticksModel.decimalTick = data.minorValues.decimal[data.minorValues.rounded.indexOf(decimalTick)];\n ticksModel.fractionTick = data.minorValues.fraction[data.minorValues.decimal.indexOf(ticksModel.decimalTick)];\n onChange({ ticksModel });\n };\n\n const changeFractionLabel = (e, fractionLabel) => {\n ticksModel.fractionLabel = fractionLabel;\n ticksModel.decimalLabel = data.majorValues.decimal[data.majorValues.fraction.indexOf(ticksModel.fractionLabel)];\n onChange({ ticksModel });\n };\n\n const changeDecimalLabel = (e, decimalLabel) => {\n ticksModel.decimalLabel = data.majorValues.decimal[data.majorValues.rounded.indexOf(decimalLabel)];\n ticksModel.fractionLabel = data.majorValues.fraction[data.majorValues.decimal.indexOf(ticksModel.decimalLabel)];\n onChange({ ticksModel });\n };\n\n return (\n <div className={classes.displayFlex}>\n <div className={classes.flexCol1}>\n <label>Tick Interval</label>\n <RadioGroup\n aria-label=\"tick-interval-type\"\n name=\"tickIntervalType\"\n value={ticksModel.tickIntervalType}\n onChange={changeTickIntervalType}\n >\n <table className={classes.tableFixed}>\n <tbody>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Integer\"\n control={<Radio checked={ticksModel.tickIntervalType === 'Integer'} />}\n label=\"Integer\"\n disabled={data.minorLimits.max < 1}\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticksModel.integerTick}\n min={math.number(math.ceil(data.minorLimits.min))}\n max={math.number(math.ceil(data.minorLimits.max))}\n step={1}\n onlyIntegersAllowed={true}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeIntegerTick}\n variant={'outlined'}\n type={'number'}\n disabled={ticksModel.tickIntervalType !== 'Integer' || data.minorLimits.max < 1}\n />\n </td>\n </tr>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Fraction\"\n control={<Radio checked={ticksModel.tickIntervalType === 'Fraction'} />}\n label=\"Unit Fraction\"\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticksModel.fractionTick}\n min={math.number(data.minorLimits.min)}\n max={math.number(data.minorLimits.max)}\n customValues={data.minorValues.fraction}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeFractionTick}\n variant={'outlined'}\n type={'text'}\n disabled={ticksModel.tickIntervalType !== 'Fraction'}\n />\n </td>\n </tr>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Decimal\"\n control={<Radio checked={ticksModel.tickIntervalType === 'Decimal'} />}\n label=\"Decimal\"\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={math.number(math.round(ticksModel.decimalTick, 3))}\n min={math.number(data.minorLimits.min)}\n max={math.number(data.minorLimits.max)}\n customValues={data.minorValues.rounded}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeDecimalTick}\n variant={'outlined'}\n type={'number'}\n disabled={ticksModel.tickIntervalType !== 'Decimal'}\n />\n </td>\n </tr>\n </tbody>\n </table>\n </RadioGroup>\n </div>\n <div className={classes.flexCol2}>\n <label>Label Interval</label>\n <NumberTextFieldCustom\n value={\n ticksModel.tickIntervalType === 'Fraction'\n ? ticksModel.fractionLabel\n : math.number(math.round(ticksModel.decimalLabel, 3))\n }\n className={classes.numberTextField}\n variant={'outlined'}\n customValues={\n ticksModel.tickIntervalType === 'Fraction' ? data.majorValues.fraction : data.majorValues.rounded\n }\n type={ticksModel.tickIntervalType === 'Fraction' ? 'text' : 'number'}\n onChange={ticksModel.tickIntervalType === 'Fraction' ? changeFractionLabel : changeDecimalLabel}\n />\n </div>\n </div>\n );\n};\nTicks.propTypes = {\n classes: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n ticksModel: PropTypes.shape({\n integerTick: PropTypes.number,\n decimalTick: PropTypes.number,\n fractionTick: PropTypes.string,\n tickIntervalType: PropTypes.string,\n fractionLabel: PropTypes.string,\n decimalLabel: PropTypes.number,\n }),\n data: PropTypes.object,\n};\n\nconst styles = () => ({\n displayFlex: {\n display: 'flex',\n },\n flexCol1: {\n display: 'flex',\n 'flex-flow': 'column',\n gap: '10px',\n width: '65%',\n },\n flexCol2: {\n display: 'flex',\n 'flex-flow': 'column',\n gap: '10px',\n },\n radioInputs: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: '5px',\n paddingBottom: '5px',\n },\n numberTextField: {\n maxWidth: '145px',\n },\n tableFixed: {\n 'table-layout': 'fixed',\n width: '100%',\n },\n labelWidth: {\n width: '35%',\n },\n});\nexport default withStyles(styles)(Ticks);\n"],"file":"ticks.js"}
1
+ {"version":3,"sources":["../src/ticks.jsx"],"names":["TickIntervals","Ticks","props","classes","ticksModel","tickIntervalType","integerTick","fractionTick","decimalTick","fractionLabel","decimalLabel","onChange","data","minorLimits","min","max","minorValues","fraction","decimal","rounded","majorValues","validateMinorValuesObject","validateMajorValuesObject","changeTickIntervalType","e","includes","changeIntegerTick","toString","changeFractionTick","indexOf","changeDecimalTick","changeFractionLabel","changeDecimalLabel","displayFlex","flexCol1","tableFixed","radioInputs","labelWidth","math","number","ceil","nl","numberTextField","round","flexCol2","propTypes","PropTypes","object","isRequired","func","shape","string","styles","display","gap","width","alignItems","paddingTop","paddingBottom","maxWidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NumberTextFieldCustom } from '@pie-lib/pie-toolbox/config-ui';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport Radio from '@material-ui/core/Radio';\nimport * as math from 'mathjs';\n\n// This const will store available tick interval types.\nexport const TickIntervals = ['Integer', 'Fraction', 'Decimal'];\n\nexport const Ticks = (props) => {\n const {\n classes,\n ticksModel = {\n tickIntervalType: 'Fraction',\n integerTick: 0,\n fractionTick: '0/1',\n decimalTick: 0,\n fractionLabel: '0/1',\n decimalLabel: 0,\n },\n onChange,\n data = {\n minorLimits: { min: 0, max: 1 },\n minorValues: { fraction: [], decimal: [], rounded: [] },\n majorValues: { fraction: [], decimal: [], rounded: [] },\n }, // added default values if not present in model.\n } = props;\n\n /*\n * Function to validate minor values object\n * */\n const validateMinorValuesObject = () => {\n if (!data.minorValues) {\n return false;\n }\n return !!(data.minorValues.fraction || data.minorValues.decimal || data.minorValues.rounded);\n };\n\n /*\n * Function to validate major values object\n * */\n const validateMajorValuesObject = () => {\n if (!data.majorValues) {\n return false;\n }\n return !!(data.majorValues.fraction || data.majorValues.decimal || data.majorValues.rounded);\n };\n\n /*\n * Function to handle tick interval type radio group change\n * @param e change event object\n * @param tickIntervalType string value for changed tick interval type\n * */\n const changeTickIntervalType = (e, tickIntervalType) => {\n if (!TickIntervals.includes(tickIntervalType)) {\n return;\n }\n ticksModel.tickIntervalType = tickIntervalType;\n onChange({ ticksModel });\n };\n\n /*\n * Function to handle change in integer tick interval\n * @param e change event object\n * @param integerTick number value for changed tick\n * */\n const changeIntegerTick = (e, integerTick) => {\n ticksModel.integerTick = integerTick;\n ticksModel.fractionTick = integerTick.toString();\n ticksModel.decimalTick = integerTick;\n onChange({ ticksModel });\n };\n\n /*\n * Function to handle change in fraction tick interval\n * @param e change event object\n * @param fractionTick string value for changed tick\n * */\n const changeFractionTick = (e, fractionTick) => {\n if (validateMinorValuesObject()) {\n ticksModel.fractionTick = fractionTick;\n ticksModel.decimalTick = data.minorValues.decimal[data.minorValues.fraction.indexOf(ticksModel.fractionTick)];\n onChange({ ticksModel });\n }\n };\n\n /*\n * Function to handle change in decimal tick interval\n * @param e change event object\n * @param decimalTick number value for changed tick\n * */\n const changeDecimalTick = (e, decimalTick) => {\n if (validateMinorValuesObject()) {\n ticksModel.decimalTick = data.minorValues.decimal[data.minorValues.rounded.indexOf(decimalTick)];\n ticksModel.fractionTick = data.minorValues.fraction[data.minorValues.decimal.indexOf(ticksModel.decimalTick)];\n onChange({ ticksModel });\n }\n };\n\n /*\n * Function to handle change in fraction label interval value\n * @param e change event object\n * @param fractionLabel string value for changed label interval\n * */\n const changeFractionLabel = (e, fractionLabel) => {\n if (validateMajorValuesObject()) {\n ticksModel.fractionLabel = fractionLabel;\n ticksModel.decimalLabel = data.majorValues.decimal[data.majorValues.fraction.indexOf(ticksModel.fractionLabel)];\n onChange({ ticksModel });\n }\n };\n\n /*\n * Function to handle change in decimal label interval value\n * @param e change event object\n * @param decimalLabel number value for changed label interval\n * */\n const changeDecimalLabel = (e, decimalLabel) => {\n if (validateMajorValuesObject()) {\n ticksModel.decimalLabel = data.majorValues.decimal[data.majorValues.rounded.indexOf(decimalLabel)];\n ticksModel.fractionLabel = data.majorValues.fraction[data.majorValues.decimal.indexOf(ticksModel.decimalLabel)];\n onChange({ ticksModel });\n }\n };\n\n return (\n <div className={classes.displayFlex}>\n <div className={classes.flexCol1}>\n <label>Tick Interval</label>\n <RadioGroup\n aria-label=\"tick-interval-type\"\n name=\"tickIntervalType\"\n value={ticksModel.tickIntervalType}\n onChange={changeTickIntervalType}\n >\n <table className={classes.tableFixed}>\n <tbody>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Integer\"\n control={<Radio checked={ticksModel.tickIntervalType === 'Integer'} />}\n label=\"Integer\"\n disabled={data.minorLimits.max < 1}\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticksModel.integerTick}\n min={math.number(math.ceil(data.minorLimits.min))}\n max={math.number(math.ceil(data.minorLimits.max))}\n step={1}\n onlyIntegersAllowed={true}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeIntegerTick}\n variant={'outlined'}\n type={'number'}\n disabled={ticksModel.tickIntervalType !== 'Integer' || data.minorLimits.max < 1}\n />\n </td>\n </tr>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Fraction\"\n control={<Radio checked={ticksModel.tickIntervalType === 'Fraction'} />}\n label=\"Unit Fraction\"\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticksModel.fractionTick}\n min={math.number(data.minorLimits.min)}\n max={math.number(data.minorLimits.max)}\n customValues={data.minorValues.fraction}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeFractionTick}\n variant={'outlined'}\n type={'text'}\n disabled={ticksModel.tickIntervalType !== 'Fraction'}\n />\n </td>\n </tr>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Decimal\"\n control={<Radio checked={ticksModel.tickIntervalType === 'Decimal'} />}\n label=\"Decimal\"\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={math.number(math.round(ticksModel.decimalTick, 3))}\n min={math.number(data.minorLimits.min)}\n max={math.number(data.minorLimits.max)}\n customValues={data.minorValues.rounded}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeDecimalTick}\n variant={'outlined'}\n type={'number'}\n disabled={ticksModel.tickIntervalType !== 'Decimal'}\n />\n </td>\n </tr>\n </tbody>\n </table>\n </RadioGroup>\n </div>\n <div className={classes.flexCol2}>\n <label>Label Interval</label>\n <NumberTextFieldCustom\n value={\n ticksModel.tickIntervalType === 'Fraction'\n ? ticksModel.fractionLabel\n : math.number(math.round(ticksModel.decimalLabel, 3))\n }\n className={classes.numberTextField}\n variant={'outlined'}\n customValues={\n ticksModel.tickIntervalType === 'Fraction' ? data.majorValues.fraction : data.majorValues.rounded\n }\n type={ticksModel.tickIntervalType === 'Fraction' ? 'text' : 'number'}\n onChange={ticksModel.tickIntervalType === 'Fraction' ? changeFractionLabel : changeDecimalLabel}\n />\n </div>\n </div>\n );\n};\nTicks.propTypes = {\n classes: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n ticksModel: PropTypes.shape({\n integerTick: PropTypes.number,\n decimalTick: PropTypes.number,\n fractionTick: PropTypes.string,\n tickIntervalType: PropTypes.string,\n fractionLabel: PropTypes.string,\n decimalLabel: PropTypes.number,\n }),\n data: PropTypes.object,\n};\n\nconst styles = () => ({\n displayFlex: {\n display: 'flex',\n },\n flexCol1: {\n display: 'flex',\n 'flex-flow': 'column',\n gap: '10px',\n width: '65%',\n },\n flexCol2: {\n display: 'flex',\n 'flex-flow': 'column',\n gap: '10px',\n },\n radioInputs: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: '5px',\n paddingBottom: '5px',\n },\n numberTextField: {\n maxWidth: '145px',\n },\n tableFixed: {\n 'table-layout': 'fixed',\n width: '100%',\n },\n labelWidth: {\n width: '35%',\n },\n});\nexport default withStyles(styles)(Ticks);\n"],"file":"ticks.js"}
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@pie-element/number-line-configure",
3
3
  "private": true,
4
- "version": "6.2.2",
4
+ "version": "6.3.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
7
7
  "dependencies": {
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@pie-framework/pie-configure-events": "^1.3.0",
10
- "@pie-lib/pie-toolbox": "1.4.7",
10
+ "@pie-lib/pie-toolbox": "1.4.8",
11
11
  "react": "^16.8.1",
12
12
  "react-dom": "^16.8.1"
13
13
  }
@@ -3,6 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@5.1.2...@pie-element/number-line-controller@5.1.3) (2024-01-08)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-lib/pie-toolbox PD-2068, PD-2060 ([b63f783](https://github.com/pie-framework/pie-elements/commit/b63f78371452e265f31f721dcfa5f8ba9789089c))
12
+ * update pie-lib/pie-toolbox PD-3352 ([c40c326](https://github.com/pie-framework/pie-elements/commit/c40c326209315b57ce8da802b8e00616256e3bd6))
13
+ * update pie-lib/pie-toolbox SC-27396, SC-27398 ([658a553](https://github.com/pie-framework/pie-elements/commit/658a55358181271b508f7d550467eefadcd71544))
14
+
15
+
16
+
17
+
18
+
6
19
  ## [5.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@5.1.1...@pie-element/number-line-controller@5.1.2) (2024-01-08)
7
20
 
8
21
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/number-line-controller",
3
3
  "private": true,
4
- "version": "5.1.2",
4
+ "version": "5.1.3",
5
5
  "description": "Controller logic for @pie-ui/number-line",
6
6
  "keywords": [
7
7
  "pie",
@@ -14,7 +14,7 @@
14
14
  "access": "public"
15
15
  },
16
16
  "dependencies": {
17
- "@pie-lib/pie-toolbox": "1.4.7",
17
+ "@pie-lib/pie-toolbox": "1.4.8",
18
18
  "lodash": "^4.17.15"
19
19
  },
20
20
  "author": "",
@@ -27,6 +27,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
27
27
 
28
28
  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) { (0, _defineProperty2["default"])(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; }
29
29
 
30
+ /*This const will store possible multiplier for label interval that needs to be multiplied
31
+ with tick interval with denominator represented with object key.*/
30
32
  var labelMultiplier = {
31
33
  1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
32
34
  2: [1, 2, 4, 6, 8, 10],
@@ -203,6 +205,12 @@ var limit = function limit(v, min, max) {
203
205
 
204
206
  return v;
205
207
  };
208
+ /*
209
+ * Function to get tick interval limits based on min, max and width entered by the user.
210
+ * @param domain object containing max and min value.
211
+ * @param width number represents width of number line.
212
+ * */
213
+
206
214
 
207
215
  var getMinorLimits = function getMinorLimits(domain, width) {
208
216
  var end = domain.max - domain.min;
@@ -288,6 +296,13 @@ var buildTickDataAsFractions = function buildTickDataAsFractions(domain, width,
288
296
  });
289
297
  return o;
290
298
  };
299
+ /*
300
+ * This function will generate tick interval values based on min and max limits of ticks.
301
+ * @param minorLimits object containing min and max values
302
+ * @return out object containing three arrays 1. fraction values, 2. decimal values,
303
+ * 3. rounded decimal values upto 3 point precision for tick intervals.
304
+ * */
305
+
291
306
 
292
307
  exports.buildTickDataAsFractions = buildTickDataAsFractions;
293
308
 
@@ -319,6 +334,14 @@ var generateMinorValues = function generateMinorValues(minorLimits) {
319
334
 
320
335
  return out;
321
336
  };
337
+ /*
338
+ * This function will generate label interval values for provided tick interval value.
339
+ * @param minor number representing tick interval value.
340
+ * @param minorValues object containing array of tick intervals.
341
+ * @return out object containing three arrays 1. fraction values, 2. decimal values,
342
+ * 3. rounded decimal values upto 3 point precision for label intervals.
343
+ * */
344
+
322
345
 
323
346
  exports.generateMinorValues = generateMinorValues;
324
347
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/number-line/graph/tick-utils.js"],"names":["labelMultiplier","fractionSnapTo","min","max","interval","value","fmax","fmin","mod","v","half","div","math","largerEq","abs","d","sub","fn","fn2","snapTo","out","fraction","number","fractionRange","start","end","m","equal","Error","e","subtract","direction","larger","smallerEq","compareFn","next","push","add","zbrErrorMessage","zeroBasedRange","length","a","multiplier","smaller","s","r","map","multiply","reverse","b","simpleRange","positiveRange","negativeRange","together","concat","closeTo","precision","expectedDiff","Math","pow","receivedDiff","limit","getMinorLimits","domain","width","divide","isMultiple","multiple","src","n","normalizeTicks","ticks","opts","useLimit","minorLimits","minor","major","isMajorMultiple","multiplyBy","round","buildTickDataAsFractions","rng","o","filter","x","type","modulo","generateMinorValues","denoms","startValue","floor","endValue","ceil","decimal","rounded","i","denom","val","generateMajorValuesForMinor","minorValues","minorValue","indexOf","split","num","toString","multiplierKey","buildTickData","result","snapElements","elements","size","Number","isFinite","undefined","domainPosition"],"mappings":"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","sourcesContent":["import * as math from 'mathjs';\nimport uniqWith from 'lodash/uniqWith';\nimport isObject from 'lodash/isObject';\nimport isNumber from 'lodash/isNumber';\n\nexport const labelMultiplier = {\n 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n 2: [1, 2, 4, 6, 8, 10],\n 3: [1, 3, 6, 9],\n 4: [1, 2, 4, 8],\n 5: [1, 5, 10],\n 6: [1, 2, 3, 6],\n 7: [1, 7],\n 8: [1, 2, 4, 8],\n 9: [1, 3, 9],\n 10: [1, 2, 5, 10],\n 12: [1, 2, 3, 4, 6],\n 15: [1, 3, 5],\n 16: [1, 2, 4, 8],\n 20: [1, 2, 4, 5, 10],\n 25: [1, 5],\n 32: [1, 2, 4, 8],\n 50: [1, 2, 5, 10],\n 64: [1, 2, 4, 8],\n 100: [1, 2, 4, 5, 10],\n 1000: [1, 2, 4, 5, 8, 10],\n};\n\nexport const fractionSnapTo = (min, max, interval, value) => {\n value = fmax(fmin(value, max), min);\n const mod = value.mod(interval);\n let v;\n\n const half = interval.div(2);\n if (math.largerEq(math.abs(mod), half)) {\n const d = interval.sub(math.abs(mod));\n const fn = math.largerEq(value, 0) ? 'add' : 'sub';\n v = value[fn](d);\n } else {\n const fn2 = math.largerEq(value, 0) ? 'sub' : 'add';\n v = value[fn2](math.abs(mod));\n }\n return v;\n};\n\nexport const snapTo = (min, max, interval, value) => {\n const out = fractionSnapTo(math.fraction(min), math.fraction(max), math.fraction(interval), math.fraction(value));\n return math.number(out);\n};\n\nexport const fractionRange = (start, end, interval) => {\n const m = math.mod(math.abs(start), math.abs(interval));\n if (!math.equal(m, 0)) {\n throw new Error('start point must be divisible by interval');\n }\n\n if (math.equal(start, end)) {\n return [];\n }\n\n const e = math.subtract(end, math.mod(end, math.abs(interval)));\n\n const direction = math.larger(interval, 0) ? 'positive' : 'negative';\n\n if (direction === 'negative' && math.largerEq(end, start)) {\n throw new Error('start must be > than end when doing a negative decrement');\n }\n if (direction === 'positive' && math.smallerEq(end, start)) {\n throw new Error('start must be < end when doing increments');\n }\n const compareFn = direction === 'positive' ? math.smallerEq : math.equal(e, end) ? math.largerEq : math.larger;\n const out = [];\n\n let next = start;\n while (compareFn(next, e)) {\n out.push(next);\n next = math.add(next, interval);\n }\n return out;\n};\n\nexport const zbrErrorMessage = (start, end) =>\n `Can only do a positive or negative range, but got: start: ${start} and end:${end}`;\n\nexport const zeroBasedRange = (start, end, interval) => {\n start = math.fraction(start);\n end = math.fraction(end);\n interval = math.fraction(interval);\n\n const length = math.abs(math.subtract(end, start));\n\n if (math.larger(length, math.abs(end))) {\n throw new Error(zbrErrorMessage(start, end));\n }\n const a = {\n start: math.abs(start),\n end: math.abs(end),\n interval: math.abs(interval),\n multiplier: math.smaller(interval, 0) ? -1 : 1,\n };\n\n const m = math.mod(a.start, a.interval);\n const s = math.larger(m, 0) ? math.add(math.subtract(a.start, m), a.interval) : a.start;\n\n const r = fractionRange(s, a.end, a.interval);\n const out = a.multiplier === -1 ? r.map((v) => math.multiply(v, -1)) : r;\n\n if (math.smaller(interval, 0)) {\n out.reverse();\n }\n return out;\n};\n\nconst fmin = (a, b) => {\n a = math.fraction(a);\n b = math.fraction(b);\n return math.smaller(a, b) ? a : b;\n};\n\nconst fmax = (a, b) => {\n a = math.fraction(a);\n b = math.fraction(b);\n return math.larger(a, b) ? a : b;\n};\n/**\n * the lodash range was causing too much variance in the rounding errors\n * such that it was hard to round the numbers.\n * This is a more simplistic version but makes rounding work.\n */\nexport const simpleRange = (start, end, interval) => {\n start = math.fraction(start);\n end = math.fraction(end);\n interval = math.fraction(interval);\n\n const positiveRange = math.larger(end, 0) ? zeroBasedRange(fmax(0, start), end, interval) : [];\n\n const negativeRange = math.smaller(start, 0) ? zeroBasedRange(fmin(0, end), start, math.multiply(interval, -1)) : [];\n let together = negativeRange.concat(positiveRange);\n\n const out = uniqWith(together, math.equal);\n return out;\n};\n\nexport const closeTo = (a, b, precision) => {\n precision = precision || 2;\n const expectedDiff = Math.pow(10, -precision) / 2;\n const receivedDiff = Math.abs(a - b);\n return receivedDiff < expectedDiff;\n};\n\nconst limit = (v, min, max) => {\n if (math.smaller(fraction(v), fraction(min))) {\n return min;\n }\n\n if (math.larger(fraction(v), fraction(max))) {\n return max;\n }\n\n return v;\n};\n\nexport const getMinorLimits = (domain, width) => {\n const end = domain.max - domain.min;\n const min = math.number(math.multiply(10, math.divide(math.fraction(end), width)));\n const max = math.number(math.multiply(20, min));\n return {\n min: min,\n max: max,\n };\n};\n\nexport const isMultiple = (multiple, src) => {\n const mod = math.mod(multiple, src);\n return math.equal(mod, 0);\n};\n\n/**\n * Accepts a fraction object {n,d,s} or number.\n * @param {*} v\n * @return mathjs.fraction\n */\nexport const fraction = (v) => {\n if (isObject(v)) {\n return math.fraction(v.n * v.s, v.d);\n } else if (isNumber(v)) {\n return math.fraction(v);\n }\n};\n\nexport const normalizeTicks = (domain, width, ticks, opts) => {\n const useLimit = opts ? opts.limit !== false : true;\n const minorLimits = getMinorLimits(domain, width);\n\n const minor = useLimit ? limit(fraction(ticks.minor), minorLimits.min, minorLimits.max) : fraction(ticks.minor);\n const major = useLimit ? limit(fraction(ticks.major), minor, math.multiply(minor, 20)) : fraction(ticks.major);\n\n const isMajorMultiple = isMultiple(major, minor);\n\n if (!isMajorMultiple) {\n const multiplier = math.divide(major, minor);\n const multiplyBy = multiplier <= 2 ? 2 : Math.round(multiplier);\n\n // major must be a multiple of minor\n return { minor, major: math.multiply(minor, multiplyBy) };\n }\n\n return { major, minor };\n};\n\n/**\n * Build ticks as an array of mathjs Fractions\n */\nexport const buildTickDataAsFractions = (domain, width, ticks, opts) => {\n ticks = normalizeTicks(domain, width, ticks, opts);\n const rng = simpleRange(domain.min, domain.max, ticks.minor);\n\n const o = rng\n .filter((x) => math.smallerEq(x, math.fraction(domain.max)))\n .map((x) => {\n let type = 'minor';\n const modulo = math.mod(x, ticks.major);\n\n if (closeTo(math.number(modulo), 0)) {\n type = 'major';\n }\n\n return { x, type };\n });\n\n return o;\n};\n\nexport const generateMinorValues = (minorLimits) => {\n const denoms = [1000, 100, 64, 50, 32, 25, 20, 16, 15, 12, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1];\n const startValue = math.floor(minorLimits.min);\n const endValue = math.ceil(minorLimits.max);\n let out = { fraction: [], decimal: [], rounded: [] };\n for (let i = startValue; i < endValue; i++) {\n denoms.map((denom) => {\n let val = math.add(i, math.fraction(1, denom));\n if (val <= minorLimits.max && val >= minorLimits.min) {\n out.fraction.push(val.n + '/' + val.d);\n out.decimal.push(math.number(val));\n out.rounded.push(math.number(math.round(val, 3)));\n }\n });\n }\n return out;\n};\n\nexport const generateMajorValuesForMinor = (minor, minorValues) => {\n let out = { decimal: [], fraction: [], rounded: [] };\n let minorValue = math.number(minor);\n let fraction = minorValues.fraction[minorValues.decimal.indexOf(minorValue)];\n let n = math.number(fraction.split('/')[0]);\n let d = math.number(fraction.split('/')[1]);\n if (n >= 1 && d === 1) {\n for (let i = 1; i <= 10; i++) {\n let num = math.number(math.multiply(n, i));\n out.fraction.push(num.toString());\n out.decimal.push(num);\n out.rounded.push(num);\n }\n } else {\n for (const multiplierKey in labelMultiplier[d]) {\n let num = math.multiply(math.fraction(n, d), labelMultiplier[d][multiplierKey]);\n if (num.d !== 1) {\n out.fraction.push(num.n + '/' + num.d);\n } else {\n out.fraction.push(num.n.toString());\n }\n out.decimal.push(math.number(num));\n out.rounded.push(math.number(math.round(num, 3)));\n }\n }\n return out;\n};\n\nexport const buildTickData = (domain, width, ticks, opts) => {\n const result = buildTickDataAsFractions(domain, width, ticks, opts);\n\n const out = result.map((o) => (opts.fraction ? o : { ...o, x: math.number(o.x) || 0 }));\n\n return out;\n};\n\nexport const snapElements = (domain, ticks, elements) => {\n return elements.map((e) => {\n const size = Number.isFinite(e.size) ? snapTo(0, e.size, ticks.minor, e.size) : undefined;\n const domainPosition = snapTo(domain.min, domain.max, ticks.minor, e.domainPosition);\n const out = { ...e, domainPosition };\n\n if (Number.isFinite(size)) {\n out.size = size;\n }\n\n return out;\n });\n};\n"],"file":"tick-utils.js"}
1
+ {"version":3,"sources":["../../../src/number-line/graph/tick-utils.js"],"names":["labelMultiplier","fractionSnapTo","min","max","interval","value","fmax","fmin","mod","v","half","div","math","largerEq","abs","d","sub","fn","fn2","snapTo","out","fraction","number","fractionRange","start","end","m","equal","Error","e","subtract","direction","larger","smallerEq","compareFn","next","push","add","zbrErrorMessage","zeroBasedRange","length","a","multiplier","smaller","s","r","map","multiply","reverse","b","simpleRange","positiveRange","negativeRange","together","concat","closeTo","precision","expectedDiff","Math","pow","receivedDiff","limit","getMinorLimits","domain","width","divide","isMultiple","multiple","src","n","normalizeTicks","ticks","opts","useLimit","minorLimits","minor","major","isMajorMultiple","multiplyBy","round","buildTickDataAsFractions","rng","o","filter","x","type","modulo","generateMinorValues","denoms","startValue","floor","endValue","ceil","decimal","rounded","i","denom","val","generateMajorValuesForMinor","minorValues","minorValue","indexOf","split","num","toString","multiplierKey","buildTickData","result","snapElements","elements","size","Number","isFinite","undefined","domainPosition"],"mappings":"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","sourcesContent":["import * as math from 'mathjs';\nimport uniqWith from 'lodash/uniqWith';\nimport isObject from 'lodash/isObject';\nimport isNumber from 'lodash/isNumber';\n\n/*This const will store possible multiplier for label interval that needs to be multiplied \nwith tick interval with denominator represented with object key.*/\nexport const labelMultiplier = {\n 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n 2: [1, 2, 4, 6, 8, 10],\n 3: [1, 3, 6, 9],\n 4: [1, 2, 4, 8],\n 5: [1, 5, 10],\n 6: [1, 2, 3, 6],\n 7: [1, 7],\n 8: [1, 2, 4, 8],\n 9: [1, 3, 9],\n 10: [1, 2, 5, 10],\n 12: [1, 2, 3, 4, 6],\n 15: [1, 3, 5],\n 16: [1, 2, 4, 8],\n 20: [1, 2, 4, 5, 10],\n 25: [1, 5],\n 32: [1, 2, 4, 8],\n 50: [1, 2, 5, 10],\n 64: [1, 2, 4, 8],\n 100: [1, 2, 4, 5, 10],\n 1000: [1, 2, 4, 5, 8, 10],\n};\n\nexport const fractionSnapTo = (min, max, interval, value) => {\n value = fmax(fmin(value, max), min);\n const mod = value.mod(interval);\n let v;\n\n const half = interval.div(2);\n if (math.largerEq(math.abs(mod), half)) {\n const d = interval.sub(math.abs(mod));\n const fn = math.largerEq(value, 0) ? 'add' : 'sub';\n v = value[fn](d);\n } else {\n const fn2 = math.largerEq(value, 0) ? 'sub' : 'add';\n v = value[fn2](math.abs(mod));\n }\n return v;\n};\n\nexport const snapTo = (min, max, interval, value) => {\n const out = fractionSnapTo(math.fraction(min), math.fraction(max), math.fraction(interval), math.fraction(value));\n return math.number(out);\n};\n\nexport const fractionRange = (start, end, interval) => {\n const m = math.mod(math.abs(start), math.abs(interval));\n if (!math.equal(m, 0)) {\n throw new Error('start point must be divisible by interval');\n }\n\n if (math.equal(start, end)) {\n return [];\n }\n\n const e = math.subtract(end, math.mod(end, math.abs(interval)));\n\n const direction = math.larger(interval, 0) ? 'positive' : 'negative';\n\n if (direction === 'negative' && math.largerEq(end, start)) {\n throw new Error('start must be > than end when doing a negative decrement');\n }\n if (direction === 'positive' && math.smallerEq(end, start)) {\n throw new Error('start must be < end when doing increments');\n }\n const compareFn = direction === 'positive' ? math.smallerEq : math.equal(e, end) ? math.largerEq : math.larger;\n const out = [];\n\n let next = start;\n while (compareFn(next, e)) {\n out.push(next);\n next = math.add(next, interval);\n }\n return out;\n};\n\nexport const zbrErrorMessage = (start, end) =>\n `Can only do a positive or negative range, but got: start: ${start} and end:${end}`;\n\nexport const zeroBasedRange = (start, end, interval) => {\n start = math.fraction(start);\n end = math.fraction(end);\n interval = math.fraction(interval);\n\n const length = math.abs(math.subtract(end, start));\n\n if (math.larger(length, math.abs(end))) {\n throw new Error(zbrErrorMessage(start, end));\n }\n const a = {\n start: math.abs(start),\n end: math.abs(end),\n interval: math.abs(interval),\n multiplier: math.smaller(interval, 0) ? -1 : 1,\n };\n\n const m = math.mod(a.start, a.interval);\n const s = math.larger(m, 0) ? math.add(math.subtract(a.start, m), a.interval) : a.start;\n\n const r = fractionRange(s, a.end, a.interval);\n const out = a.multiplier === -1 ? r.map((v) => math.multiply(v, -1)) : r;\n\n if (math.smaller(interval, 0)) {\n out.reverse();\n }\n return out;\n};\n\nconst fmin = (a, b) => {\n a = math.fraction(a);\n b = math.fraction(b);\n return math.smaller(a, b) ? a : b;\n};\n\nconst fmax = (a, b) => {\n a = math.fraction(a);\n b = math.fraction(b);\n return math.larger(a, b) ? a : b;\n};\n/**\n * the lodash range was causing too much variance in the rounding errors\n * such that it was hard to round the numbers.\n * This is a more simplistic version but makes rounding work.\n */\nexport const simpleRange = (start, end, interval) => {\n start = math.fraction(start);\n end = math.fraction(end);\n interval = math.fraction(interval);\n\n const positiveRange = math.larger(end, 0) ? zeroBasedRange(fmax(0, start), end, interval) : [];\n\n const negativeRange = math.smaller(start, 0) ? zeroBasedRange(fmin(0, end), start, math.multiply(interval, -1)) : [];\n let together = negativeRange.concat(positiveRange);\n\n const out = uniqWith(together, math.equal);\n return out;\n};\n\nexport const closeTo = (a, b, precision) => {\n precision = precision || 2;\n const expectedDiff = Math.pow(10, -precision) / 2;\n const receivedDiff = Math.abs(a - b);\n return receivedDiff < expectedDiff;\n};\n\nconst limit = (v, min, max) => {\n if (math.smaller(fraction(v), fraction(min))) {\n return min;\n }\n\n if (math.larger(fraction(v), fraction(max))) {\n return max;\n }\n\n return v;\n};\n\n/*\n * Function to get tick interval limits based on min, max and width entered by the user.\n * @param domain object containing max and min value.\n * @param width number represents width of number line.\n * */\nexport const getMinorLimits = (domain, width) => {\n const end = domain.max - domain.min;\n const min = math.number(math.multiply(10, math.divide(math.fraction(end), width)));\n const max = math.number(math.multiply(20, min));\n return {\n min: min,\n max: max,\n };\n};\n\nexport const isMultiple = (multiple, src) => {\n const mod = math.mod(multiple, src);\n return math.equal(mod, 0);\n};\n\n/**\n * Accepts a fraction object {n,d,s} or number.\n * @param {*} v\n * @return mathjs.fraction\n */\nexport const fraction = (v) => {\n if (isObject(v)) {\n return math.fraction(v.n * v.s, v.d);\n } else if (isNumber(v)) {\n return math.fraction(v);\n }\n};\n\nexport const normalizeTicks = (domain, width, ticks, opts) => {\n const useLimit = opts ? opts.limit !== false : true;\n const minorLimits = getMinorLimits(domain, width);\n\n const minor = useLimit ? limit(fraction(ticks.minor), minorLimits.min, minorLimits.max) : fraction(ticks.minor);\n const major = useLimit ? limit(fraction(ticks.major), minor, math.multiply(minor, 20)) : fraction(ticks.major);\n\n const isMajorMultiple = isMultiple(major, minor);\n\n if (!isMajorMultiple) {\n const multiplier = math.divide(major, minor);\n const multiplyBy = multiplier <= 2 ? 2 : Math.round(multiplier);\n\n // major must be a multiple of minor\n return { minor, major: math.multiply(minor, multiplyBy) };\n }\n\n return { major, minor };\n};\n\n/**\n * Build ticks as an array of mathjs Fractions\n */\nexport const buildTickDataAsFractions = (domain, width, ticks, opts) => {\n ticks = normalizeTicks(domain, width, ticks, opts);\n const rng = simpleRange(domain.min, domain.max, ticks.minor);\n\n const o = rng\n .filter((x) => math.smallerEq(x, math.fraction(domain.max)))\n .map((x) => {\n let type = 'minor';\n const modulo = math.mod(x, ticks.major);\n\n if (closeTo(math.number(modulo), 0)) {\n type = 'major';\n }\n\n return { x, type };\n });\n\n return o;\n};\n\n/*\n * This function will generate tick interval values based on min and max limits of ticks.\n * @param minorLimits object containing min and max values\n * @return out object containing three arrays 1. fraction values, 2. decimal values,\n * 3. rounded decimal values upto 3 point precision for tick intervals.\n * */\nexport const generateMinorValues = (minorLimits) => {\n const denoms = [1000, 100, 64, 50, 32, 25, 20, 16, 15, 12, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1];\n const startValue = math.floor(minorLimits.min);\n const endValue = math.ceil(minorLimits.max);\n let out = { fraction: [], decimal: [], rounded: [] };\n for (let i = startValue; i < endValue; i++) {\n denoms.map((denom) => {\n let val = math.add(i, math.fraction(1, denom));\n if (val <= minorLimits.max && val >= minorLimits.min) {\n out.fraction.push(val.n + '/' + val.d);\n out.decimal.push(math.number(val));\n out.rounded.push(math.number(math.round(val, 3)));\n }\n });\n }\n return out;\n};\n\n/*\n * This function will generate label interval values for provided tick interval value.\n * @param minor number representing tick interval value.\n * @param minorValues object containing array of tick intervals.\n * @return out object containing three arrays 1. fraction values, 2. decimal values,\n * 3. rounded decimal values upto 3 point precision for label intervals.\n * */\nexport const generateMajorValuesForMinor = (minor, minorValues) => {\n let out = { decimal: [], fraction: [], rounded: [] };\n let minorValue = math.number(minor);\n let fraction = minorValues.fraction[minorValues.decimal.indexOf(minorValue)];\n let n = math.number(fraction.split('/')[0]);\n let d = math.number(fraction.split('/')[1]);\n if (n >= 1 && d === 1) {\n for (let i = 1; i <= 10; i++) {\n let num = math.number(math.multiply(n, i));\n out.fraction.push(num.toString());\n out.decimal.push(num);\n out.rounded.push(num);\n }\n } else {\n for (const multiplierKey in labelMultiplier[d]) {\n let num = math.multiply(math.fraction(n, d), labelMultiplier[d][multiplierKey]);\n if (num.d !== 1) {\n out.fraction.push(num.n + '/' + num.d);\n } else {\n out.fraction.push(num.n.toString());\n }\n out.decimal.push(math.number(num));\n out.rounded.push(math.number(math.round(num, 3)));\n }\n }\n return out;\n};\n\nexport const buildTickData = (domain, width, ticks, opts) => {\n const result = buildTickDataAsFractions(domain, width, ticks, opts);\n\n const out = result.map((o) => (opts.fraction ? o : { ...o, x: math.number(o.x) || 0 }));\n\n return out;\n};\n\nexport const snapElements = (domain, ticks, elements) => {\n return elements.map((e) => {\n const size = Number.isFinite(e.size) ? snapTo(0, e.size, ticks.minor, e.size) : undefined;\n const domainPosition = snapTo(domain.min, domain.max, ticks.minor, e.domainPosition);\n const out = { ...e, domainPosition };\n\n if (Number.isFinite(size)) {\n out.size = size;\n }\n\n return out;\n });\n};\n"],"file":"tick-utils.js"}
@@ -151,11 +151,13 @@ var PointChooser = /*#__PURE__*/function (_React$Component) {
151
151
  }, /*#__PURE__*/_react["default"].createElement(DeleteIcon, {
152
152
  classes: classes
153
153
  })), /*#__PURE__*/_react["default"].createElement(_button["default"], {
154
+ className: classes.buttonText,
154
155
  onClick: onUndoElement,
155
156
  label: translator.t('common:undo', {
156
157
  lng: language
157
158
  })
158
159
  }), /*#__PURE__*/_react["default"].createElement(_button["default"], {
160
+ className: classes.buttonText,
159
161
  onClick: onClearElements,
160
162
  label: translator.t('numberLine.clearAll', {
161
163
  lng: language
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/number-line/point-chooser/index.jsx"],"names":["translator","Translator","DeleteIcon","classes","deleteIcon","propTypes","PropTypes","object","RawPoint","props","iconKey","active","onClick","names","string","isRequired","bool","func","Point","styles","Points","selectPoint","selected","icons","iconTags","map","key","bind","toLowerCase","elementSelector","array","PointChooser","elementType","showDeleteButton","onDeleteClick","onUndoElement","onClearElements","onElementType","language","pointChooser","controls","deleteIconHolder","t","lng","React","Component","DEFAULT_TYPE"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\nimport injectSheet from 'react-jss';\nimport styles from './styles';\nimport PropTypes from 'prop-types';\nimport Button from './button';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\nconst DeleteIcon = ({ classes }) => {\n return (\n <svg\n className={classes.deleteIcon}\n fill=\"#000000\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </svg>\n );\n};\n\nDeleteIcon.propTypes = {\n classes: PropTypes.object,\n};\n\nconst RawPoint = (props) => {\n const { iconKey, active, classes, onClick } = props;\n const names = classNames(classes[iconKey], { active });\n return (\n <span role=\"presentation\" key={iconKey} onClick={onClick}>\n <a className={names}>&nbsp;</a>\n </span>\n );\n};\n\nRawPoint.propTypes = {\n iconKey: PropTypes.string.isRequired,\n active: PropTypes.bool,\n classes: PropTypes.object,\n onClick: PropTypes.func,\n};\n\nexport const Point = injectSheet(styles)(RawPoint);\n\nconst Points = ({ selectPoint, classes, selected, icons }) => {\n const iconTags = icons.map((key) => {\n let active = key === selected;\n let onClick = active ? () => {} : selectPoint.bind(null, key);\n return <Point key={key.toLowerCase()} iconKey={key.toLowerCase()} active={active} onClick={onClick} />; //icon(key, active);\n });\n\n return <div className={classes.elementSelector}>{iconTags}</div>;\n};\n\nPoints.propTypes = {\n selectPoint: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n selected: PropTypes.string,\n icons: PropTypes.array,\n};\n\nexport class PointChooser extends React.Component {\n static defaultProps = {\n showDeleteButton: false,\n elementType: PointChooser.DEFAULT_TYPE,\n icons: ['pf', 'lff', 'lef', 'lfe', 'lee', 'rfn', 'rfp', 'ren', 'rep'],\n };\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n elementType: PropTypes.string,\n showDeleteButton: PropTypes.bool,\n onDeleteClick: PropTypes.func.isRequired,\n onElementType: PropTypes.func.isRequired,\n onUndoElement: PropTypes.func.isRequired,\n onClearElements: PropTypes.func.isRequired,\n icons: PropTypes.array,\n language: PropTypes.string,\n };\n\n render() {\n const {\n elementType,\n showDeleteButton,\n onDeleteClick,\n onUndoElement,\n onClearElements,\n icons,\n classes,\n onElementType,\n language\n } = this.props;\n\n return (\n <div className={classes.pointChooser}>\n <Points selected={elementType} classes={classes} selectPoint={onElementType} icons={icons} />\n <div className={classes.controls}>\n {showDeleteButton && (\n <span className={classes.deleteIconHolder} onClick={onDeleteClick}>\n <DeleteIcon classes={classes} />\n </span>\n )}\n <Button onClick={onUndoElement} label={translator.t('common:undo', { lng: language })} />\n <Button onClick={onClearElements} label={translator.t('numberLine.clearAll', { lng: language })} />\n </div>\n </div>\n );\n }\n}\n\nexport default injectSheet(styles)(PointChooser);\n\nPointChooser.DEFAULT_TYPE = 'pf';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/number-line/point-chooser/index.jsx"],"names":["translator","Translator","DeleteIcon","classes","deleteIcon","propTypes","PropTypes","object","RawPoint","props","iconKey","active","onClick","names","string","isRequired","bool","func","Point","styles","Points","selectPoint","selected","icons","iconTags","map","key","bind","toLowerCase","elementSelector","array","PointChooser","elementType","showDeleteButton","onDeleteClick","onUndoElement","onClearElements","onElementType","language","pointChooser","controls","deleteIconHolder","buttonText","t","lng","React","Component","DEFAULT_TYPE"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\nimport injectSheet from 'react-jss';\nimport styles from './styles';\nimport PropTypes from 'prop-types';\nimport Button from './button';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\nconst DeleteIcon = ({ classes }) => {\n return (\n <svg\n className={classes.deleteIcon}\n fill=\"#000000\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </svg>\n );\n};\n\nDeleteIcon.propTypes = {\n classes: PropTypes.object,\n};\n\nconst RawPoint = (props) => {\n const { iconKey, active, classes, onClick } = props;\n const names = classNames(classes[iconKey], { active });\n return (\n <span role=\"presentation\" key={iconKey} onClick={onClick}>\n <a className={names}>&nbsp;</a>\n </span>\n );\n};\n\nRawPoint.propTypes = {\n iconKey: PropTypes.string.isRequired,\n active: PropTypes.bool,\n classes: PropTypes.object,\n onClick: PropTypes.func,\n};\n\nexport const Point = injectSheet(styles)(RawPoint);\n\nconst Points = ({ selectPoint, classes, selected, icons }) => {\n const iconTags = icons.map((key) => {\n let active = key === selected;\n let onClick = active ? () => {} : selectPoint.bind(null, key);\n return <Point key={key.toLowerCase()} iconKey={key.toLowerCase()} active={active} onClick={onClick} />; //icon(key, active);\n });\n\n return <div className={classes.elementSelector}>{iconTags}</div>;\n};\n\nPoints.propTypes = {\n selectPoint: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n selected: PropTypes.string,\n icons: PropTypes.array,\n};\n\nexport class PointChooser extends React.Component {\n static defaultProps = {\n showDeleteButton: false,\n elementType: PointChooser.DEFAULT_TYPE,\n icons: ['pf', 'lff', 'lef', 'lfe', 'lee', 'rfn', 'rfp', 'ren', 'rep'],\n };\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n elementType: PropTypes.string,\n showDeleteButton: PropTypes.bool,\n onDeleteClick: PropTypes.func.isRequired,\n onElementType: PropTypes.func.isRequired,\n onUndoElement: PropTypes.func.isRequired,\n onClearElements: PropTypes.func.isRequired,\n icons: PropTypes.array,\n language: PropTypes.string,\n };\n\n render() {\n const {\n elementType,\n showDeleteButton,\n onDeleteClick,\n onUndoElement,\n onClearElements,\n icons,\n classes,\n onElementType,\n language,\n } = this.props;\n\n return (\n <div className={classes.pointChooser}>\n <Points selected={elementType} classes={classes} selectPoint={onElementType} icons={icons} />\n <div className={classes.controls}>\n {showDeleteButton && (\n <span className={classes.deleteIconHolder} onClick={onDeleteClick}>\n <DeleteIcon classes={classes} />\n </span>\n )}\n <Button\n className={classes.buttonText}\n onClick={onUndoElement}\n label={translator.t('common:undo', { lng: language })}\n />\n <Button\n className={classes.buttonText}\n onClick={onClearElements}\n label={translator.t('numberLine.clearAll', { lng: language })}\n />\n </div>\n </div>\n );\n }\n}\n\nexport default injectSheet(styles)(PointChooser);\n\nPointChooser.DEFAULT_TYPE = 'pf';\n"],"file":"index.js"}
@@ -83,6 +83,9 @@ var _default = {
83
83
  display: 'flex',
84
84
  paddingTop: '7px'
85
85
  },
86
+ buttonText: {
87
+ textWrap: 'nowrap'
88
+ },
86
89
  pf: styleElement(0),
87
90
  lff: styleElement(1),
88
91
  lef: styleElement(2),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/number-line/point-chooser/styles.js"],"names":["iconHeight","iconWidth","noselect","styleElement","index","display","width","height","position","top","cursor","background","img","backgroundPosition","textDecoration","pointChooser","justifyContent","borderRadius","padding","deleteIconHolder","deleteIcon","fill","transition","opacity","elementSelector","Object","assign","controls","paddingTop","pf","lff","lef","lfe","lee","rfn","rfp","ren","rep"],"mappings":";;;;;;;;;AAGA;;AAHA,IAAMA,UAAU,GAAG,EAAnB;AACA,IAAMC,SAAS,GAAG,EAAlB;;AAIA,IAAMC,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAO;AACtB,6BAAyB;AAAO;AADV;AAEtB,2BAAuB;AAAO;AAFR;AAGtB,0BAAsB;AAAO;AAHP;AAItB,wBAAoB;AAAO;AAJL;AAKtB,uBAAmB;AAAO;AALJ;AAMtB,mBAAe;AAAO;AACxB;;AAPwB,GAAP;AAAA,CAAjB;;AAUA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD;AAAA,SAAY;AAC/BC,IAAAA,OAAO,EAAE,cADsB;AAE/BC,IAAAA,KAAK,EAAEL,SAFwB;AAG/BM,IAAAA,MAAM,EAAEP,UAHuB;AAI/BQ,IAAAA,QAAQ,EAAE,UAJqB;AAK/BC,IAAAA,GAAG,EAAE,KAL0B;AAM/BC,IAAAA,MAAM,EAAE,SANuB;AAO/BC,IAAAA,UAAU,gBAASC,eAAT,gBAAkBR,KAAK,GAAGH,SAA1B,WAPqB;AAQ/B,gCAA4B;AAC1BY,MAAAA,kBAAkB,aAAMT,KAAK,GAAGH,SAAd,iBAA8B,IAAID,UAAlC;AADQ,KARG;AAW/B,eAAW;AACTc,MAAAA,cAAc,EAAE,MADP;AAETD,MAAAA,kBAAkB,aAAMT,KAAK,GAAGH,SAAd,iBAA8BD,UAA9B;AAFT;AAXoB,GAAZ;AAAA,CAArB;;eAiBe;AACbe,EAAAA,YAAY,EAAE;AACZV,IAAAA,OAAO,EAAE,MADG;AAEZW,IAAAA,cAAc,EAAE,eAFJ;AAGZC,IAAAA,YAAY,EAAE,KAHF;AAIZC,IAAAA,OAAO,EAAE;AAJG,GADD;AAObC,EAAAA,gBAAgB,EAAE;AAChBX,IAAAA,QAAQ,EAAE,UADM;AAEhBC,IAAAA,GAAG,EAAE,KAFW;AAGhBH,IAAAA,KAAK,EAAE;AAHS,GAPL;AAYbc,EAAAA,UAAU,EAAE;AACVC,IAAAA,IAAI,EAAE,OADI;AAEVX,IAAAA,MAAM,EAAE,SAFE;AAGVY,IAAAA,UAAU,EAAE,sBAHF;AAIV,eAAW;AACTC,MAAAA,OAAO,EAAE;AADA;AAJD,GAZC;AAoBbC,EAAAA,eAAe,EAAEC,MAAM,CAACC,MAAP,CACf;AACEpB,IAAAA,KAAK,EAAE,KADT;AAEEY,IAAAA,OAAO,EAAE;AAFX,GADe,EAKfhB,QAAQ,EALO,CApBJ;AA2BbyB,EAAAA,QAAQ,EAAE;AACRtB,IAAAA,OAAO,EAAE,MADD;AAERuB,IAAAA,UAAU,EAAE;AAFJ,GA3BG;AA+BbC,EAAAA,EAAE,EAAE1B,YAAY,CAAC,CAAD,CA/BH;AAgCb2B,EAAAA,GAAG,EAAE3B,YAAY,CAAC,CAAD,CAhCJ;AAiCb4B,EAAAA,GAAG,EAAE5B,YAAY,CAAC,CAAD,CAjCJ;AAkCb6B,EAAAA,GAAG,EAAE7B,YAAY,CAAC,CAAD,CAlCJ;AAmCb8B,EAAAA,GAAG,EAAE9B,YAAY,CAAC,CAAD,CAnCJ;AAoCb+B,EAAAA,GAAG,EAAE/B,YAAY,CAAC,CAAD,CApCJ;AAqCbgC,EAAAA,GAAG,EAAEhC,YAAY,CAAC,CAAD,CArCJ;AAsCbiC,EAAAA,GAAG,EAAEjC,YAAY,CAAC,CAAD,CAtCJ;AAuCbkC,EAAAA,GAAG,EAAElC,YAAY,CAAC,CAAD;AAvCJ,C","sourcesContent":["const iconHeight = 41;\nconst iconWidth = 42;\n\nimport img from './img';\n\nconst noselect = () => ({\n '-webkit-touch-callout': 'none' /* iOS Safari */,\n '-webkit-user-select': 'none' /* Safari */,\n '-khtml-user-select': 'none' /* Konqueror HTML */,\n '-moz-user-select': 'none' /* Firefox */,\n '-ms-user-select': 'none' /* Internet Explorer/Edge */,\n 'user-select': 'none' /* Non-prefixed version, currently\n supported by Chrome and Opera */,\n});\n\nconst styleElement = (index) => ({\n display: 'inline-block',\n width: iconWidth,\n height: iconHeight,\n position: 'relative',\n top: '1px',\n cursor: 'pointer',\n background: `url(${img}) -${index * iconWidth}px 0px`,\n '&.active, &.active:hover': {\n backgroundPosition: `-${index * iconWidth}px -${2 * iconHeight}px`,\n },\n '&:hover': {\n textDecoration: 'none',\n backgroundPosition: `-${index * iconWidth}px -${iconHeight}px`,\n },\n});\n\nexport default {\n pointChooser: {\n display: 'flex',\n justifyContent: 'space-between',\n borderRadius: '4px',\n padding: '1px',\n },\n deleteIconHolder: {\n position: 'relative',\n top: '3px',\n width: '30px',\n },\n deleteIcon: {\n fill: 'black',\n cursor: 'pointer',\n transition: 'opacity 100ms linear',\n '&:hover': {\n opacity: '0.5',\n },\n },\n elementSelector: Object.assign(\n {\n width: '55%',\n padding: '1px',\n },\n noselect(),\n ),\n controls: {\n display: 'flex',\n paddingTop: '7px',\n },\n pf: styleElement(0),\n lff: styleElement(1),\n lef: styleElement(2),\n lfe: styleElement(3),\n lee: styleElement(4),\n rfn: styleElement(5),\n rfp: styleElement(6),\n ren: styleElement(7),\n rep: styleElement(8),\n};\n"],"file":"styles.js"}
1
+ {"version":3,"sources":["../../../src/number-line/point-chooser/styles.js"],"names":["iconHeight","iconWidth","noselect","styleElement","index","display","width","height","position","top","cursor","background","img","backgroundPosition","textDecoration","pointChooser","justifyContent","borderRadius","padding","deleteIconHolder","deleteIcon","fill","transition","opacity","elementSelector","Object","assign","controls","paddingTop","buttonText","textWrap","pf","lff","lef","lfe","lee","rfn","rfp","ren","rep"],"mappings":";;;;;;;;;AAGA;;AAHA,IAAMA,UAAU,GAAG,EAAnB;AACA,IAAMC,SAAS,GAAG,EAAlB;;AAIA,IAAMC,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAO;AACtB,6BAAyB;AAAO;AADV;AAEtB,2BAAuB;AAAO;AAFR;AAGtB,0BAAsB;AAAO;AAHP;AAItB,wBAAoB;AAAO;AAJL;AAKtB,uBAAmB;AAAO;AALJ;AAMtB,mBAAe;AAAO;AACxB;;AAPwB,GAAP;AAAA,CAAjB;;AAUA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD;AAAA,SAAY;AAC/BC,IAAAA,OAAO,EAAE,cADsB;AAE/BC,IAAAA,KAAK,EAAEL,SAFwB;AAG/BM,IAAAA,MAAM,EAAEP,UAHuB;AAI/BQ,IAAAA,QAAQ,EAAE,UAJqB;AAK/BC,IAAAA,GAAG,EAAE,KAL0B;AAM/BC,IAAAA,MAAM,EAAE,SANuB;AAO/BC,IAAAA,UAAU,gBAASC,eAAT,gBAAkBR,KAAK,GAAGH,SAA1B,WAPqB;AAQ/B,gCAA4B;AAC1BY,MAAAA,kBAAkB,aAAMT,KAAK,GAAGH,SAAd,iBAA8B,IAAID,UAAlC;AADQ,KARG;AAW/B,eAAW;AACTc,MAAAA,cAAc,EAAE,MADP;AAETD,MAAAA,kBAAkB,aAAMT,KAAK,GAAGH,SAAd,iBAA8BD,UAA9B;AAFT;AAXoB,GAAZ;AAAA,CAArB;;eAiBe;AACbe,EAAAA,YAAY,EAAE;AACZV,IAAAA,OAAO,EAAE,MADG;AAEZW,IAAAA,cAAc,EAAE,eAFJ;AAGZC,IAAAA,YAAY,EAAE,KAHF;AAIZC,IAAAA,OAAO,EAAE;AAJG,GADD;AAObC,EAAAA,gBAAgB,EAAE;AAChBX,IAAAA,QAAQ,EAAE,UADM;AAEhBC,IAAAA,GAAG,EAAE,KAFW;AAGhBH,IAAAA,KAAK,EAAE;AAHS,GAPL;AAYbc,EAAAA,UAAU,EAAE;AACVC,IAAAA,IAAI,EAAE,OADI;AAEVX,IAAAA,MAAM,EAAE,SAFE;AAGVY,IAAAA,UAAU,EAAE,sBAHF;AAIV,eAAW;AACTC,MAAAA,OAAO,EAAE;AADA;AAJD,GAZC;AAoBbC,EAAAA,eAAe,EAAEC,MAAM,CAACC,MAAP,CACf;AACEpB,IAAAA,KAAK,EAAE,KADT;AAEEY,IAAAA,OAAO,EAAE;AAFX,GADe,EAKfhB,QAAQ,EALO,CApBJ;AA2BbyB,EAAAA,QAAQ,EAAE;AACRtB,IAAAA,OAAO,EAAE,MADD;AAERuB,IAAAA,UAAU,EAAE;AAFJ,GA3BG;AA+BbC,EAAAA,UAAU,EAAE;AACVC,IAAAA,QAAQ,EAAE;AADA,GA/BC;AAkCbC,EAAAA,EAAE,EAAE5B,YAAY,CAAC,CAAD,CAlCH;AAmCb6B,EAAAA,GAAG,EAAE7B,YAAY,CAAC,CAAD,CAnCJ;AAoCb8B,EAAAA,GAAG,EAAE9B,YAAY,CAAC,CAAD,CApCJ;AAqCb+B,EAAAA,GAAG,EAAE/B,YAAY,CAAC,CAAD,CArCJ;AAsCbgC,EAAAA,GAAG,EAAEhC,YAAY,CAAC,CAAD,CAtCJ;AAuCbiC,EAAAA,GAAG,EAAEjC,YAAY,CAAC,CAAD,CAvCJ;AAwCbkC,EAAAA,GAAG,EAAElC,YAAY,CAAC,CAAD,CAxCJ;AAyCbmC,EAAAA,GAAG,EAAEnC,YAAY,CAAC,CAAD,CAzCJ;AA0CboC,EAAAA,GAAG,EAAEpC,YAAY,CAAC,CAAD;AA1CJ,C","sourcesContent":["const iconHeight = 41;\nconst iconWidth = 42;\n\nimport img from './img';\n\nconst noselect = () => ({\n '-webkit-touch-callout': 'none' /* iOS Safari */,\n '-webkit-user-select': 'none' /* Safari */,\n '-khtml-user-select': 'none' /* Konqueror HTML */,\n '-moz-user-select': 'none' /* Firefox */,\n '-ms-user-select': 'none' /* Internet Explorer/Edge */,\n 'user-select': 'none' /* Non-prefixed version, currently\n supported by Chrome and Opera */,\n});\n\nconst styleElement = (index) => ({\n display: 'inline-block',\n width: iconWidth,\n height: iconHeight,\n position: 'relative',\n top: '1px',\n cursor: 'pointer',\n background: `url(${img}) -${index * iconWidth}px 0px`,\n '&.active, &.active:hover': {\n backgroundPosition: `-${index * iconWidth}px -${2 * iconHeight}px`,\n },\n '&:hover': {\n textDecoration: 'none',\n backgroundPosition: `-${index * iconWidth}px -${iconHeight}px`,\n },\n});\n\nexport default {\n pointChooser: {\n display: 'flex',\n justifyContent: 'space-between',\n borderRadius: '4px',\n padding: '1px',\n },\n deleteIconHolder: {\n position: 'relative',\n top: '3px',\n width: '30px',\n },\n deleteIcon: {\n fill: 'black',\n cursor: 'pointer',\n transition: 'opacity 100ms linear',\n '&:hover': {\n opacity: '0.5',\n },\n },\n elementSelector: Object.assign(\n {\n width: '55%',\n padding: '1px',\n },\n noselect(),\n ),\n controls: {\n display: 'flex',\n paddingTop: '7px',\n },\n buttonText: {\n textWrap: 'nowrap',\n },\n pf: styleElement(0),\n lff: styleElement(1),\n lef: styleElement(2),\n lfe: styleElement(3),\n lee: styleElement(4),\n rfn: styleElement(5),\n rfp: styleElement(6),\n ren: styleElement(7),\n rep: styleElement(8),\n};\n"],"file":"styles.js"}