@pie-element/number-line 5.13.9 → 5.14.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/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
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.14.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line@5.13.9...@pie-element/number-line@5.14.0) (2022-01-11)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **number-line:** Added fractions sign ([fa95e96](https://github.com/pie-framework/pie-elements/commit/fa95e963c44a6da11657fdaba3876009f3627d81))
12
+ * **number-line:** Displayed only the numerator when the denominator is 1 ([f1a07e8](https://github.com/pie-framework/pie-elements/commit/f1a07e8410c29d64837b94ce3f01f16afc1af04e))
13
+ * **number-line:** Fixed 'You have not entered a response' issue in pits ([0618d5e](https://github.com/pie-framework/pie-elements/commit/0618d5eeadbf38aca04b0f4c7e3529c2b479ec6b))
14
+ * **number-line:** Fixed line fraction for pits ([b949180](https://github.com/pie-framework/pie-elements/commit/b949180b109cd30842c7d00cc613bb8893a995ad))
15
+ * use preview prompt for prompt, rationale and teacher instructions to fix table rendering PD-1456 ([f330601](https://github.com/pie-framework/pie-elements/commit/f3306019a2d1c8ce3e2783823dfe9ef0a0394e4f))
16
+
17
+
18
+ ### Features
19
+
20
+ * **number-line:** Added support for fractions PD-472 ([4f5f525](https://github.com/pie-framework/pie-elements/commit/4f5f525f1878fe70d32cfae0b79925fcc685031c))
21
+ * **number-line:** Refactoring ([392ae4f](https://github.com/pie-framework/pie-elements/commit/392ae4f20bf297d2482179b3b437fad0c69e3c64))
22
+ * **number-line:** Refactoring ([1fb0bb8](https://github.com/pie-framework/pie-elements/commit/1fb0bb8b302efcabd06abd9c66272e9b4353dd02))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [5.13.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line@5.13.8...@pie-element/number-line@5.13.9) (2022-01-11)
7
29
 
8
30
  **Note:** Version bump only for package @pie-element/number-line
@@ -131,10 +131,10 @@ var Tick = /*#__PURE__*/function (_React$Component) {
131
131
  _ref$y = _ref.y,
132
132
  textY = _ref$y === void 0 ? 0 : _ref$y;
133
133
 
134
- var xText = !fraction ? Number(x.toFixed(2)) : !displayFraction ? x.n : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("tspan", {
134
+ var xText = !fraction ? Number(x.toFixed(2)) : !displayFraction ? x.n * x.s : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("tspan", {
135
135
  x: "0",
136
136
  dy: "0.71em"
137
- }, x.n), /*#__PURE__*/_react["default"].createElement("tspan", {
137
+ }, x.n * x.s), /*#__PURE__*/_react["default"].createElement("tspan", {
138
138
  x: "0",
139
139
  dy: "1.11em"
140
140
  }, x.d));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/number-line/graph/ticks.jsx"],"names":["style","text","userSelect","textAlign","fill","color","primary","line","stroke","TickValidator","PropTypes","shape","major","props","propName","minor","Error","componentName","isRequired","Tick","wasRendered","fraction","getBBox","width","setAttribute","forceUpdate","x","y","type","classes","xScale","displayFraction","n","d","labelTick","height","textWidth","textHeight","textX","textY","xText","Number","toFixed","React","Component","object","number","bool","func","string","Ticks","domain","ticks","context","tickData","map","min","max"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,KAAK,GAAG;AACZC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAE,MADR;AAEJC,IAAAA,SAAS,EAAE,QAFP;AAGJC,IAAAA,IAAI,EAAEC,gBAAMC,OAAN;AAHF,GADM;AAMZC,EAAAA,IAAI,EAAE;AACJC,IAAAA,MAAM,EAAEH,gBAAMC,OAAN;AADJ;AANM,CAAd;;AAWO,IAAMG,aAAa,GAAGC,sBAAUC,KAAV,CAAgB;AAC3C;AACF;AACA;AACEC,EAAAA,KAAK,EAAE,eAACC,KAAD,EAAQC,QAAR,EAAqB;AAC1B,QAAIF,KAAK,GAAGC,KAAK,CAACC,QAAD,CAAjB;AACA,QAAIC,KAAK,GAAGF,KAAK,CAACE,KAAlB;;AAEA,QAAI,CAAC,2BAAWH,KAAX,EAAkBG,KAAlB,CAAL,EAA+B;AAC7B,aAAO,IAAIC,KAAJ,wDAA0DD,KAA1D,EAAP;AACD;AACF,GAX0C;;AAY3C;AACF;AACA;AACEA,EAAAA,KAAK,EAAE,eAACF,KAAD,EAAQC,QAAR,EAAkBG,aAAlB,EAAoC;AACzC,QAAIF,KAAK,GAAGF,KAAK,CAACC,QAAD,CAAjB;;AACA,QAAIC,KAAK,IAAI,CAAb,EAAgB;AACd,aAAO,IAAIC,KAAJ,wBACWF,QADX,2BACoCG,aADpC,EAAP;AAGD;AACF;AAtB0C,CAAhB,EAuB1BC,UAvBI;;;;IAyBMC,I;;;;;AAeX,gBAAYN,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AACA,UAAKO,WAAL,GAAmB,KAAnB;AAFiB;AAGlB;;;;WAED,6BAAoB;AAClB;AACA,UAAI,KAAKnB,IAAT,EAAe;AACb,YAAQoB,QAAR,GAAqB,KAAKR,KAA1B,CAAQQ,QAAR;;AACA,iCAAgB,KAAKpB,IAAL,CAAUqB,OAAV,EAAhB;AAAA,YAAMC,KAAN,sBAAMA,KAAN;;AACA,aAAKtB,IAAL,CAAUuB,YAAV,CAAuB,GAAvB,EAA6BD,KAAK,GAAG,CAAT,GAAc,CAAC,CAA3C;;AAEA,YAAIF,QAAQ,IAAI,CAAC,KAAKD,WAAtB,EAAmC;AACjC;AACA,eAAKA,WAAL,GAAmB,IAAnB;AACA,eAAKK,WAAL;AACD;AACF;AACF;;;WAED,kBAAS;AAAA;;AACP;AACA,wBAAgD,KAAKZ,KAArD;AAAA,UAAMa,CAAN,eAAMA,CAAN;AAAA,UAASC,CAAT,eAASA,CAAT;AAAA,UAAYC,IAAZ,eAAYA,IAAZ;AAAA,UAAkBC,OAAlB,eAAkBA,OAAlB;AAAA,UAA2BC,MAA3B,eAA2BA,MAA3B;AAAA,UAAmCT,QAAnC,eAAmCA,QAAnC;AACA,UAAMU,eAAe,GAAGV,QAAQ,IAAIK,CAAC,CAACM,CAAF,KAAQN,CAAC,CAACO,CAAtB,IAA2BP,CAAC,CAACM,CAAF,KAAQ,CAAnC,IAAwCN,CAAC,CAACO,CAAF,KAAQ,CAAxE;AACA,UAAMC,SAAS,GAAGN,IAAI,KAAK,OAA3B;AACA,UAAMO,MAAM,GAAGD,SAAS,GAAG,EAAH,GAAQ,EAAhC;;AACA,iBAKI,KAAKjC,IAAL,IAAa,KAAKA,IAAL,CAAUqB,OAAV,EAAb,IAAoC,EALxC;AAAA,4BACEC,KADF;AAAA,UACSa,SADT,2BACqB,CADrB;AAAA,6BAEED,MAFF;AAAA,UAEUE,UAFV,4BAEuB,CAFvB;AAAA,wBAGEX,CAHF;AAAA,UAGKY,KAHL,uBAGa,CAHb;AAAA,wBAIEX,CAJF;AAAA,UAIKY,KAJL,uBAIa,CAJb;;AAOA,UAAMC,KAAK,GAAG,CAACnB,QAAD,GAAYoB,MAAM,CAACf,CAAC,CAACgB,OAAF,CAAU,CAAV,CAAD,CAAlB,GACV,CAACX,eAAD,GAAmBL,CAAC,CAACM,CAArB,gBACE,+EACA;AAAO,QAAA,CAAC,EAAC,GAAT;AAAa,QAAA,EAAE,EAAC;AAAhB,SAA0BN,CAAC,CAACM,CAA5B,CADA,eAEA;AAAO,QAAA,CAAC,EAAC,GAAT;AAAa,QAAA,EAAE,EAAC;AAAhB,SAA0BN,CAAC,CAACO,CAA5B,CAFA,CAFN;AAOA,0BACE;AAAG,QAAA,OAAO,EAAC,GAAX;AAAe,QAAA,SAAS,sBAAeH,MAAM,CAACJ,CAAD,CAArB,eAA6BC,CAA7B;AAAxB,sBACE;AACE,QAAA,SAAS,EAAEE,OAAO,CAACtB,IADrB;AAEE,QAAA,EAAE,EAAG4B,MAAM,GAAG,CAAV,GAAe,CAAC,CAFtB;AAGE,QAAA,EAAE,EAAEA,MAAM,GAAG,CAHf;AAIE,QAAA,EAAE,EAAC,KAJL;AAKE,QAAA,EAAE,EAAC;AALL,QADF,EASGJ,eAAe,iBACd;AACE,QAAA,SAAS,EAAEF,OAAO,CAACtB,IADrB;AAEE,QAAA,EAAE,EAAE+B,KAFN;AAGE,QAAA,EAAE,EAAEA,KAAK,GAAGF,SAHd;AAIE,QAAA,EAAE,EAAEG,KAAK,GAAGF,UAAU,GAAG,CAJ3B;AAKE,QAAA,EAAE,EAAEE,KAAK,GAAGF,UAAU,GAAG;AAL3B,QAVJ,EAmBGH,SAAS,iBACR;AACE,QAAA,GAAG,EAAE,aAAAjC,IAAI;AAAA,iBAAK,MAAI,CAACA,IAAL,GAAYA,IAAjB;AAAA,SADX;AAEE,QAAA,SAAS,EAAE4B,OAAO,CAAC5B,IAFrB;AAGE,QAAA,CAAC,EAAC,IAHJ;AAIE,QAAA,KAAK,EAAC,IAJR;AAKE,QAAA,EAAE,EAAC,QALL;AAME,QAAA,UAAU,EAAE8B,eAAe,IAAI;AANjC,SAQGS,KARH,CApBJ,CADF;AAkCD;;;EAzFuBG,kBAAMC,S;;;iCAAnBzB,I,eACQ;AACjBU,EAAAA,OAAO,EAAEnB,sBAAUmC,MAAV,CAAiB3B,UADT;AAEjBS,EAAAA,CAAC,EAAEjB,sBAAUoC,MAAV,CAAiB5B,UAFH;AAGjBQ,EAAAA,CAAC,EAAEhB,sBAAUoC,MAAV,CAAiB5B,UAHH;AAIjBN,EAAAA,KAAK,EAAEF,sBAAUqC,IAJA;AAKjB1B,EAAAA,QAAQ,EAAEX,sBAAUqC,IALH;AAMjBjB,EAAAA,MAAM,EAAEpB,sBAAUsC,IAND;AAOjBpB,EAAAA,IAAI,EAAElB,sBAAUuC;AAPC,C;iCADR9B,I,kBAWW;AACpBP,EAAAA,KAAK,EAAE;AADa,C;;IAiFXsC,K;;;;;;;;;;;;WAgBX,kBAAS;AACP,yBAA8C,KAAKrC,KAAnD;AAAA,UAAMsC,MAAN,gBAAMA,MAAN;AAAA,UAAcC,KAAd,gBAAcA,KAAd;AAAA,UAAqBzB,CAArB,gBAAqBA,CAArB;AAAA,UAAwBE,OAAxB,gBAAwBA,OAAxB;AAAA,UAAiCR,QAAjC,gBAAiCA,QAAjC;AACA,UAAMS,MAAN,GAAiB,KAAKuB,OAAtB,CAAMvB,MAAN;AAEA,UAAMwB,QAAQ,GAAG,8BAAcH,MAAd,EAAsBC,KAAtB,EAA6B;AAAE/B,QAAAA,QAAQ,EAARA;AAAF,OAA7B,CAAjB;AAEA,0BACE,2CACGiC,QAAQ,CAACC,GAAT,CAAa,iBAAiB;AAAA,YAAd7B,CAAc,SAAdA,CAAc;AAAA,YAAXE,IAAW,SAAXA,IAAW;AAC7B,4BACE,gCAAC,IAAD;AACE,UAAA,OAAO,EAAEC,OADX;AAEE,UAAA,QAAQ,EAAER,QAFZ;AAGE,UAAA,CAAC,EAAEK,CAHL;AAIE,UAAA,CAAC,EAAEC,CAJL;AAKE,UAAA,IAAI,EAAEC,IALR;AAME,UAAA,MAAM,EAAEE,MANV;AAOE,UAAA,GAAG,YAAKJ,CAAL,cAAUE,IAAV;AAPL,UADF;AAWD,OAZA,CADH,CADF;AAiBD;;;EAvCwBe,kBAAMC,S;;;iCAApBM,K,kBACW;AACpBpB,EAAAA,MAAM,EAAEpB,sBAAUsC,IAAV,CAAe9B;AADH,C;iCADXgC,K,eAKQ;AACjBrB,EAAAA,OAAO,EAAEnB,sBAAUmC,MAAV,CAAiB3B,UADT;AAEjBiC,EAAAA,MAAM,EAAEzC,sBAAUC,KAAV,CAAgB;AACtB6C,IAAAA,GAAG,EAAE9C,sBAAUoC,MAAV,CAAiB5B,UADA;AAEtBuC,IAAAA,GAAG,EAAE/C,sBAAUoC,MAAV,CAAiB5B;AAFA,GAAhB,EAGLA,UALc;AAMjBG,EAAAA,QAAQ,EAAEX,sBAAUqC,IANH;AAOjBK,EAAAA,KAAK,EAAE3C,aAPU;AAQjBkB,EAAAA,CAAC,EAAEjB,sBAAUoC,MAAV,CAAiB5B;AARH,C;;eAqCN,0BAAYlB,KAAZ,EAAmBkD,KAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { buildTickData, isMultiple } from './tick-utils';\nimport injectSheet from 'react-jss';\nimport { color } from '@pie-lib/render-ui';\n\nconst style = {\n text: {\n userSelect: 'none',\n textAlign: 'center',\n fill: color.primary()\n },\n line: {\n stroke: color.primary()\n }\n};\n\nexport const TickValidator = PropTypes.shape({\n /** the number of major ticks (including min + max)\n * to display. cant be lower than 2.\n */\n major: (props, propName) => {\n let major = props[propName];\n let minor = props.minor;\n\n if (!isMultiple(major, minor)) {\n return new Error(`Invalid prop major. It must be a multiple of ${minor}`);\n }\n },\n /** the number of minor ticks to display between major ticks.\n * Can't be less than zero.\n */\n minor: (props, propName, componentName) => {\n let minor = props[propName];\n if (minor <= 0) {\n return new Error(\n `Invalid prop ${propName} must be > 0. ${componentName}`\n );\n }\n }\n}).isRequired;\n\nexport class Tick extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n y: PropTypes.number.isRequired,\n x: PropTypes.number.isRequired,\n major: PropTypes.bool,\n fraction: PropTypes.bool,\n xScale: PropTypes.func,\n type: PropTypes.string\n };\n\n static defaultProps = {\n major: false\n };\n\n constructor(props) {\n super(props);\n this.wasRendered = false;\n };\n\n componentDidMount() {\n //center align the tick text\n if (this.text) {\n const { fraction } = this.props;\n let { width } = this.text.getBBox();\n this.text.setAttribute('x', (width / 2) * -1);\n\n if (fraction && !this.wasRendered) {\n // used for rendering the line fraction\n this.wasRendered = true;\n this.forceUpdate();\n }\n }\n }\n\n render() {\n //the domain value\n let { x, y, type, classes, xScale, fraction } = this.props;\n const displayFraction = fraction && x.n !== x.d && x.n !== 0 && x.d !== 1;\n const labelTick = type === 'major';\n const height = labelTick ? 20 : 10;\n const {\n width: textWidth = 0,\n height: textHeight = 0,\n x: textX = 0,\n y: textY = 0\n } = this.text && this.text.getBBox() || {};\n\n const xText = !fraction ? Number(x.toFixed(2))\n : !displayFraction ? x.n\n : <>\n <tspan x=\"0\" dy=\"0.71em\">{x.n}</tspan>\n <tspan x=\"0\" dy=\"1.11em\">{x.d}</tspan>\n </>;\n\n return (\n <g opacity=\"1\" transform={`translate(${xScale(x)}, ${y})`}>\n <line\n className={classes.line}\n y1={(height / 2) * -1}\n y2={height / 2}\n x1=\"0.5\"\n x2=\"0.5\"\n />\n\n {displayFraction &&\n <line\n className={classes.line}\n x1={textX}\n x2={textX + textWidth}\n y1={textY + textHeight / 2}\n y2={textY + textHeight / 2}\n />\n }\n\n {labelTick && (\n <text\n ref={text => (this.text = text)}\n className={classes.text}\n y=\"14\"\n width=\"10\"\n dy=\"0.71em\"\n textAnchor={displayFraction && \"middle\"}\n >\n {xText}\n </text>\n )}\n </g>\n );\n }\n}\n\nexport class Ticks extends React.Component {\n static contextTypes = {\n xScale: PropTypes.func.isRequired\n };\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n domain: PropTypes.shape({\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired\n }).isRequired,\n fraction: PropTypes.bool,\n ticks: TickValidator,\n y: PropTypes.number.isRequired\n };\n\n render() {\n let { domain, ticks, y, classes, fraction } = this.props;\n let { xScale } = this.context;\n\n const tickData = buildTickData(domain, ticks, { fraction });\n\n return (\n <g>\n {tickData.map(({ x, type }) => {\n return (\n <Tick\n classes={classes}\n fraction={fraction}\n x={x}\n y={y}\n type={type}\n xScale={xScale}\n key={`${x}-${type}`}\n />\n );\n })}\n </g>\n );\n }\n}\n\nexport default injectSheet(style)(Ticks);\n"],"file":"ticks.js"}
1
+ {"version":3,"sources":["../../../src/number-line/graph/ticks.jsx"],"names":["style","text","userSelect","textAlign","fill","color","primary","line","stroke","TickValidator","PropTypes","shape","major","props","propName","minor","Error","componentName","isRequired","Tick","wasRendered","fraction","getBBox","width","setAttribute","forceUpdate","x","y","type","classes","xScale","displayFraction","n","d","labelTick","height","textWidth","textHeight","textX","textY","xText","Number","toFixed","s","React","Component","object","number","bool","func","string","Ticks","domain","ticks","context","tickData","map","min","max"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { buildTickData, isMultiple } from './tick-utils';\nimport injectSheet from 'react-jss';\nimport { color } from '@pie-lib/render-ui';\n\nconst style = {\n text: {\n userSelect: 'none',\n textAlign: 'center',\n fill: color.primary()\n },\n line: {\n stroke: color.primary()\n }\n};\n\nexport const TickValidator = PropTypes.shape({\n /** the number of major ticks (including min + max)\n * to display. cant be lower than 2.\n */\n major: (props, propName) => {\n let major = props[propName];\n let minor = props.minor;\n\n if (!isMultiple(major, minor)) {\n return new Error(`Invalid prop major. It must be a multiple of ${minor}`);\n }\n },\n /** the number of minor ticks to display between major ticks.\n * Can't be less than zero.\n */\n minor: (props, propName, componentName) => {\n let minor = props[propName];\n if (minor <= 0) {\n return new Error(\n `Invalid prop ${propName} must be > 0. ${componentName}`\n );\n }\n }\n}).isRequired;\n\nexport class Tick extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n y: PropTypes.number.isRequired,\n x: PropTypes.number.isRequired,\n major: PropTypes.bool,\n fraction: PropTypes.bool,\n xScale: PropTypes.func,\n type: PropTypes.string\n };\n\n static defaultProps = {\n major: false\n };\n\n constructor(props) {\n super(props);\n this.wasRendered = false;\n };\n\n componentDidMount() {\n //center align the tick text\n if (this.text) {\n const { fraction } = this.props;\n let { width } = this.text.getBBox();\n this.text.setAttribute('x', (width / 2) * -1);\n\n if (fraction && !this.wasRendered) {\n // used for rendering the line fraction\n this.wasRendered = true;\n this.forceUpdate();\n }\n }\n }\n\n render() {\n //the domain value\n let { x, y, type, classes, xScale, fraction } = this.props;\n const displayFraction = fraction && x.n !== x.d && x.n !== 0 && x.d !== 1;\n const labelTick = type === 'major';\n const height = labelTick ? 20 : 10;\n const {\n width: textWidth = 0,\n height: textHeight = 0,\n x: textX = 0,\n y: textY = 0\n } = this.text && this.text.getBBox() || {};\n\n const xText = !fraction ? Number(x.toFixed(2))\n : !displayFraction ? x.n * x.s\n : <>\n <tspan x=\"0\" dy=\"0.71em\">{x.n * x.s}</tspan>\n <tspan x=\"0\" dy=\"1.11em\">{x.d}</tspan>\n </>;\n\n return (\n <g opacity=\"1\" transform={`translate(${xScale(x)}, ${y})`}>\n <line\n className={classes.line}\n y1={(height / 2) * -1}\n y2={height / 2}\n x1=\"0.5\"\n x2=\"0.5\"\n />\n\n {displayFraction &&\n <line\n className={classes.line}\n x1={textX}\n x2={textX + textWidth}\n y1={textY + textHeight / 2}\n y2={textY + textHeight / 2}\n />\n }\n\n {labelTick && (\n <text\n ref={text => (this.text = text)}\n className={classes.text}\n y=\"14\"\n width=\"10\"\n dy=\"0.71em\"\n textAnchor={displayFraction && \"middle\"}\n >\n {xText}\n </text>\n )}\n </g>\n );\n }\n}\n\nexport class Ticks extends React.Component {\n static contextTypes = {\n xScale: PropTypes.func.isRequired\n };\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n domain: PropTypes.shape({\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired\n }).isRequired,\n fraction: PropTypes.bool,\n ticks: TickValidator,\n y: PropTypes.number.isRequired\n };\n\n render() {\n let { domain, ticks, y, classes, fraction } = this.props;\n let { xScale } = this.context;\n\n const tickData = buildTickData(domain, ticks, { fraction });\n\n return (\n <g>\n {tickData.map(({ x, type }) => {\n return (\n <Tick\n classes={classes}\n fraction={fraction}\n x={x}\n y={y}\n type={type}\n xScale={xScale}\n key={`${x}-${type}`}\n />\n );\n })}\n </g>\n );\n }\n}\n\nexport default injectSheet(style)(Ticks);\n"],"file":"ticks.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/number-line",
3
- "version": "5.13.9",
3
+ "version": "5.14.0",
4
4
  "repository": "pie-framework/pie-elements",
5
5
  "description": "",
6
6
  "publishConfig": {
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "author": "pie framework developers",
29
29
  "license": "ISC",
30
- "gitHead": "eff88d43498ff36da95f6dff4b6c0fa4b22fa44a",
30
+ "gitHead": "7f48cc0eb28d9277511cff9ec5054953dc870982",
31
31
  "scripts": {
32
32
  "postpublish": "../../scripts/postpublish"
33
33
  },