@pie-element/passage 2.1.0-next.1 → 2.1.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/LICENSE.md ADDED
@@ -0,0 +1,5 @@
1
+ Copyright 2019 CoreSpring Inc
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4
+
5
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
package/lib/index.js CHANGED
@@ -93,4 +93,4 @@ var PiePassage = /*#__PURE__*/function (_HTMLElement) {
93
93
  }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
94
94
 
95
95
  exports["default"] = PiePassage;
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJQaWVQYXNzYWdlIiwiX21vZGVsIiwicGFzc2FnZXMiLCJfc2Vzc2lvbiIsInMiLCJkaXNwYXRjaEV2ZW50IiwiTW9kZWxTZXRFdmVudCIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsIl9yZW5kZXIiLCJzZXRBdHRyaWJ1dGUiLCJsZW5ndGgiLCJwYXNzYWdlc1RhYnMiLCJtYXAiLCJwYXNzYWdlIiwiaW5kZXgiLCJpZCIsInRpdGxlIiwidGV4dCIsImVsZW0iLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJTdGltdWx1c1RhYnMiLCJ0YWJzIiwiUmVhY3RET00iLCJyZW5kZXIiLCJIVE1MRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztJQUNxQkEsVTs7Ozs7QUFDbkIsd0JBQWM7QUFBQTs7QUFBQTtBQUNaO0FBQ0EsVUFBS0MsTUFBTCxHQUFjO0FBQ1pDLE1BQUFBLFFBQVEsRUFBRTtBQURFLEtBQWQ7QUFHQSxVQUFLQyxRQUFMLEdBQWdCLElBQWhCO0FBTFk7QUFNYjs7OztTQUVELGFBQVVDLENBQVYsRUFBYTtBQUNYLFdBQUtILE1BQUwsR0FBY0csQ0FBZDtBQUNBLFdBQUtDLGFBQUwsQ0FBbUIsSUFBSUMsOEJBQUosQ0FBa0IsS0FBS0MsT0FBTCxDQUFhQyxXQUFiLEVBQWxCLEVBQThDLEtBQUtMLFFBQW5ELEVBQTZELENBQUMsQ0FBQyxLQUFLRixNQUFwRSxDQUFuQjs7QUFFQSxXQUFLUSxPQUFMO0FBQ0Q7OztTQUVELGFBQVlMLENBQVosRUFBZTtBQUNiLFdBQUtELFFBQUwsR0FBZ0JDLENBQWhCO0FBQ0Q7OztXQUVELDZCQUFvQjtBQUNsQixXQUFLTSxZQUFMLENBQWtCLFlBQWxCLEVBQWdDLFNBQWhDO0FBQ0EsV0FBS0EsWUFBTCxDQUFrQixNQUFsQixFQUEwQixRQUExQjs7QUFDQSxXQUFLRCxPQUFMO0FBQ0Q7OztXQUVELG1CQUFVO0FBQ1IsVUFBSSxLQUFLUixNQUFMLENBQVlDLFFBQVosQ0FBcUJTLE1BQXJCLEdBQThCLENBQWxDLEVBQXFDO0FBQ25DLFlBQU1DLFlBQVksR0FBRyxLQUFLWCxNQUFMLENBQVlDLFFBQVosQ0FBcUJXLEdBQXJCLENBQXlCLFVBQUNDLE9BQUQsRUFBVUMsS0FBVixFQUFvQjtBQUNoRSxpQkFBTztBQUNMQyxZQUFBQSxFQUFFLEVBQUVELEtBREM7QUFFTEUsWUFBQUEsS0FBSyxFQUFFSCxPQUFPLENBQUNHLEtBRlY7QUFHTEMsWUFBQUEsSUFBSSxFQUFFSixPQUFPLENBQUNJO0FBSFQsV0FBUDtBQUtELFNBTm9CLENBQXJCOztBQU9BLFlBQUlDLElBQUksZ0JBQUdDLGtCQUFNQyxhQUFOLENBQW9CQyx3QkFBcEIsRUFBa0M7QUFBRUMsVUFBQUEsSUFBSSxFQUFFWDtBQUFSLFNBQWxDLENBQVg7O0FBQ0FZLDZCQUFTQyxNQUFULENBQWdCTixJQUFoQixFQUFzQixJQUF0QjtBQUNEO0FBQ0Y7OztrREF0Q3FDTyxXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxTZXRFdmVudCB9IGZyb20gJ0BwaWUtZnJhbWV3b3JrL3BpZS1wbGF5ZXItZXZlbnRzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBTdGltdWx1c1RhYnMgZnJvbSAnLi9zdGltdWx1cy10YWJzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBpZVBhc3NhZ2UgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fbW9kZWwgPSB7XG4gICAgICBwYXNzYWdlczogW10sXG4gICAgfTtcbiAgICB0aGlzLl9zZXNzaW9uID0gbnVsbDtcbiAgfVxuXG4gIHNldCBtb2RlbChzKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBzO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxTZXRFdmVudCh0aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSwgdGhpcy5fc2Vzc2lvbiwgISF0aGlzLl9tb2RlbCkpO1xuXG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBzZXQgc2Vzc2lvbihzKSB7XG4gICAgdGhpcy5fc2Vzc2lvbiA9IHM7XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsICdQYXNzYWdlJyk7IFxuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3JlZ2lvbicpO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgX3JlbmRlcigpIHtcbiAgICBpZiAodGhpcy5fbW9kZWwucGFzc2FnZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcGFzc2FnZXNUYWJzID0gdGhpcy5fbW9kZWwucGFzc2FnZXMubWFwKChwYXNzYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiBpbmRleCxcbiAgICAgICAgICB0aXRsZTogcGFzc2FnZS50aXRsZSxcbiAgICAgICAgICB0ZXh0OiBwYXNzYWdlLnRleHQsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICAgIGxldCBlbGVtID0gUmVhY3QuY3JlYXRlRWxlbWVudChTdGltdWx1c1RhYnMsIHsgdGFiczogcGFzc2FnZXNUYWJzIH0pO1xuICAgICAgUmVhY3RET00ucmVuZGVyKGVsZW0sIHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19
96
+ //# sourceMappingURL=index.js.map
package/lib/print.js CHANGED
@@ -96,4 +96,4 @@ var PassagePrint = /*#__PURE__*/function (_HTMLElement) {
96
96
  }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
97
97
 
98
98
  exports["default"] = PassagePrint;
