@pie-element/drawing-response 6.6.5-next.6 → 6.6.6-next.8

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,17 @@
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
+ ## [6.6.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@6.6.4...@pie-element/drawing-response@6.6.5) (2023-09-18)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * add sanity checks DNA-18268 ([29d7de9](https://github.com/pie-framework/pie-elements/commit/29d7de9422c075117173a3afeb2b29acf1caab3c))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [6.6.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@6.6.3...@pie-element/drawing-response@6.6.4) (2023-09-05)
7
18
 
8
19
 
@@ -3,6 +3,17 @@
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
+ ## [6.5.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-configure@6.5.4...@pie-element/drawing-response-configure@6.5.5) (2023-09-18)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * add sanity checks DNA-18268 ([29d7de9](https://github.com/pie-framework/pie-elements/commit/29d7de9422c075117173a3afeb2b29acf1caab3c))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [6.5.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-configure@6.5.3...@pie-element/drawing-response-configure@6.5.4) (2023-09-05)
7
18
 
8
19
 
@@ -97,7 +97,8 @@ var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
97
97
  }, {
98
98
  key: "configuration",
99
99
  set: function set(c) {
100
- var _this2 = this;
100
+ var _c$language,
101
+ _this2 = this;
101
102
 
102
103
  this._configuration = c;
103
104
 
@@ -120,7 +121,7 @@ var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
120
121
  // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
121
122
 
122
123
 
123
- if (c.language.enabled) {
124
+ if ((_c$language = c.language) !== null && _c$language !== void 0 && _c$language.enabled) {
124
125
  var _c$languageChoices, _c$languageChoices$op;
125
126
 
126
127
  if ((_c$languageChoices = c.languageChoices) !== null && _c$languageChoices !== void 0 && (_c$languageChoices$op = _c$languageChoices.options) !== null && _c$languageChoices$op !== void 0 && _c$languageChoices$op.length) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","DrawableResponseConfigure","m","reset","_model","dispatchModelUpdated","_render","c","_configuration","handler","dispatchEvent","InsertImageEvent","src","done","DeleteImageEvent","sensibleDefaults","configuration","withRubric","forceEnabled","settings","createDefaultModel","onModelChanged","bind","s","rubricEnabled","language","enabled","languageChoices","options","length","value","find","option","push","label","resetValue","ModelUpdatedEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Root","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement","config","defaultModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,mBAAN,CAAZ;;IAEqBC,yB;;;;;AAgBnB,uCAAc;AAAA;;AAAA;;AAAA;AACZ;AADY,uGAuEG,UAACC,CAAD,EAAIC,KAAJ,EAAc;AAC7B,YAAKC,MAAL,GAAcF,CAAd;;AACA,YAAKG,oBAAL,CAA0BF,KAA1B;;AACA,YAAKG,OAAL;AACD,KA3Ea;AAAA,+GA6EW,UAACC,CAAD,EAAO;AAC9B,YAAKC,cAAL,GAAsBD,CAAtB;;AAEA,YAAKD,OAAL;AACD,KAjFa;AAAA,oGAmFA,UAACG,OAAD,EAAa;AACzB,YAAKC,aAAL,CAAmB,IAAIC,oCAAJ,CAAqBF,OAArB,CAAnB;AACD,KArFa;AAAA,sGAuFE,UAACG,GAAD,EAAMC,IAAN,EAAe;AAC7B,YAAKH,aAAL,CAAmB,IAAII,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD,KAzFa;AAEZ,UAAKL,cAAL,GAAsBO,qBAAiBC,aAAvC,CAFY,CAIZ;AACA;;AACA,iCAAI,MAAKR,cAAL,CAAoBS,UAAxB,kDAAI,sBAAgCC,YAApC,EAAkD;AAChD,YAAKV,cAAL,CAAoBS,UAApB,CAA+BE,QAA/B,GAA0C,KAA1C;AACD;;AAED,UAAKf,MAAL,GAAcH,yBAAyB,CAACmB,kBAA1B,CAA6C,EAA7C,EAAiD,MAAKZ,cAAtD,CAAd;AACA,UAAKa,cAAL,GAAsB,MAAKA,cAAL,CAAoBC,IAApB,gDAAtB;AAXY;AAYb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKnB,MAAL,GAAcH,yBAAyB,CAACmB,kBAA1B,CAA6CG,CAA7C,EAAgD,KAAKf,cAArD,CAAd;;AACA,WAAKF,OAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AAAA;;AACnB,WAAKC,cAAL,GAAsBD,CAAtB;;AAEA,iBAA4BA,CAAC,IAAI,EAAjC;AAAA,iCAAQU,UAAR;AAAA,UAAQA,UAAR,gCAAqB,EAArB,mBAHmB,CAKnB;AACA;AACA;;;AACA,UAAIA,UAAJ,aAAIA,UAAJ,eAAIA,UAAU,CAAEC,YAAhB,EAA8B;AAC5B,aAAKV,cAAL,CAAoBS,UAApB,CAA+BE,QAA/B,GAA0C,KAA1C;;AAEA,YAAI,CAAC,KAAKf,MAAL,CAAYoB,aAAjB,EAAgC;AAC9B,eAAKpB,MAAL,CAAYoB,aAAZ,GAA4B,IAA5B;AACD;AACF,OAdkB,CAgBnB;AACA;AACA;AACA;;;AACA,UAAIjB,CAAC,CAACkB,QAAF,CAAWC,OAAf,EAAwB;AAAA;;AACtB,kCAAInB,CAAC,CAACoB,eAAN,wEAAI,mBAAmBC,OAAvB,kDAAI,sBAA4BC,MAAhC,EAAwC;AACtC,eAAKzB,MAAL,CAAYqB,QAAZ,GAAuBlB,CAAC,CAACoB,eAAF,CAAkBC,OAAlB,CAA0B,CAA1B,EAA6BE,KAApD;AACD;AACF,OAJD,MAIO,IAAIvB,CAAC,CAACkB,QAAF,CAAWN,QAAX,IAAuB,KAAKf,MAAL,CAAYqB,QAAvC,EAAiD;AACtD,aAAKjB,cAAL,CAAoBiB,QAApB,CAA6BC,OAA7B,GAAuC,IAAvC;;AAEA,YAAI,CAAC,KAAKlB,cAAL,CAAoBmB,eAApB,CAAoCC,OAArC,IAAgD,CAAC,KAAKpB,cAAL,CAAoBmB,eAApB,CAAoCC,OAApC,CAA4CC,MAAjG,EAAyG;AACvG,eAAKrB,cAAL,CAAoBmB,eAApB,CAAoCC,OAApC,GAA8C,EAA9C;AACD,SALqD,CAOtD;AACA;;;AACA,YAAI,CAAC,KAAKpB,cAAL,CAAoBmB,eAApB,CAAoCC,OAApC,CAA4CG,IAA5C,CAAiD,UAAAC,MAAM;AAAA,iBAAIA,MAAM,CAACF,KAAP,KAAiB,MAAI,CAAC1B,MAAL,CAAYqB,QAAjC;AAAA,SAAvD,CAAL,EAAwG;AACtG,eAAKjB,cAAL,CAAoBmB,eAApB,CAAoCC,OAApC,CAA4CK,IAA5C,CAAiD;AAC/CH,YAAAA,KAAK,EAAE,KAAK1B,MAAL,CAAYqB,QAD4B;AAE/CS,YAAAA,KAAK,EAAE,KAAK9B,MAAL,CAAYqB;AAF4B,WAAjD;AAID;AACF,OAfM,MAeA;AACL,eAAO,KAAKrB,MAAL,CAAYqB,QAAnB;AACD;;AAED,WAAKnB,OAAL;AACD;;;WAED,8BAAqBH,KAArB,EAA4B;AAC1B,UAAMgC,UAAU,GAAG,CAAC,CAAChC,KAArB;AAEA,WAAKO,aAAL,CAAmB,IAAI0B,qCAAJ,CAAsB,KAAKhC,MAA3B,EAAmC+B,UAAnC,CAAnB;AACD;;;WAsBD,qBAAY1B,OAAZ,EAAqB;AACnB,WAAKC,aAAL,CAAmB,IAAI2B,oCAAJ,CAAqB5B,OAArB,CAAnB;AACD;;;WAED,uBAAcG,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKH,aAAL,CAAmB,IAAI4B,oCAAJ,CAAqB1B,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,mBAAU;AACRb,MAAAA,GAAG,CAAC,SAAD,CAAH;;AAEA,UAAIuC,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtCC,QAAAA,KAAK,EAAE,KAAKvC,MAD0B;AAEtCY,QAAAA,aAAa,EAAE,KAAKR,cAFkB;AAGtCa,QAAAA,cAAc,EAAE,KAAKA,cAHiB;AAItCuB,QAAAA,sBAAsB,EAAE,KAAKA,sBAJS;AAKtCC,QAAAA,YAAY,EAAE;AACZC,UAAAA,GAAG,EAAE,KAAKC,WADE;AAEZ,oBAAQ,KAAKC;AAFD,SALwB;AAStCC,QAAAA,kBAAkB,EAAE;AAClBH,UAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiB5B,IAAjB,CAAsB,IAAtB,CADa;AAElB,oBAAQ,KAAK6B,aAAL,CAAmB7B,IAAnB,CAAwB,IAAxB;AAFU;AATkB,OAA1B,CAAd;;AAcA8B,2BAASC,MAAT,CAAgBd,OAAhB,EAAyB,IAAzB;AACD;;;kDArIoDe,W;;;iCAAlCrD,yB,wBACS,YAAwB;AAAA;;AAAA,MAAvB0C,KAAuB,uEAAf,EAAe;AAAA,MAAXY,MAAW;;AAClD,MAAMC,YAAY,mCACbzC,qBAAiB4B,KADJ,GAEbA,KAFa,CAAlB,CADkD,CAMlD;AACA;;;AACA,MAAIY,MAAM,SAAN,IAAAA,MAAM,WAAN,0BAAAA,MAAM,CAAEtC,UAAR,kEAAoBC,YAApB,IAAoC,CAACsC,YAAY,CAAChC,aAAtD,EAAqE;AACnEgC,IAAAA,YAAY,CAAChC,aAAb,GAA6B,IAA7B;AACD;;AAED,SAAOgC,YAAP;AACD,C","sourcesContent":["import {\n DeleteImageEvent,\n DeleteSoundEvent,\n InsertImageEvent,\n InsertSoundEvent,\n ModelUpdatedEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\n\nimport Root from './root';\nimport sensibleDefaults from './defaults';\n\nconst log = debug('hotspot:configure');\n\nexport default class DrawableResponseConfigure extends HTMLElement {\n static createDefaultModel = (model = {}, config) => {\n const defaultModel = {\n ...sensibleDefaults.model,\n ...model,\n };\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n if (config?.withRubric?.forceEnabled && !defaultModel.rubricEnabled) {\n defaultModel.rubricEnabled = true;\n }\n\n return defaultModel;\n };\n\n constructor() {\n super();\n this._configuration = sensibleDefaults.configuration;\n\n // if configuration.withRubric.forceEnabled is true, then we\n // update the configuration (we do not want to display the toggle in the Settings Panel)\n if (this._configuration.withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n }\n\n this._model = DrawableResponseConfigure.createDefaultModel({}, this._configuration);\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n set model(s) {\n this._model = DrawableResponseConfigure.createDefaultModel(s, this._configuration);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n\n const { withRubric = {} } = c || {};\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n // and also update the configuration (we do not want to display the toggle in the Settings Panel)\n if (withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n\n if (!this._model.rubricEnabled) {\n this._model.rubricEnabled = true;\n }\n }\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (c.language.enabled) {\n if (c.languageChoices?.options?.length) {\n this._model.language = c.languageChoices.options[0].value;\n }\n } else if (c.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged = (m, reset) => {\n this._model = m;\n this.dispatchModelUpdated(reset);\n this._render();\n };\n\n onConfigurationChanged = (c) => {\n this._configuration = c;\n\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n\n let element = React.createElement(Root, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","DrawableResponseConfigure","m","reset","_model","dispatchModelUpdated","_render","c","_configuration","handler","dispatchEvent","InsertImageEvent","src","done","DeleteImageEvent","sensibleDefaults","configuration","withRubric","forceEnabled","settings","createDefaultModel","onModelChanged","bind","s","rubricEnabled","language","enabled","languageChoices","options","length","value","find","option","push","label","resetValue","ModelUpdatedEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Root","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement","config","defaultModel"],"mappings":"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","sourcesContent":["import {\n DeleteImageEvent,\n DeleteSoundEvent,\n InsertImageEvent,\n InsertSoundEvent,\n ModelUpdatedEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\n\nimport Root from './root';\nimport sensibleDefaults from './defaults';\n\nconst log = debug('hotspot:configure');\n\nexport default class DrawableResponseConfigure extends HTMLElement {\n static createDefaultModel = (model = {}, config) => {\n const defaultModel = {\n ...sensibleDefaults.model,\n ...model,\n };\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n if (config?.withRubric?.forceEnabled && !defaultModel.rubricEnabled) {\n defaultModel.rubricEnabled = true;\n }\n\n return defaultModel;\n };\n\n constructor() {\n super();\n this._configuration = sensibleDefaults.configuration;\n\n // if configuration.withRubric.forceEnabled is true, then we\n // update the configuration (we do not want to display the toggle in the Settings Panel)\n if (this._configuration.withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n }\n\n this._model = DrawableResponseConfigure.createDefaultModel({}, this._configuration);\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n set model(s) {\n this._model = DrawableResponseConfigure.createDefaultModel(s, this._configuration);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n\n const { withRubric = {} } = c || {};\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n // and also update the configuration (we do not want to display the toggle in the Settings Panel)\n if (withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n\n if (!this._model.rubricEnabled) {\n this._model.rubricEnabled = true;\n }\n }\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (c.language?.enabled) {\n if (c.languageChoices?.options?.length) {\n this._model.language = c.languageChoices.options[0].value;\n }\n } else if (c.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged = (m, reset) => {\n this._model = m;\n this.dispatchModelUpdated(reset);\n this._render();\n };\n\n onConfigurationChanged = (c) => {\n this._configuration = c;\n\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n\n let element = React.createElement(Root, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/drawing-response-configure",
3
3
  "private": true,
4
- "version": "6.5.4",
4
+ "version": "6.5.5",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,8 +9,8 @@
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-configure-events": "^1.3.0",
12
- "@pie-lib/config-ui": "^11.9.12",
13
- "@pie-lib/editable-html": "^10.0.7",
12
+ "@pie-lib/config-ui": "^11.9.14",
13
+ "@pie-lib/editable-html": "^11.0.1",
14
14
  "classnames": "^2.2.6",
15
15
  "debug": "^3.1.0",
16
16
  "lodash": "^4.17.15",
@@ -70,7 +70,7 @@ export default class DrawableResponseConfigure extends HTMLElement {
70
70
  // if it is false, then the language field should be omitted from the item model.
71
71
  // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
72
72
  // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
73
- if (c.language.enabled) {
73
+ if (c.language?.enabled) {
74
74
  if (c.languageChoices?.options?.length) {
75
75
  this._model.language = c.languageChoices.options[0].value;
76
76
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/drawing-response",
3
- "version": "6.6.5-next.6+26199b255",
3
+ "version": "6.6.6-next.8+0fd32b3fd",
4
4
  "description": "",
5
5
  "repository": "pie-framework/pie-elements",
6
6
  "publishConfig": {
@@ -11,8 +11,8 @@
11
11
  "@mdi/js": "^3.6.95",
12
12
  "@mdi/react": "^1.1.1",
13
13
  "@pie-framework/pie-player-events": "^0.1.0",
14
- "@pie-lib/math-rendering": "^2.5.18",
15
- "@pie-lib/render-ui": "^4.15.2",
14
+ "@pie-lib/math-rendering": "^3.1.0",
15
+ "@pie-lib/render-ui": "^4.15.4",
16
16
  "@pie-lib/translator": "^2.3.0",
17
17
  "classnames": "^2.2.6",
18
18
  "enzyme-to-json": "^3.3.5",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "author": "pie framework developers",
27
27
  "license": "ISC",
28
- "gitHead": "26199b255ddbcb9255f2769091c7ba58f8b1dae0",
28
+ "gitHead": "0fd32b3fd1333bb25de584b98c8ef0471de2d5e8",
29
29
  "scripts": {
30
30
  "postpublish": "../../scripts/postpublish"
31
31
  },