99
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmludC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJwcmVwYXJlUHJpbnRQYXNzYWdlIiwibW9kZWwiLCJwYXNzYWdlcyIsIm1hcCIsInBhc3NhZ2UiLCJpbmRleCIsImlkIiwidGl0bGUiLCJ0ZXh0IiwiUGFzc2FnZVByaW50IiwiX21vZGVsIiwiX3Nlc3Npb24iLCJfcmVyZW5kZXIiLCJsZW5ndGgiLCJwcmludFBhc3NhZ2UiLCJlbGVtZW50IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiU3RpbXVsdXNUYWJzIiwidGFicyIsImRpc2FibGVkVGFicyIsIlJlYWN0RE9NIiwicmVuZGVyIiwibGVhZGluZyIsInRyYWlsaW5nIiwicyIsIkhUTUxFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sMkJBQU4sQ0FBWjs7QUFFQSxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQXNCLENBQUNDLEtBQUQ7QUFBQSxTQUMxQkEsS0FBSyxDQUFDQyxRQUFOLENBQWVDLEdBQWYsQ0FBbUIsVUFBQ0MsT0FBRCxFQUFVQyxLQUFWLEVBQW9CO0FBQ3JDLFdBQU87QUFDTEMsTUFBQUEsRUFBRSxFQUFFRCxLQURDO0FBRUxFLE1BQUFBLEtBQUssRUFBRUgsT0FBTyxDQUFDRyxLQUZWO0FBR0xDLE1BQUFBLElBQUksRUFBRUosT0FBTyxDQUFDSTtBQUhULEtBQVA7QUFLRCxHQU5ELENBRDBCO0FBQUEsQ0FBNUI7O0lBU3FCQyxZOzs7OztBQUNuQiwwQkFBYztBQUFBOztBQUFBO0FBQ1o7QUFDQSxVQUFLQyxNQUFMLEdBQWMsSUFBZDtBQUNBLFVBQUtDLFFBQUwsR0FBZ0IsRUFBaEI7QUFFQSxVQUFLQyxTQUFMLEdBQWlCLDBCQUNmLFlBQU07QUFDSixVQUFJLE1BQUtGLE1BQUwsSUFBZSxNQUFLQyxRQUF4QixFQUFrQztBQUNoQyxZQUFJLE1BQUtELE1BQUwsQ0FBWVIsUUFBWixJQUF3QixNQUFLUSxNQUFMLENBQVlSLFFBQVosQ0FBcUJXLE1BQXJCLEdBQThCLENBQTFELEVBQTZEO0FBQzNELGNBQU1DLFlBQVksR0FBR2QsbUJBQW1CLENBQUMsTUFBS1UsTUFBTixDQUF4Qzs7QUFFQSxjQUFNSyxPQUFPLGdCQUFHQyxrQkFBTUMsYUFBTixDQUFvQkMsd0JBQXBCLEVBQWtDO0FBQUVDLFlBQUFBLElBQUksRUFBRUwsWUFBUjtBQUFzQk0sWUFBQUEsWUFBWSxFQUFFO0FBQXBDLFdBQWxDLENBQWhCOztBQUVBQywrQkFBU0MsTUFBVCxDQUFnQlAsT0FBaEI7QUFDRDtBQUNGLE9BUkQsTUFRTztBQUNMaEIsUUFBQUEsR0FBRyxDQUFDLE1BQUQsQ0FBSDtBQUNEO0FBQ0YsS0FiYyxFQWNmLEVBZGUsRUFlZjtBQUFFd0IsTUFBQUEsT0FBTyxFQUFFLEtBQVg7QUFBa0JDLE1BQUFBLFFBQVEsRUFBRTtBQUE1QixLQWZlLENBQWpCO0FBTFk7QUFzQmI7Ozs7U0FFRCxhQUFVQyxDQUFWLEVBQWE7QUFDWCxXQUFLZixNQUFMLEdBQWNlLENBQWQ7O0FBQ0EsV0FBS2IsU0FBTDtBQUNEOzs7V0FFRCw2QkFBb0IsQ0FBRTs7O2tEQTlCa0JjLFciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoL2RlYm91bmNlJztcbmltcG9ydCBTdGltdWx1c1RhYnMgZnJvbSAnLi9zdGltdWx1cy10YWJzJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtZWxlbWVudDpwYXNzYWdlOnByaW50Jyk7XG5cbmNvbnN0IHByZXBhcmVQcmludFBhc3NhZ2UgPSAobW9kZWwpID0+XG4gIG1vZGVsLnBhc3NhZ2VzLm1hcCgocGFzc2FnZSwgaW5kZXgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGluZGV4LFxuICAgICAgdGl0bGU6IHBhc3NhZ2UudGl0bGUsXG4gICAgICB0ZXh0OiBwYXNzYWdlLnRleHQsXG4gICAgfTtcbiAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhc3NhZ2VQcmludCBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9tb2RlbCA9IG51bGw7XG4gICAgdGhpcy5fc2Vzc2lvbiA9IFtdO1xuXG4gICAgdGhpcy5fcmVyZW5kZXIgPSBkZWJvdW5jZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX21vZGVsICYmIHRoaXMuX3Nlc3Npb24pIHtcbiAgICAgICAgICBpZiAodGhpcy5fbW9kZWwucGFzc2FnZXMgJiYgdGhpcy5fbW9kZWwucGFzc2FnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgcHJpbnRQYXNzYWdlID0gcHJlcGFyZVByaW50UGFzc2FnZSh0aGlzLl9tb2RlbCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBSZWFjdC5jcmVhdGVFbGVtZW50KFN0aW11bHVzVGFicywgeyB0YWJzOiBwcmludFBhc3NhZ2UsIGRpc2FibGVkVGFiczogdHJ1ZSB9KTtcblxuICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKGVsZW1lbnQsIHRoaXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2coJ3NraXAnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIDUwLFxuICAgICAgeyBsZWFkaW5nOiBmYWxzZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgICApO1xuICB9XG5cbiAgc2V0IG1vZGVsKHMpIHtcbiAgICB0aGlzLl9tb2RlbCA9IHM7XG4gICAgdGhpcy5fcmVyZW5kZXIoKTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge31cbn1cbiJdfQ==
99
+ //# sourceMappingURL=print.js.map
@@ -288,4 +288,4 @@ StimulusTabs.propTypes = {
288
288
  var _default = (0, _styles.withStyles)(styles)(StimulusTabs);
289
289
 
290
290
  exports["default"] = _default;
291
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGltdWx1cy10YWJzLmpzeCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJ0aGVtZSIsInJvb3QiLCJmbGV4R3JvdyIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwiYmFja2dyb3VuZCIsInRleHQiLCJ0YWIiLCJmb250U2l6ZSIsInN0aWNreVRhYnMiLCJwb3NpdGlvbiIsInRvcCIsInRpdGxlIiwidGV4dFRyYW5zZm9ybSIsInBhZGRpbmciLCJzcGFjaW5nIiwidW5pdCIsImJvcmRlckJvdHRvbSIsInNlY29uZGFyeSIsIndpZHRoIiwibWFyZ2luQm90dG9tIiwiYnV0dG9uQ29udGFpbmVyIiwidGFiQ29udGFpbmVyIiwiYnJlYWtTcGFjZXMiLCJ3aGl0ZVNwYWNlIiwiU3RpbXVsdXNUYWJzIiwiYWN0aXZlVGFiIiwiZXZlbnQiLCJzZXRTdGF0ZSIsInNldFRpbWVvdXQiLCJ0YWJDaGFuZ2VFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwid2luZG93IiwiZGlzcGF0Y2hFdmVudCIsImN1cnJlbnRUYWJJZCIsImtleSIsInRhYnMiLCJwcm9wcyIsIm5ld1RhYkluZGV4IiwiY3VycmVudEluZGV4IiwiZmluZEluZGV4IiwiaWQiLCJsZW5ndGgiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZUNoYW5nZSIsImRpdiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsInJlcGxhY2UiLCJhdWRpbyIsInF1ZXJ5U2VsZWN0b3IiLCJzb3VyY2UiLCJzZXRBdHRyaWJ1dGUiLCJnZXRBdHRyaWJ1dGUiLCJyZW1vdmVBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsImNsYXNzZXMiLCJkaXNhYmxlZFRhYnMiLCJzdGF0ZSIsIm1hcCIsIl9faHRtbCIsInBhcnNlZFRleHQiLCJmbGV4Q29udGFpbmVyIiwiaGFuZGxlS2V5RG93biIsIlJlYWN0IiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiaXNSZXF1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O0FBR2RqRSxJQUFBQSxJQUFJLEVBQUUrRCxzQkFBVU0sTUFBVixDQUFpQko7QUFIVCxHQUFoQixFQUlHQSxVQUxDLEVBTUpBLFVBUnFCO0FBU3ZCWixFQUFBQSxZQUFZLEVBQUVVLHNCQUFVTztBQVRELENBQXpCOztlQVllLHdCQUFXN0UsTUFBWCxFQUFtQjBCLFlBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBUYWJzIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1RhYnMnO1xuaW1wb3J0IFRhYiBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UYWInO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBjb2xvciwgUHVycG9zZSB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L3JlbmRlci11aSc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICByb290OiB7XG4gICAgZmxleEdyb3c6IDEsXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgfSxcbiAgdGFiOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgfSxcbiAgc3RpY2t5VGFiczoge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgICBwb3NpdGlvbjogJ3N0aWNreScsXG4gICAgdG9wOiAwLFxuICB9LFxuICB0aXRsZToge1xuICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgIHBhZGRpbmc6IGAke3RoZW1lLnNwYWNpbmcudW5pdH1weCAke3RoZW1lLnNwYWNpbmcudW5pdCAqIDN9cHhgLFxuICAgIGJvcmRlckJvdHRvbTogYDJweCBzb2xpZCAke2NvbG9yLnNlY29uZGFyeSgpfWAsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gIH0sXG4gIGJ1dHRvbkNvbnRhaW5lcjoge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgfSxcbiAgdGFiQ29udGFpbmVyOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICBwYWRkaW5nOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICB9LFxuICBicmVha1NwYWNlczoge1xuICAgIHdoaXRlU3BhY2U6ICdicmVhay1zcGFjZXMnLFxuICB9LFxufSk7XG5cbmNsYXNzIFN0aW11bHVzVGFicyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZVRhYjogMCxcbiAgfTtcblxuICBoYW5kbGVDaGFuZ2UgPSAoZXZlbnQsIGFjdGl2ZVRhYikgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoKCkgPT4gKHsgYWN0aXZlVGFiIH0pKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRhYkNoYW5nZUV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdwaWUtdWktcGFzc2FnZS10YWJDaGFuZ2VkJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICB0YWI6IGFjdGl2ZVRhYixcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudCh0YWJDaGFuZ2VFdmVudCk7XG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlS2V5RG93biA9IChldmVudCwgY3VycmVudFRhYklkKSA9PiB7XG4gICAgY29uc3QgeyBrZXkgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHsgdGFicyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGxldCBuZXdUYWJJbmRleCA9IC0xO1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRhYnMuZmluZEluZGV4KCh0YWIpID0+IHRhYi5pZCA9PT0gY3VycmVudFRhYklkKTtcblxuICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIG5ld1RhYkluZGV4ID0gKGN1cnJlbnRJbmRleCArIDEpICUgdGFicy5sZW5ndGg7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBuZXdUYWJJbmRleCA9IChjdXJyZW50SW5kZXggLSAxICsgdGFicy5sZW5ndGgpICUgdGFicy5sZW5ndGg7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgIG5ld1RhYkluZGV4ID0gMDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICBuZXdUYWJJbmRleCA9IHRhYnMubGVuZ3RoIC0gMTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICBjYXNlICcgJzpcbiAgICAgICAgbmV3VGFiSW5kZXggPSBjdXJyZW50SW5kZXg7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKG5ld1RhYkluZGV4ICE9PSAtMSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKGV2ZW50LCB0YWJzW25ld1RhYkluZGV4XS5pZCk7XG4gICAgfVxuICB9O1xuXG4gIHBhcnNlZFRleHQgPSAodGV4dCkgPT4ge1xuICAgIC8vIGZpeCBpbXBvcnRlZCBhdWRpbyBjb250ZW50IGZvciBTYWZhcmkgUEQtMTM5MVxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi5pbm5lckhUTUwgPSB0ZXh0LnJlcGxhY2UoLyg8YnJcXC8+XFxuKS9nLCAnPGJyLz4nKTtcblxuICAgIGNvbnN0IGF1ZGlvID0gZGl2LnF1ZXJ5U2VsZWN0b3IoJ2F1ZGlvJyk7XG4gICAgaWYgKGF1ZGlvKSB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzb3VyY2UnKTtcblxuICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgndHlwZScsICdhdWRpby9tcDMnKTtcbiAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoJ3NyYycsIGF1ZGlvLmdldEF0dHJpYnV0ZSgnc3JjJykpO1xuXG4gICAgICBhdWRpby5yZW1vdmVBdHRyaWJ1dGUoJ3NyYycpO1xuICAgICAgYXVkaW8uYXBwZW5kQ2hpbGQoc291cmNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc2VzLCB0YWJzLCBkaXNhYmxlZFRhYnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBhY3RpdmVUYWIgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBpZiAodGFicyAmJiB0YWJzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBkaXNhYmxlZFRhYnMgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMucm9vdCwgJ3Bhc3NhZ2VzJyl9PlxuICAgICAgICAgIHt0YWJzLm1hcCgodGFiKSA9PiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGtleT17dGFiLmlkfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2BwYXNzYWdlLSR7dGFiLmlkfWB9XG4gICAgICAgICAgICAgIGlkPXtgdGFicGFuZWwtJHt0YWIuaWR9YH1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtgdGFiLSR7dGFiLmlkfWB9XG4gICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2B0YWJwYW5lbC0ke3RhYi5pZH1gfVxuICAgICAgICAgICAgICB0YWJJbmRleD1cIjBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnRhYkNvbnRhaW5lcn1cbiAgICAgICAgICAgICAgICBpZD17YHRhYnBhbmVsLSR7dGFiLmlkfWB9XG4gICAgICAgICAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2BidXR0b24tJHt0YWIuaWR9YH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnRpdGxlLCAndGl0bGUnKX1cbiAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdGhpcy5wYXJzZWRUZXh0KHRhYi50aXRsZSkgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxQdXJwb3NlIHB1cnBvc2U9XCJwYXNzYWdlLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dFwiIGtleT17dGFiLmlkfSBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHRoaXMucGFyc2VkVGV4dCh0YWIudGV4dCkgfX0gLz5cbiAgICAgICAgICAgICAgICA8L1B1cnBvc2U+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yb290LCAncGFzc2FnZXMnKX0+XG4gICAgICAgICAgPFRhYnNcbiAgICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgICAgcm9vdDogY2xhc3Nlcy5zdGlja3lUYWJzLFxuICAgICAgICAgICAgICBmbGV4Q29udGFpbmVyOiBjbGFzc2VzLmJ1dHRvbkNvbnRhaW5lcixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB2YWx1ZT17YWN0aXZlVGFifVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0YWJzLm1hcCgodGFiKSA9PiAoXG4gICAgICAgICAgICAgIDxUYWJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGFifVxuICAgICAgICAgICAgICAgIGtleT17dGFiLmlkfVxuICAgICAgICAgICAgICAgIGlkPXtgYnV0dG9uLSR7dGFiLmlkfWB9XG4gICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgPFB1cnBvc2UgcHVycG9zZT1cInBhc3NhZ2UtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiB0aGlzLnBhcnNlZFRleHQodGFiLnRpdGxlKSB9fSAvPlxuICAgICAgICAgICAgICAgICAgPC9QdXJwb3NlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YWx1ZT17dGFiLmlkfVxuICAgICAgICAgICAgICAgIHRhYkluZGV4PXthY3RpdmVUYWIgPT09IHRhYi5pZCA/IDAgOiAtMX1cbiAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtgdGFicGFuZWwtJHt0YWIuaWR9YH1cbiAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXthY3RpdmVUYWIgPT09IHRhYi5pZH1cbiAgICAgICAgICAgICAgICBvbkZvY3VzPXsoKSA9PiB0aGlzLmhhbmRsZUNoYW5nZShudWxsLCB0YWIuaWQpfVxuICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB0aGlzLmhhbmRsZUtleURvd24oZXZlbnQsIHRhYi5pZCl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1RhYnM+XG5cbiAgICAgICAgICB7dGFicy5tYXAoKHRhYikgPT5cbiAgICAgICAgICAgIGFjdGl2ZVRhYiA9PT0gdGFiLmlkID8gKFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnRhYkNvbnRhaW5lcn1cbiAgICAgICAgICAgICAgICBrZXk9e3RhYi5pZH1cbiAgICAgICAgICAgICAgICBpZD17YHRhYnBhbmVsLSR7dGFiLmlkfWB9XG4gICAgICAgICAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2BidXR0b24tJHt0YWIuaWR9YH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQdXJwb3NlIHB1cnBvc2U9XCJwYXNzYWdlLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXt0YWIuaWR9IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdGhpcy5wYXJzZWRUZXh0KHRhYi50ZXh0KSB9fSAvPlxuICAgICAgICAgICAgICAgIDwvUHVycG9zZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApIDogbnVsbCxcbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0YWJzICYmIHRhYnNbMF0pIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMucm9vdCwgY2xhc3Nlcy50YWJDb250YWluZXIsIGNsYXNzZXMuYnJlYWtTcGFjZXMsICdwYXNzYWdlJyl9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dFwiIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdGhpcy5wYXJzZWRUZXh0KHRhYnNbMF0udGV4dCkgfX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5TdGltdWx1c1RhYnMucHJvcFR5cGVzID0ge1xuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHRhYnM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBpZDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAgICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICB9KS5pc1JlcXVpcmVkLFxuICApLmlzUmVxdWlyZWQsXG4gIGRpc2FibGVkVGFiczogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoU3RpbXVsdXNUYWJzKTtcbiJdfQ==
291
+ //# sourceMappingURL=stimulus-tabs.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/passage",
3
- "version": "2.1.0-next.1",
3
+ "version": "2.1.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -17,7 +17,7 @@
17
17
  "react": "^16.8.1",
18
18
  "react-dom": "^16.8.1"
19
19
  },
20
- "gitHead": "0e14ff981bcdc8a89a0e58484026496701bfdbc3",
20
+ "gitHead": "8aec9bff2588b2640ca5b4fa74a75333a52a563b",
21
21
  "scripts": {
22
22
  "postpublish": "../../scripts/postpublish"
23
23
  },
@@ -1,11 +0,0 @@
1
- {
2
- "hash": "1639983434",
3
- "info": [
4
- {
5
- "pie": "@pie-element/passage",
6
- "version": {
7
- "requested": "latest"
8
- }
9
- }
10
- ]
11
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _react = _interopRequireDefault(require("react"));
6
-
7
- var _stimulusTabs = _interopRequireDefault(require("../stimulus-tabs"));
8
-
9
- var _enzyme = require("enzyme");
10
-
11
- var props = {
12
- tabs: [{
13
- id: 1,
14
- title: 'one',
15
- text: 'text for one'
16
- }, {
17
- id: 2,
18
- title: 'two',
19
- text: 'text for two'
20
- }]
21
- };
22
- describe('stimulus tabs', function () {
23
- describe('snapshot', function () {
24
- it('should render component', function () {
25
- var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_stimulusTabs["default"], {
26
- tabs: props.tabs
27
- }));
28
- expect(wrapper).toMatchSnapshot();
29
- });
30
- });
31
- });
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vc3RpbXVsdXMtdGFicy50ZXN0LmpzeCJdLCJuYW1lcyI6WyJwcm9wcyIsInRhYnMiLCJpZCIsInRpdGxlIiwidGV4dCIsImRlc2NyaWJlIiwiaXQiLCJ3cmFwcGVyIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsS0FBSyxHQUFHO0FBQ1pDLEVBQUFBLElBQUksRUFBRSxDQUNKO0FBQ0VDLElBQUFBLEVBQUUsRUFBRSxDQUROO0FBRUVDLElBQUFBLEtBQUssRUFBRSxLQUZUO0FBR0VDLElBQUFBLElBQUksRUFBRTtBQUhSLEdBREksRUFNSjtBQUNFRixJQUFBQSxFQUFFLEVBQUUsQ0FETjtBQUVFQyxJQUFBQSxLQUFLLEVBQUUsS0FGVDtBQUdFQyxJQUFBQSxJQUFJLEVBQUU7QUFIUixHQU5JO0FBRE0sQ0FBZDtBQWVBQyxRQUFRLENBQUMsZUFBRCxFQUFrQixZQUFNO0FBQzlCQSxFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJDLElBQUFBLEVBQUUsQ0FBQyx5QkFBRCxFQUE0QixZQUFNO0FBQ2xDLFVBQU1DLE9BQU8sR0FBRyxtQ0FBUSxnQ0FBQyx3QkFBRDtBQUFjLFFBQUEsSUFBSSxFQUFFUCxLQUFLLENBQUNDO0FBQTFCLFFBQVIsQ0FBaEI7QUFDQU8sTUFBQUEsTUFBTSxDQUFDRCxPQUFELENBQU4sQ0FBZ0JFLGVBQWhCO0FBQ0QsS0FIQyxDQUFGO0FBSUQsR0FMTyxDQUFSO0FBTUQsQ0FQTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTdGltdWx1c1RhYnMgZnJvbSAnLi4vc3RpbXVsdXMtdGFicyc7XG5pbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcblxuY29uc3QgcHJvcHMgPSB7XG4gIHRhYnM6IFtcbiAgICB7XG4gICAgICBpZDogMSxcbiAgICAgIHRpdGxlOiAnb25lJyxcbiAgICAgIHRleHQ6ICd0ZXh0IGZvciBvbmUnLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDIsXG4gICAgICB0aXRsZTogJ3R3bycsXG4gICAgICB0ZXh0OiAndGV4dCBmb3IgdHdvJyxcbiAgICB9LFxuICBdLFxufTtcblxuZGVzY3JpYmUoJ3N0aW11bHVzIHRhYnMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJlbmRlciBjb21wb25lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gc2hhbGxvdyg8U3RpbXVsdXNUYWJzIHRhYnM9e3Byb3BzLnRhYnN9IC8+KTtcbiAgICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
package/module/demo.js DELETED
@@ -1,63 +0,0 @@
1
- import Element from './element.js';
2
-
3
- var generate = {};
4
-
5
- generate.model = (id, element) => ({
6
- id,
7
- element,
8
- passages: [
9
- {
10
- title: 'Hope Is the Thing with Feathers',
11
- text: '<p><font style="visibility:hidden">00000</font>Hope is the thing with feathers<br /><font style="visibility:hidden">00000</font>That perches in the soul,<br /><font style="visibility:hidden">00000</font>And sings the tune without the words,<br /><font style="visibility:hidden">00000</font>And never stops at all,</p><p>5<font style="visibility:hidden">0000</font>And sweetest in the gale is heard;<br /><font style="visibility:hidden">00000</font>And sore must be the storm<br /><font style="visibility:hidden">00000</font>That could abash the little bird<br /><font style="visibility:hidden">00000</font>That kept so many warm.</p><p><font style="visibility:hidden">00000</font>I&#8217;ve heard it in the chillest land,<br />10<font style="visibility:hidden">000</font>And on the strangest sea;<br /><font style="visibility:hidden">00000</font>Yet, never, in extremity,<br /><font style="visibility:hidden">00000</font>It asked a crumb of me.</p><p><span class="no-number">&#34;Hope is the Thing With Feathers&#34; by Emily Dickinson, from <em>The Complete Poems of Emily Dickinson</em>. In the public domain.</span></p>',
12
- },
13
- {
14
- title: 'Ineskeen Road, July Evening',
15
- text: `The bicycles go by in twos and threes -<br/>
16
- There's a dance in Billy Brennan's barn tonight,<br/>
17
- And there's the half-talk code of mysteries<br/>
18
- And the wink-and-elbow language of delight.<br/>
19
- Half-past eight and there is not a spot<br/>
20
- Upon a mile of road, no shadow thrown<br/>
21
- That might turn out a man or woman, not<br/>
22
- A footfall tapping secrecies of stone. <br/>
23
- <p/>
24
- I have what every poet hates in spite<br/>
25
- Of all the solemn talk of contemplation.<br/>
26
- Oh, Alexander Selkirk knew the plight<br/>
27
- Of being king and government and nation.<br/>
28
- A road, a mile of kingdom. I am king<br/>
29
- Of banks and stones and every blooming thing.<br/>
30
- `,
31
- },
32
- ],
33
- });
34
-
35
- const { model } = generate;
36
-
37
- var config = {
38
- elements: {
39
- 'passage-element': '../..',
40
- },
41
- models: [model('1', 'passage-element')],
42
- };
43
-
44
- // configure
45
- class Configure extends HTMLElement{}
46
-
47
-
48
- // controller
49
- const controller = {
50
- model: (q) => Promise.resolve(q),
51
- outcome: (q) => Promise.resolve(q)
52
- };
53
-
54
-
55
- //Note: demo-el is a custom element loaded in the markup.
56
- customElements.whenDefined("demo-el").then(() => {
57
- config.models.forEach((m) => {
58
- const de = document.createElement("demo-el");
59
- document.body.appendChild(de);
60
- de.def = { tagName: m.element, Element, Configure, controller };
61
- de.model = m;
62
- });
63
- });
package/module/element.js DELETED
@@ -1,369 +0,0 @@
1
- import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_pie_lib__pie_toolbox_render_ui, _dll_classnames, _dll_react_dom} from "../../../@pie-lib/pie-toolbox-module@1.3.3/module/index.js";
2
- var lib = {};
3
- Object.defineProperty(lib, "__esModule", {
4
- value: true
5
- });
6
- class ModelSetEvent extends CustomEvent {
7
- constructor(component, complete, hasModel) {
8
- super(ModelSetEvent.TYPE, {
9
- bubbles: true,
10
- composed: true,
11
- detail: {
12
- complete,
13
- component,
14
- hasModel
15
- }
16
- });
17
- this.component = component;
18
- this.complete = complete;
19
- }
20
- }
21
- ModelSetEvent.TYPE = 'model-set';
22
- var ModelSetEvent_1 = lib.ModelSetEvent = ModelSetEvent;
23
- class SessionChangedEvent extends CustomEvent {
24
- constructor(component, complete) {
25
- super(SessionChangedEvent.TYPE, {
26
- bubbles: true,
27
- composed: true,
28
- detail: {
29
- complete,
30
- component
31
- }
32
- });
33
- this.component = component;
34
- this.complete = complete;
35
- }
36
- }
37
- SessionChangedEvent.TYPE = 'session-changed';
38
- lib.SessionChangedEvent = SessionChangedEvent;
39
- const React$1 = _dll_react;
40
- const PropTypes = _dll_prop_types;
41
- const {Tabs: Tabs} = _dll_material_ui__core;
42
- const {Tab: Tab} = _dll_material_ui__core;
43
- const {withStyles: withStyles} = _dll_material_ui__core_styles;
44
- const {color: color} = _dll_pie_lib__pie_toolbox_render_ui;
45
- const {Purpose: Purpose} = _dll_pie_lib__pie_toolbox_render_ui;
46
- const classNames = _dll_classnames;
47
- const _jsxFileName = "/Users/andreeapescar/WORK/pie/pie-elements/packages/passage/src/stimulus-tabs.jsx";
48
- const styles = theme => ({
49
- root: {
50
- flexGrow: 1,
51
- backgroundColor: color.background(),
52
- color: color.text()
53
- },
54
- tab: {
55
- backgroundColor: color.background(),
56
- fontSize: 'inherit'
57
- },
58
- stickyTabs: {
59
- background: color.background(),
60
- position: 'sticky',
61
- top: 0
62
- },
63
- title: {
64
- textTransform: 'uppercase',
65
- padding: `${theme.spacing.unit}px ${theme.spacing.unit * 3}px`,
66
- borderBottom: `2px solid ${color.secondary()}`,
67
- width: 'fit-content',
68
- marginBottom: theme.spacing.unit
69
- },
70
- buttonContainer: {
71
- background: color.background()
72
- },
73
- tabContainer: {
74
- backgroundColor: color.background(),
75
- color: color.text(),
76
- padding: theme.spacing.unit * 2
77
- },
78
- breakSpaces: {
79
- whiteSpace: 'break-spaces'
80
- }
81
- });
82
- class StimulusTabs extends React$1.Component {
83
- constructor(...args) {
84
- super(...args);
85
- StimulusTabs.prototype.__init.call(this);
86
- StimulusTabs.prototype.__init2.call(this);
87
- StimulusTabs.prototype.__init3.call(this);
88
- StimulusTabs.prototype.__init4.call(this);
89
- }
90
- __init() {
91
- this.state = {
92
- activeTab: 0
93
- };
94
- }
95
- __init2() {
96
- this.handleChange = (event, activeTab) => {
97
- this.setState(() => ({
98
- activeTab
99
- }));
100
- setTimeout(() => {
101
- const tabChangeEvent = new CustomEvent('pie-ui-passage-tabChanged', {
102
- detail: {
103
- tab: activeTab
104
- }
105
- });
106
- window.dispatchEvent(tabChangeEvent);
107
- });
108
- };
109
- }
110
- __init3() {
111
- this.handleKeyDown = (event, currentTabId) => {
112
- const {key} = event;
113
- const {tabs} = this.props;
114
- let newTabIndex = -1;
115
- const currentIndex = tabs.findIndex(tab => tab.id === currentTabId);
116
- switch (key) {
117
- case 'ArrowRight':
118
- case 'ArrowDown':
119
- newTabIndex = (currentIndex + 1) % tabs.length;
120
- break;
121
- case 'ArrowLeft':
122
- case 'ArrowUp':
123
- newTabIndex = (currentIndex - 1 + tabs.length) % tabs.length;
124
- break;
125
- case 'Home':
126
- newTabIndex = 0;
127
- break;
128
- case 'End':
129
- newTabIndex = tabs.length - 1;
130
- break;
131
- case 'Enter':
132
- case ' ':
133
- newTabIndex = currentIndex;
134
- break;
135
- }
136
- if (newTabIndex !== -1) {
137
- event.preventDefault();
138
- this.handleChange(event, tabs[newTabIndex].id);
139
- }
140
- };
141
- }
142
- __init4() {
143
- this.parsedText = text => {
144
- const div = document.createElement('div');
145
- div.innerHTML = text.replace(/(<br\/>\n)/g, '<br/>');
146
- const audio = div.querySelector('audio');
147
- if (audio) {
148
- const source = document.createElement('source');
149
- source.setAttribute('type', 'audio/mp3');
150
- source.setAttribute('src', audio.getAttribute('src'));
151
- audio.removeAttribute('src');
152
- audio.appendChild(source);
153
- }
154
- return div.innerHTML;
155
- };
156
- }
157
- render() {
158
- const {classes, tabs, disabledTabs} = this.props;
159
- const {activeTab} = this.state;
160
- if (tabs && tabs.length > 1) {
161
- return disabledTabs ? React$1.createElement('div', {
162
- className: classNames(classes.root, 'passages'),
163
- __self: this,
164
- __source: {
165
- fileName: _jsxFileName,
166
- lineNumber: 123
167
- }
168
- }, tabs.map(tab => React$1.createElement('div', {
169
- key: tab.id,
170
- className: `passage-${tab.id}`,
171
- id: `tabpanel-${tab.id}`,
172
- 'aria-labelledby': `tab-${tab.id}`,
173
- 'aria-controls': `tabpanel-${tab.id}`,
174
- tabIndex: "0",
175
- __self: this,
176
- __source: {
177
- fileName: _jsxFileName,
178
- lineNumber: 125
179
- }
180
- }, React$1.createElement('div', {
181
- className: classes.tabContainer,
182
- id: `tabpanel-${tab.id}`,
183
- role: "tabpanel",
184
- 'aria-labelledby': `button-${tab.id}`,
185
- __self: this,
186
- __source: {
187
- fileName: _jsxFileName,
188
- lineNumber: 133
189
- }
190
- }, React$1.createElement('div', {
191
- className: classNames(classes.title, 'title'),
192
- dangerouslySetInnerHTML: {
193
- __html: this.parsedText(tab.title)
194
- },
195
- __self: this,
196
- __source: {
197
- fileName: _jsxFileName,
198
- lineNumber: 139
199
- }
200
- }), React$1.createElement(Purpose, {
201
- purpose: "passage-text",
202
- __self: this,
203
- __source: {
204
- fileName: _jsxFileName,
205
- lineNumber: 143
206
- }
207
- }, React$1.createElement('div', {
208
- className: "text",
209
- key: tab.id,
210
- dangerouslySetInnerHTML: {
211
- __html: this.parsedText(tab.text)
212
- },
213
- __self: this,
214
- __source: {
215
- fileName: _jsxFileName,
216
- lineNumber: 144
217
- }
218
- })))))) : React$1.createElement('div', {
219
- className: classNames(classes.root, 'passages'),
220
- __self: this,
221
- __source: {
222
- fileName: _jsxFileName,
223
- lineNumber: 151
224
- }
225
- }, React$1.createElement(Tabs, {
226
- classes: {
227
- root: classes.stickyTabs,
228
- flexContainer: classes.buttonContainer
229
- },
230
- value: activeTab,
231
- onChange: this.handleChange,
232
- __self: this,
233
- __source: {
234
- fileName: _jsxFileName,
235
- lineNumber: 152
236
- }
237
- }, tabs.map(tab => React$1.createElement(Tab, {
238
- className: classes.tab,
239
- key: tab.id,
240
- id: `button-${tab.id}`,
241
- label: React$1.createElement(Purpose, {
242
- purpose: "passage-title",
243
- __self: this,
244
- __source: {
245
- fileName: _jsxFileName,
246
- lineNumber: 166
247
- }
248
- }, React$1.createElement('span', {
249
- dangerouslySetInnerHTML: {
250
- __html: this.parsedText(tab.title)
251
- },
252
- __self: this,
253
- __source: {
254
- fileName: _jsxFileName,
255
- lineNumber: 167
256
- }
257
- })),
258
- value: tab.id,
259
- tabIndex: activeTab === tab.id ? 0 : -1,
260
- 'aria-controls': `tabpanel-${tab.id}`,
261
- 'aria-selected': activeTab === tab.id,
262
- onFocus: () => this.handleChange(null, tab.id),
263
- onKeyDown: event => this.handleKeyDown(event, tab.id),
264
- __self: this,
265
- __source: {
266
- fileName: _jsxFileName,
267
- lineNumber: 161
268
- }
269
- }))), tabs.map(tab => activeTab === tab.id ? React$1.createElement('div', {
270
- className: classes.tabContainer,
271
- key: tab.id,
272
- id: `tabpanel-${tab.id}`,
273
- role: "tabpanel",
274
- 'aria-labelledby': `button-${tab.id}`,
275
- __self: this,
276
- __source: {
277
- fileName: _jsxFileName,
278
- lineNumber: 182
279
- }
280
- }, React$1.createElement(Purpose, {
281
- purpose: "passage-text",
282
- __self: this,
283
- __source: {
284
- fileName: _jsxFileName,
285
- lineNumber: 189
286
- }
287
- }, React$1.createElement('div', {
288
- key: tab.id,
289
- dangerouslySetInnerHTML: {
290
- __html: this.parsedText(tab.text)
291
- },
292
- __self: this,
293
- __source: {
294
- fileName: _jsxFileName,
295
- lineNumber: 190
296
- }
297
- }))) : null));
298
- } else if (tabs && tabs[0]) {
299
- return React$1.createElement('div', {
300
- className: classNames(classes.root, classes.tabContainer, classes.breakSpaces, 'passage'),
301
- __self: this,
302
- __source: {
303
- fileName: _jsxFileName,
304
- lineNumber: 199
305
- }
306
- }, React$1.createElement('div', {
307
- className: "text",
308
- dangerouslySetInnerHTML: {
309
- __html: this.parsedText(tabs[0].text)
310
- },
311
- __self: this,
312
- __source: {
313
- fileName: _jsxFileName,
314
- lineNumber: 200
315
- }
316
- }));
317
- }
318
- }
319
- }
320
- StimulusTabs.propTypes = {
321
- classes: PropTypes.object.isRequired,
322
- tabs: PropTypes.arrayOf(PropTypes.shape({
323
- id: PropTypes.number.isRequired,
324
- title: PropTypes.string.isRequired,
325
- text: PropTypes.string.isRequired
326
- }).isRequired).isRequired,
327
- disabledTabs: PropTypes.bool
328
- };
329
- var StimulusTabs$1 = withStyles(styles)(StimulusTabs);
330
- const React = _dll_react;
331
- const ReactDOM = _dll_react_dom;
332
- class PiePassage extends HTMLElement {
333
- constructor() {
334
- super();
335
- this._model = {
336
- passages: []
337
- };
338
- this._session = null;
339
- }
340
- set model(s) {
341
- this._model = s;
342
- this.dispatchEvent(new ModelSetEvent_1(this.tagName.toLowerCase(), this._session, !!this._model));
343
- this._render();
344
- }
345
- set session(s) {
346
- this._session = s;
347
- }
348
- connectedCallback() {
349
- this.setAttribute('aria-label', 'Passage');
350
- this.setAttribute('role', 'region');
351
- this._render();
352
- }
353
- _render() {
354
- if (this._model.passages.length > 0) {
355
- const passagesTabs = this._model.passages.map((passage, index) => {
356
- return {
357
- id: index,
358
- title: passage.title,
359
- text: passage.text
360
- };
361
- });
362
- let elem = React.createElement(StimulusTabs$1, {
363
- tabs: passagesTabs
364
- });
365
- ReactDOM.render(elem, this);
366
- }
367
- }
368
- }
369
- export {PiePassage as default};
package/module/index.html DELETED
@@ -1,21 +0,0 @@
1
-
2
- <!doctype html>
3
- <html>
4
- <head>
5
- <title>@pie-element/passage@2.1.0</title>
6
- <script
7
- type="module"
8
- src="https://cdn.jsdelivr.net/npm/@pslb/demo-el@^1.0.0/dist/demo-el/demo-el.esm.js"></script>
9
-
10
- <link
11
- href="https://fonts.googleapis.com/css?family=Roboto&display=swap"
12
- rel="stylesheet"
13
- />
14
- <style>
15
- html, body {
16
- font-family: 'Roboto', sans-serif;
17
- }
18
- </style>
19
- <script type="module" src="./demo.js"></script>
20
- </head>
21
- </html>
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@pie-element/passage",
3
- "version": "2.1.0",
4
- "modules": [
5
- {
6
- "name": "@pie-lib/pie-toolbox-module",
7
- "version": "1.3.3"
8
- }
9
- ]
10
- }
@@ -1,92 +0,0 @@
1
- import PrintElement from './print.js';
2
-
3
- var generate = {};
4
-
5
- generate.model = (id, element) => ({
6
- id,
7
- element,
8
- passages: [
9
- {
10
- title: 'Hope Is the Thing with Feathers',
11
- text: '<p><font style="visibility:hidden">00000</font>Hope is the thing with feathers<br /><font style="visibility:hidden">00000</font>That perches in the soul,<br /><font style="visibility:hidden">00000</font>And sings the tune without the words,<br /><font style="visibility:hidden">00000</font>And never stops at all,</p><p>5<font style="visibility:hidden">0000</font>And sweetest in the gale is heard;<br /><font style="visibility:hidden">00000</font>And sore must be the storm<br /><font style="visibility:hidden">00000</font>That could abash the little bird<br /><font style="visibility:hidden">00000</font>That kept so many warm.</p><p><font style="visibility:hidden">00000</font>I&#8217;ve heard it in the chillest land,<br />10<font style="visibility:hidden">000</font>And on the strangest sea;<br /><font style="visibility:hidden">00000</font>Yet, never, in extremity,<br /><font style="visibility:hidden">00000</font>It asked a crumb of me.</p><p><span class="no-number">&#34;Hope is the Thing With Feathers&#34; by Emily Dickinson, from <em>The Complete Poems of Emily Dickinson</em>. In the public domain.</span></p>',
12
- },
13
- {
14
- title: 'Ineskeen Road, July Evening',
15
- text: `The bicycles go by in twos and threes -<br/>
16
- There's a dance in Billy Brennan's barn tonight,<br/>
17
- And there's the half-talk code of mysteries<br/>
18
- And the wink-and-elbow language of delight.<br/>
19
- Half-past eight and there is not a spot<br/>
20
- Upon a mile of road, no shadow thrown<br/>
21
- That might turn out a man or woman, not<br/>
22
- A footfall tapping secrecies of stone. <br/>
23
- <p/>
24
- I have what every poet hates in spite<br/>
25
- Of all the solemn talk of contemplation.<br/>
26
- Oh, Alexander Selkirk knew the plight<br/>
27
- Of being king and government and nation.<br/>
28
- A road, a mile of kingdom. I am king<br/>
29
- Of banks and stones and every blooming thing.<br/>
30
- `,
31
- },
32
- ],
33
- });
34
-
35
- const { model } = generate;
36
-
37
- var config = {
38
- elements: {
39
- 'passage-element': '../..',
40
- },
41
- models: [model('1', 'passage-element')],
42
- };
43
-
44
- // new init - just shows off print!
45
-
46
- const init = async () => {
47
- console.log('define the element...');
48
- await Promise.all(
49
- config.models.map(async (m) => {
50
- try {
51
- const printTag = `${m.element}-print`;
52
- if (customElements.get(printTag)) {
53
- return true;
54
- } else {
55
- customElements.define(printTag, PrintElement);
56
- await customElements.whenDefined(printTag);
57
- return true;
58
- }
59
- } catch (e) {
60
- return false;
61
- }
62
- })
63
- );
64
-
65
- console.log('now apply the model...');
66
- config.models.forEach((m) => {
67
- const printTag = `${m.element}-print`;
68
- const h3s = document.createElement('h3');
69
- h3s.textContent = 'student mode';
70
- document.body.appendChild(h3s);
71
- const de = document.createElement(printTag);
72
- document.body.appendChild(de);
73
- de.options = {};
74
- de.model = m;
75
-
76
- const h3 = document.createElement('h3');
77
- h3.textContent = 'instructor mode';
78
- document.body.appendChild(h3);
79
- const instr = document.createElement(printTag);
80
- document.body.appendChild(instr);
81
- instr.options = { mode: 'instructor' };
82
- instr.model = JSON.parse(JSON.stringify(m));
83
- });
84
- };
85
-
86
- init()
87
- .then(() => {
88
- console.log('ready');
89
- })
90
- .catch((e) => {
91
- console.error(e);
92
- });
package/module/print.html DELETED
@@ -1,18 +0,0 @@
1
-
2
- <!doctype html>
3
- <html>
4
- <head>
5
- <title>@pie-element/passage@2.1.0</title>
6
- <link
7
- href="https://fonts.googleapis.com/css?family=Roboto&display=swap"
8
- rel="stylesheet"
9
- />
10
- <style>
11
- html, body {
12
- font-family: 'Roboto', sans-serif;
13
- }
14
- </style>
15
- <script type="module" src="./print-demo.js"></script>
16
- </head>
17
- <body></body>
18
- </html>
package/module/print.js DELETED
@@ -1,334 +0,0 @@
1
- import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_pie_lib__pie_toolbox_render_ui, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug} from "../../../@pie-lib/pie-toolbox-module@1.3.3/module/index.js";
2
- const React$1 = _dll_react;
3
- const PropTypes = _dll_prop_types;
4
- const {Tabs: Tabs} = _dll_material_ui__core;
5
- const {Tab: Tab} = _dll_material_ui__core;
6
- const {withStyles: withStyles} = _dll_material_ui__core_styles;
7
- const {color: color} = _dll_pie_lib__pie_toolbox_render_ui;
8
- const {Purpose: Purpose} = _dll_pie_lib__pie_toolbox_render_ui;
9
- const classNames = _dll_classnames;
10
- const _jsxFileName = "/Users/andreeapescar/WORK/pie/pie-elements/packages/passage/src/stimulus-tabs.jsx";
11
- const styles = theme => ({
12
- root: {
13
- flexGrow: 1,
14
- backgroundColor: color.background(),
15
- color: color.text()
16
- },
17
- tab: {
18
- backgroundColor: color.background(),
19
- fontSize: 'inherit'
20
- },
21
- stickyTabs: {
22
- background: color.background(),
23
- position: 'sticky',
24
- top: 0
25
- },
26
- title: {
27
- textTransform: 'uppercase',
28
- padding: `${theme.spacing.unit}px ${theme.spacing.unit * 3}px`,
29
- borderBottom: `2px solid ${color.secondary()}`,
30
- width: 'fit-content',
31
- marginBottom: theme.spacing.unit
32
- },
33
- buttonContainer: {
34
- background: color.background()
35
- },
36
- tabContainer: {
37
- backgroundColor: color.background(),
38
- color: color.text(),
39
- padding: theme.spacing.unit * 2
40
- },
41
- breakSpaces: {
42
- whiteSpace: 'break-spaces'
43
- }
44
- });
45
- class StimulusTabs extends React$1.Component {
46
- constructor(...args) {
47
- super(...args);
48
- StimulusTabs.prototype.__init.call(this);
49
- StimulusTabs.prototype.__init2.call(this);
50
- StimulusTabs.prototype.__init3.call(this);
51
- StimulusTabs.prototype.__init4.call(this);
52
- }
53
- __init() {
54
- this.state = {
55
- activeTab: 0
56
- };
57
- }
58
- __init2() {
59
- this.handleChange = (event, activeTab) => {
60
- this.setState(() => ({
61
- activeTab
62
- }));
63
- setTimeout(() => {
64
- const tabChangeEvent = new CustomEvent('pie-ui-passage-tabChanged', {
65
- detail: {
66
- tab: activeTab
67
- }
68
- });
69
- window.dispatchEvent(tabChangeEvent);
70
- });
71
- };
72
- }
73
- __init3() {
74
- this.handleKeyDown = (event, currentTabId) => {
75
- const {key} = event;
76
- const {tabs} = this.props;
77
- let newTabIndex = -1;
78
- const currentIndex = tabs.findIndex(tab => tab.id === currentTabId);
79
- switch (key) {
80
- case 'ArrowRight':
81
- case 'ArrowDown':
82
- newTabIndex = (currentIndex + 1) % tabs.length;
83
- break;
84
- case 'ArrowLeft':
85
- case 'ArrowUp':
86
- newTabIndex = (currentIndex - 1 + tabs.length) % tabs.length;
87
- break;
88
- case 'Home':
89
- newTabIndex = 0;
90
- break;
91
- case 'End':
92
- newTabIndex = tabs.length - 1;
93
- break;
94
- case 'Enter':
95
- case ' ':
96
- newTabIndex = currentIndex;
97
- break;
98
- }
99
- if (newTabIndex !== -1) {
100
- event.preventDefault();
101
- this.handleChange(event, tabs[newTabIndex].id);
102
- }
103
- };
104
- }
105
- __init4() {
106
- this.parsedText = text => {
107
- const div = document.createElement('div');
108
- div.innerHTML = text.replace(/(<br\/>\n)/g, '<br/>');
109
- const audio = div.querySelector('audio');
110
- if (audio) {
111
- const source = document.createElement('source');
112
- source.setAttribute('type', 'audio/mp3');
113
- source.setAttribute('src', audio.getAttribute('src'));
114
- audio.removeAttribute('src');
115
- audio.appendChild(source);
116
- }
117
- return div.innerHTML;
118
- };
119
- }
120
- render() {
121
- const {classes, tabs, disabledTabs} = this.props;
122
- const {activeTab} = this.state;
123
- if (tabs && tabs.length > 1) {
124
- return disabledTabs ? React$1.createElement('div', {
125
- className: classNames(classes.root, 'passages'),
126
- __self: this,
127
- __source: {
128
- fileName: _jsxFileName,
129
- lineNumber: 123
130
- }
131
- }, tabs.map(tab => React$1.createElement('div', {
132
- key: tab.id,
133
- className: `passage-${tab.id}`,
134
- id: `tabpanel-${tab.id}`,
135
- 'aria-labelledby': `tab-${tab.id}`,
136
- 'aria-controls': `tabpanel-${tab.id}`,
137
- tabIndex: "0",
138
- __self: this,
139
- __source: {
140
- fileName: _jsxFileName,
141
- lineNumber: 125
142
- }
143
- }, React$1.createElement('div', {
144
- className: classes.tabContainer,
145
- id: `tabpanel-${tab.id}`,
146
- role: "tabpanel",
147
- 'aria-labelledby': `button-${tab.id}`,
148
- __self: this,
149
- __source: {
150
- fileName: _jsxFileName,
151
- lineNumber: 133
152
- }
153
- }, React$1.createElement('div', {
154
- className: classNames(classes.title, 'title'),
155
- dangerouslySetInnerHTML: {
156
- __html: this.parsedText(tab.title)
157
- },
158
- __self: this,
159
- __source: {
160
- fileName: _jsxFileName,
161
- lineNumber: 139
162
- }
163
- }), React$1.createElement(Purpose, {
164
- purpose: "passage-text",
165
- __self: this,
166
- __source: {
167
- fileName: _jsxFileName,
168
- lineNumber: 143
169
- }
170
- }, React$1.createElement('div', {
171
- className: "text",
172
- key: tab.id,
173
- dangerouslySetInnerHTML: {
174
- __html: this.parsedText(tab.text)
175
- },
176
- __self: this,
177
- __source: {
178
- fileName: _jsxFileName,
179
- lineNumber: 144
180
- }
181
- })))))) : React$1.createElement('div', {
182
- className: classNames(classes.root, 'passages'),
183
- __self: this,
184
- __source: {
185
- fileName: _jsxFileName,
186
- lineNumber: 151
187
- }
188
- }, React$1.createElement(Tabs, {
189
- classes: {
190
- root: classes.stickyTabs,
191
- flexContainer: classes.buttonContainer
192
- },
193
- value: activeTab,
194
- onChange: this.handleChange,
195
- __self: this,
196
- __source: {
197
- fileName: _jsxFileName,
198
- lineNumber: 152
199
- }
200
- }, tabs.map(tab => React$1.createElement(Tab, {
201
- className: classes.tab,
202
- key: tab.id,
203
- id: `button-${tab.id}`,
204
- label: React$1.createElement(Purpose, {
205
- purpose: "passage-title",
206
- __self: this,
207
- __source: {
208
- fileName: _jsxFileName,
209
- lineNumber: 166
210
- }
211
- }, React$1.createElement('span', {
212
- dangerouslySetInnerHTML: {
213
- __html: this.parsedText(tab.title)
214
- },
215
- __self: this,
216
- __source: {
217
- fileName: _jsxFileName,
218
- lineNumber: 167
219
- }
220
- })),
221
- value: tab.id,
222
- tabIndex: activeTab === tab.id ? 0 : -1,
223
- 'aria-controls': `tabpanel-${tab.id}`,
224
- 'aria-selected': activeTab === tab.id,
225
- onFocus: () => this.handleChange(null, tab.id),
226
- onKeyDown: event => this.handleKeyDown(event, tab.id),
227
- __self: this,
228
- __source: {
229
- fileName: _jsxFileName,
230
- lineNumber: 161
231
- }
232
- }))), tabs.map(tab => activeTab === tab.id ? React$1.createElement('div', {
233
- className: classes.tabContainer,
234
- key: tab.id,
235
- id: `tabpanel-${tab.id}`,
236
- role: "tabpanel",
237
- 'aria-labelledby': `button-${tab.id}`,
238
- __self: this,
239
- __source: {
240
- fileName: _jsxFileName,
241
- lineNumber: 182
242
- }
243
- }, React$1.createElement(Purpose, {
244
- purpose: "passage-text",
245
- __self: this,
246
- __source: {
247
- fileName: _jsxFileName,
248
- lineNumber: 189
249
- }
250
- }, React$1.createElement('div', {
251
- key: tab.id,
252
- dangerouslySetInnerHTML: {
253
- __html: this.parsedText(tab.text)
254
- },
255
- __self: this,
256
- __source: {
257
- fileName: _jsxFileName,
258
- lineNumber: 190
259
- }
260
- }))) : null));
261
- } else if (tabs && tabs[0]) {
262
- return React$1.createElement('div', {
263
- className: classNames(classes.root, classes.tabContainer, classes.breakSpaces, 'passage'),
264
- __self: this,
265
- __source: {
266
- fileName: _jsxFileName,
267
- lineNumber: 199
268
- }
269
- }, React$1.createElement('div', {
270
- className: "text",
271
- dangerouslySetInnerHTML: {
272
- __html: this.parsedText(tabs[0].text)
273
- },
274
- __self: this,
275
- __source: {
276
- fileName: _jsxFileName,
277
- lineNumber: 200
278
- }
279
- }));
280
- }
281
- }
282
- }
283
- StimulusTabs.propTypes = {
284
- classes: PropTypes.object.isRequired,
285
- tabs: PropTypes.arrayOf(PropTypes.shape({
286
- id: PropTypes.number.isRequired,
287
- title: PropTypes.string.isRequired,
288
- text: PropTypes.string.isRequired
289
- }).isRequired).isRequired,
290
- disabledTabs: PropTypes.bool
291
- };
292
- var StimulusTabs$1 = withStyles(styles)(StimulusTabs);
293
- const React = _dll_react;
294
- const ReactDOM = _dll_react_dom;
295
- const {debounce: debounce} = _dll_lodash;
296
- const debug = _dll_debug;
297
- const log = debug('pie-element:passage:print');
298
- const preparePrintPassage = model => model.passages.map((passage, index) => {
299
- return {
300
- id: index,
301
- title: passage.title,
302
- text: passage.text
303
- };
304
- });
305
- class PassagePrint extends HTMLElement {
306
- constructor() {
307
- super();
308
- this._model = null;
309
- this._session = [];
310
- this._rerender = debounce(() => {
311
- if (this._model && this._session) {
312
- if (this._model.passages && this._model.passages.length > 0) {
313
- const printPassage = preparePrintPassage(this._model);
314
- const element = React.createElement(StimulusTabs$1, {
315
- tabs: printPassage,
316
- disabledTabs: true
317
- });
318
- ReactDOM.render(element, this);
319
- }
320
- } else {
321
- log('skip');
322
- }
323
- }, 50, {
324
- leading: false,
325
- trailing: true
326
- });
327
- }
328
- set model(s) {
329
- this._model = s;
330
- this._rerender();
331
- }
332
- connectedCallback() {}
333
- }
334
- export {PassagePrint as default};