@pie-element/passage 1.8.0 → 1.8.1-beta.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/passage",
3
- "version": "1.8.0",
3
+ "version": "1.8.1-beta.1+73223f303",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,13 +11,13 @@
11
11
  "dependencies": {
12
12
  "@material-ui/core": "^3.9.2",
13
13
  "@pie-framework/pie-player-events": "^0.1.0",
14
- "@pie-lib/render-ui": "^4.13.7",
14
+ "@pie-lib/render-ui": "^4.14.12",
15
15
  "classnames": "^2.2.5",
16
16
  "prop-types": "^15.6.1",
17
17
  "react": "^16.8.1",
18
18
  "react-dom": "^16.8.1"
19
19
  },
20
- "gitHead": "ea585c97e62305de26d52c407ce2f15607d03932",
20
+ "gitHead": "73223f303ea31ca510b096d77e6fb06382b0f0c6",
21
21
  "scripts": {
22
22
  "postpublish": "../../scripts/postpublish"
23
23
  },
package/lib/index.js DELETED
@@ -1,93 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
21
-
22
- var _piePlayerEvents = require("@pie-framework/pie-player-events");
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _reactDom = _interopRequireDefault(require("react-dom"));
27
-
28
- var _stimulusTabs = _interopRequireDefault(require("./stimulus-tabs"));
29
-
30
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
31
-
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
-
34
- var PiePassage = /*#__PURE__*/function (_HTMLElement) {
35
- (0, _inherits2["default"])(PiePassage, _HTMLElement);
36
-
37
- var _super = _createSuper(PiePassage);
38
-
39
- function PiePassage() {
40
- var _this;
41
-
42
- (0, _classCallCheck2["default"])(this, PiePassage);
43
- _this = _super.call(this);
44
- _this._model = {
45
- passages: []
46
- };
47
- _this._session = null;
48
- return _this;
49
- }
50
-
51
- (0, _createClass2["default"])(PiePassage, [{
52
- key: "model",
53
- set: function set(s) {
54
- this._model = s;
55
- this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this._session, !!this._model));
56
-
57
- this._render();
58
- }
59
- }, {
60
- key: "session",
61
- set: function set(s) {
62
- this._session = s;
63
- }
64
- }, {
65
- key: "connectedCallback",
66
- value: function connectedCallback() {
67
- this._render();
68
- }
69
- }, {
70
- key: "_render",
71
- value: function _render() {
72
- if (this._model.passages.length > 0) {
73
- var passagesTabs = this._model.passages.map(function (passage, index) {
74
- return {
75
- id: index,
76
- title: passage.title,
77
- text: passage.text
78
- };
79
- });
80
-
81
- var elem = /*#__PURE__*/_react["default"].createElement(_stimulusTabs["default"], {
82
- tabs: passagesTabs
83
- });
84
-
85
- _reactDom["default"].render(elem, this);
86
- }
87
- }
88
- }]);
89
- return PiePassage;
90
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
91
-
92
- exports["default"] = PiePassage;
93
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["PiePassage","_model","passages","_session","s","dispatchEvent","ModelSetEvent","tagName","toLowerCase","_render","length","passagesTabs","map","passage","index","id","title","text","elem","React","createElement","StimulusTabs","tabs","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IACqBA,U;;;;;AACnB,wBAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc;AACZC,MAAAA,QAAQ,EAAE;AADE,KAAd;AAGA,UAAKC,QAAL,GAAgB,IAAhB;AALY;AAMb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKH,MAAL,GAAcG,CAAd;AACA,WAAKC,aAAL,CAAmB,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKL,QAAnD,EAA6D,CAAC,CAAC,KAAKF,MAApE,CAAnB;;AAEA,WAAKQ,OAAL;AACD;;;SAED,aAAYL,CAAZ,EAAe;AACb,WAAKD,QAAL,GAAgBC,CAAhB;AACD;;;WAED,6BAAoB;AAClB,WAAKK,OAAL;AACD;;;WAED,mBAAU;AACR,UAAI,KAAKR,MAAL,CAAYC,QAAZ,CAAqBQ,MAArB,GAA8B,CAAlC,EAAqC;AACnC,YAAMC,YAAY,GAAG,KAAKV,MAAL,CAAYC,QAAZ,CAAqBU,GAArB,CAAyB,UAACC,OAAD,EAAUC,KAAV,EAAoB;AAChE,iBAAO;AACLC,YAAAA,EAAE,EAAED,KADC;AAELE,YAAAA,KAAK,EAAEH,OAAO,CAACG,KAFV;AAGLC,YAAAA,IAAI,EAAEJ,OAAO,CAACI;AAHT,WAAP;AAKD,SANoB,CAArB;;AAOA,YAAIC,IAAI,gBAAGC,kBAAMC,aAAN,CAAoBC,wBAApB,EAAkC;AAAEC,UAAAA,IAAI,EAAEX;AAAR,SAAlC,CAAX;;AACAY,6BAASC,MAAT,CAAgBN,IAAhB,EAAsB,IAAtB;AACD;AACF;;;kDApCqCO,W","sourcesContent":["import { ModelSetEvent } from '@pie-framework/pie-player-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport StimulusTabs from './stimulus-tabs';\nexport default class PiePassage extends HTMLElement {\n constructor() {\n super();\n this._model = {\n passages: [],\n };\n this._session = null;\n }\n\n set model(s) {\n this._model = s;\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), this._session, !!this._model));\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (this._model.passages.length > 0) {\n const passagesTabs = this._model.passages.map((passage, index) => {\n return {\n id: index,\n title: passage.title,\n text: passage.text,\n };\n });\n let elem = React.createElement(StimulusTabs, { tabs: passagesTabs });\n ReactDOM.render(elem, this);\n }\n }\n}\n"],"file":"index.js"}
package/lib/print.js DELETED
@@ -1,99 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _reactDom = _interopRequireDefault(require("react-dom"));
27
-
28
- var _debounce = _interopRequireDefault(require("lodash/debounce"));
29
-
30
- var _stimulusTabs = _interopRequireDefault(require("./stimulus-tabs"));
31
-
32
- var _debug = _interopRequireDefault(require("debug"));
33
-
34
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
-
36
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
-
38
- var log = (0, _debug["default"])('pie-element:passage:print');
39
-
40
- var preparePrintPassage = function preparePrintPassage(model) {
41
- return model.passages.map(function (passage, index) {
42
- return {
43
- id: index,
44
- title: passage.title,
45
- text: passage.text
46
- };
47
- });
48
- };
49
-
50
- var PassagePrint = /*#__PURE__*/function (_HTMLElement) {
51
- (0, _inherits2["default"])(PassagePrint, _HTMLElement);
52
-
53
- var _super = _createSuper(PassagePrint);
54
-
55
- function PassagePrint() {
56
- var _this;
57
-
58
- (0, _classCallCheck2["default"])(this, PassagePrint);
59
- _this = _super.call(this);
60
- _this._model = null;
61
- _this._session = [];
62
- _this._rerender = (0, _debounce["default"])(function () {
63
- if (_this._model && _this._session) {
64
- if (_this._model.passages && _this._model.passages.length > 0) {
65
- var printPassage = preparePrintPassage(_this._model);
66
-
67
- var element = /*#__PURE__*/_react["default"].createElement(_stimulusTabs["default"], {
68
- tabs: printPassage,
69
- disabledTabs: true
70
- });
71
-
72
- _reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this));
73
- }
74
- } else {
75
- log('skip');
76
- }
77
- }, 50, {
78
- leading: false,
79
- trailing: true
80
- });
81
- return _this;
82
- }
83
-
84
- (0, _createClass2["default"])(PassagePrint, [{
85
- key: "model",
86
- set: function set(s) {
87
- this._model = s;
88
-
89
- this._rerender();
90
- }
91
- }, {
92
- key: "connectedCallback",
93
- value: function connectedCallback() {}
94
- }]);
95
- return PassagePrint;
96
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
97
-
98
- exports["default"] = PassagePrint;
99
- //# sourceMappingURL=print.js.map
package/lib/print.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintPassage","model","passages","map","passage","index","id","title","text","PassagePrint","_model","_session","_rerender","length","printPassage","element","React","createElement","StimulusTabs","tabs","disabledTabs","ReactDOM","render","leading","trailing","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,2BAAN,CAAZ;;AAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD;AAAA,SAC1BA,KAAK,CAACC,QAAN,CAAeC,GAAf,CAAmB,UAACC,OAAD,EAAUC,KAAV,EAAoB;AACrC,WAAO;AACLC,MAAAA,EAAE,EAAED,KADC;AAELE,MAAAA,KAAK,EAAEH,OAAO,CAACG,KAFV;AAGLC,MAAAA,IAAI,EAAEJ,OAAO,CAACI;AAHT,KAAP;AAKD,GAND,CAD0B;AAAA,CAA5B;;IASqBC,Y;;;;;AACnB,0BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AAEA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKF,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAI,MAAKD,MAAL,CAAYR,QAAZ,IAAwB,MAAKQ,MAAL,CAAYR,QAAZ,CAAqBW,MAArB,GAA8B,CAA1D,EAA6D;AAC3D,cAAMC,YAAY,GAAGd,mBAAmB,CAAC,MAAKU,MAAN,CAAxC;;AAEA,cAAMK,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,wBAApB,EAAkC;AAAEC,YAAAA,IAAI,EAAEL,YAAR;AAAsBM,YAAAA,YAAY,EAAE;AAApC,WAAlC,CAAhB;;AAEAC,+BAASC,MAAT,CAAgBP,OAAhB;AACD;AACF,OARD,MAQO;AACLhB,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAbc,EAcf,EAde,EAef;AAAEwB,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KAfe,CAAjB;AALY;AAsBb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKf,MAAL,GAAce,CAAd;;AACA,WAAKb,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDA9BkBc,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport StimulusTabs from './stimulus-tabs';\nimport debug from 'debug';\n\nconst log = debug('pie-element:passage:print');\n\nconst preparePrintPassage = (model) =>\n model.passages.map((passage, index) => {\n return {\n id: index,\n title: passage.title,\n text: passage.text,\n };\n });\n\nexport default class PassagePrint extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = [];\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n if (this._model.passages && this._model.passages.length > 0) {\n const printPassage = preparePrintPassage(this._model);\n\n const element = React.createElement(StimulusTabs, { tabs: printPassage, disabledTabs: true });\n\n ReactDOM.render(element, this);\n }\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
@@ -1,246 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _Tabs = _interopRequireDefault(require("@material-ui/core/Tabs"));
29
-
30
- var _Tab = _interopRequireDefault(require("@material-ui/core/Tab"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
35
-
36
- var _renderUi = require("@pie-lib/render-ui");
37
-
38
- var _classnames = _interopRequireDefault(require("classnames"));
39
-
40
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
41
-
42
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
-
44
- var styles = function
45
- /*theme*/
46
- styles() {
47
- return {
48
- root: {
49
- flexGrow: 1,
50
- backgroundColor: _renderUi.color.background(),
51
- color: _renderUi.color.text()
52
- },
53
- tab: {
54
- fontSize: '0.8125em'
55
- },
56
- stickyTabs: {
57
- background: _renderUi.color.background(),
58
- paddingBottom: '20px',
59
- position: 'sticky',
60
- top: 0
61
- },
62
- title: {
63
- textTransform: 'uppercase',
64
- padding: '6px 24px',
65
- borderBottom: "2px solid ".concat(_renderUi.color.secondary()),
66
- width: 'fit-content',
67
- marginBottom: '6px'
68
- },
69
- buttonContainer: {
70
- background: 'white'
71
- }
72
- };
73
- };
74
-
75
- function TabContainer(props) {
76
- var padding = props.multiple ? '0 24px 24px 24px' : '24px';
77
- return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
78
- component: "div",
79
- style: {
80
- padding: padding,
81
- fontSize: '0.875em',
82
- backgroundColor: _renderUi.color.background(),
83
- color: _renderUi.color.text()
84
- }
85
- }, props.children);
86
- }
87
-
88
- TabContainer.propTypes = {
89
- children: _propTypes["default"].node.isRequired,
90
- multiple: _propTypes["default"].bool
91
- };
92
-
93
- var StimulusTabs = /*#__PURE__*/function (_React$Component) {
94
- (0, _inherits2["default"])(StimulusTabs, _React$Component);
95
-
96
- var _super = _createSuper(StimulusTabs);
97
-
98
- function StimulusTabs() {
99
- var _this;
100
-
101
- (0, _classCallCheck2["default"])(this, StimulusTabs);
102
-
103
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
104
- args[_key] = arguments[_key];
105
- }
106
-
107
- _this = _super.call.apply(_super, [this].concat(args));
108
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
109
- activeTab: 0
110
- });
111
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (event, activeTab) {
112
- _this.setState(function () {
113
- return {
114
- activeTab: activeTab
115
- };
116
- });
117
-
118
- setTimeout(function () {
119
- var tabChangeEvent = new CustomEvent('pie-ui-passage-tabChanged', {
120
- detail: {
121
- tab: activeTab
122
- }
123
- });
124
- window.dispatchEvent(tabChangeEvent);
125
- });
126
- });
127
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "parsedText", function (text) {
128
- // fix imported audio content for Safari PD-1391
129
- var div = document.createElement('div');
130
- div.innerHTML = text.replace(/(<br\/>\n)/g, '<br/>');
131
- var audio = div.querySelector('audio');
132
-
133
- if (audio) {
134
- var source = document.createElement('source');
135
- source.setAttribute('type', 'audio/mp3');
136
- source.setAttribute('src', audio.getAttribute('src'));
137
- audio.removeAttribute('src');
138
- audio.appendChild(source);
139
- }
140
-
141
- return div.innerHTML;
142
- });
143
- return _this;
144
- }
145
-
146
- (0, _createClass2["default"])(StimulusTabs, [{
147
- key: "render",
148
- value: function render() {
149
- var _this2 = this;
150
-
151
- var _this$props = this.props,
152
- classes = _this$props.classes,
153
- tabs = _this$props.tabs,
154
- disabledTabs = _this$props.disabledTabs;
155
- var activeTab = this.state.activeTab;
156
-
157
- if (tabs && tabs.length > 1) {
158
- return disabledTabs ? /*#__PURE__*/_react["default"].createElement("div", {
159
- className: "passages"
160
- }, tabs.map(function (tab) {
161
- return /*#__PURE__*/_react["default"].createElement("div", {
162
- key: tab.id,
163
- className: "passage-".concat(tab.id)
164
- }, /*#__PURE__*/_react["default"].createElement(TabContainer, {
165
- multiple: true
166
- }, /*#__PURE__*/_react["default"].createElement("div", {
167
- className: (0, _classnames["default"])(classes.title, 'title'),
168
- dangerouslySetInnerHTML: {
169
- __html: _this2.parsedText(tab.title)
170
- }
171
- }), /*#__PURE__*/_react["default"].createElement(_renderUi.Purpose, {
172
- purpose: "passage-text"
173
- }, /*#__PURE__*/_react["default"].createElement("div", {
174
- className: "text",
175
- key: tab.id,
176
- dangerouslySetInnerHTML: {
177
- __html: _this2.parsedText(tab.text)
178
- }
179
- }))));
180
- })) : /*#__PURE__*/_react["default"].createElement("div", {
181
- className: classes.root
182
- }, /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
183
- classes: {
184
- root: classes.stickyTabs,
185
- flexContainer: classes.buttonContainer
186
- },
187
- value: activeTab,
188
- onChange: this.handleChange
189
- }, tabs.map(function (tab) {
190
- return /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
191
- className: classes.tab,
192
- key: tab.id,
193
- label: /*#__PURE__*/_react["default"].createElement(_renderUi.Purpose, {
194
- purpose: "passage-title"
195
- }, /*#__PURE__*/_react["default"].createElement("span", {
196
- dangerouslySetInnerHTML: {
197
- __html: _this2.parsedText(tab.title)
198
- }
199
- })),
200
- value: tab.id
201
- });
202
- })), tabs.map(function (tab) {
203
- return activeTab === tab.id ? /*#__PURE__*/_react["default"].createElement(TabContainer, {
204
- multiple: true,
205
- key: tab.id
206
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.Purpose, {
207
- purpose: "passage-text"
208
- }, /*#__PURE__*/_react["default"].createElement("div", {
209
- key: tab.id,
210
- dangerouslySetInnerHTML: {
211
- __html: _this2.parsedText(tab.text)
212
- }
213
- }))) : null;
214
- }));
215
- } else if (tabs && tabs[0]) {
216
- return /*#__PURE__*/_react["default"].createElement("div", {
217
- className: "passage",
218
- style: {
219
- whiteSpace: 'break-spaces'
220
- }
221
- }, /*#__PURE__*/_react["default"].createElement(TabContainer, null, /*#__PURE__*/_react["default"].createElement("div", {
222
- className: "text",
223
- dangerouslySetInnerHTML: {
224
- __html: this.parsedText(tabs[0].text)
225
- }
226
- })));
227
- }
228
- }
229
- }]);
230
- return StimulusTabs;
231
- }(_react["default"].Component);
232
-
233
- StimulusTabs.propTypes = {
234
- classes: _propTypes["default"].object.isRequired,
235
- tabs: _propTypes["default"].arrayOf(_propTypes["default"].shape({
236
- id: _propTypes["default"].number.isRequired,
237
- title: _propTypes["default"].string.isRequired,
238
- text: _propTypes["default"].string.isRequired
239
- }).isRequired).isRequired,
240
- disabledTabs: _propTypes["default"].bool
241
- };
242
-
243
- var _default = (0, _styles.withStyles)(styles)(StimulusTabs);
244
-
245
- exports["default"] = _default;
246
- //# sourceMappingURL=stimulus-tabs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/stimulus-tabs.jsx"],"names":["styles","root","flexGrow","backgroundColor","color","background","text","tab","fontSize","stickyTabs","paddingBottom","position","top","title","textTransform","padding","borderBottom","secondary","width","marginBottom","buttonContainer","TabContainer","props","multiple","children","propTypes","PropTypes","node","isRequired","bool","StimulusTabs","activeTab","event","setState","setTimeout","tabChangeEvent","CustomEvent","detail","window","dispatchEvent","div","document","createElement","innerHTML","replace","audio","querySelector","source","setAttribute","getAttribute","removeAttribute","appendChild","classes","tabs","disabledTabs","state","length","map","id","__html","parsedText","flexContainer","handleChange","whiteSpace","React","Component","object","arrayOf","shape","number","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,MAAM,GAAG;AAAC;AAAVA,MAAS;AAAA,SAAgB;AAC7BC,IAAAA,IAAI,EAAE;AACJC,MAAAA,QAAQ,EAAE,CADN;AAEJC,MAAAA,eAAe,EAAEC,gBAAMC,UAAN,EAFb;AAGJD,MAAAA,KAAK,EAAEA,gBAAME,IAAN;AAHH,KADuB;AAM7BC,IAAAA,GAAG,EAAE;AACHC,MAAAA,QAAQ,EAAE;AADP,KANwB;AAS7BC,IAAAA,UAAU,EAAE;AACVJ,MAAAA,UAAU,EAAED,gBAAMC,UAAN,EADF;AAEVK,MAAAA,aAAa,EAAE,MAFL;AAGVC,MAAAA,QAAQ,EAAE,QAHA;AAIVC,MAAAA,GAAG,EAAE;AAJK,KATiB;AAe7BC,IAAAA,KAAK,EAAE;AACLC,MAAAA,aAAa,EAAE,WADV;AAELC,MAAAA,OAAO,EAAE,UAFJ;AAGLC,MAAAA,YAAY,sBAAeZ,gBAAMa,SAAN,EAAf,CAHP;AAILC,MAAAA,KAAK,EAAE,aAJF;AAKLC,MAAAA,YAAY,EAAE;AALT,KAfsB;AAsB7BC,IAAAA,eAAe,EAAE;AACff,MAAAA,UAAU,EAAE;AADG;AAtBY,GAAhB;AAAA,CAAf;;AA2BA,SAASgB,YAAT,CAAsBC,KAAtB,EAA6B;AAC3B,MAAMP,OAAO,GAAGO,KAAK,CAACC,QAAN,GAAiB,kBAAjB,GAAsC,MAAtD;AAEA,sBACE,gCAAC,sBAAD;AACE,IAAA,SAAS,EAAC,KADZ;AAEE,IAAA,KAAK,EAAE;AACLR,MAAAA,OAAO,EAAPA,OADK;AAELP,MAAAA,QAAQ,EAAE,SAFL;AAGLL,MAAAA,eAAe,EAAEC,gBAAMC,UAAN,EAHZ;AAILD,MAAAA,KAAK,EAAEA,gBAAME,IAAN;AAJF;AAFT,KASGgB,KAAK,CAACE,QATT,CADF;AAaD;;AAEDH,YAAY,CAACI,SAAb,GAAyB;AACvBD,EAAAA,QAAQ,EAAEE,sBAAUC,IAAV,CAAeC,UADF;AAEvBL,EAAAA,QAAQ,EAAEG,sBAAUG;AAFG,CAAzB;;IAKMC,Y;;;;;;;;;;;;;;;8FACI;AACNC,MAAAA,SAAS,EAAE;AADL,K;qGAIO,UAACC,KAAD,EAAQD,SAAR,EAAsB;AACnC,YAAKE,QAAL,CAAc;AAAA,eAAO;AAAEF,UAAAA,SAAS,EAATA;AAAF,SAAP;AAAA,OAAd;;AACAG,MAAAA,UAAU,CAAC,YAAM;AACf,YAAMC,cAAc,GAAG,IAAIC,WAAJ,CAAgB,2BAAhB,EAA6C;AAClEC,UAAAA,MAAM,EAAE;AACN9B,YAAAA,GAAG,EAAEwB;AADC;AAD0D,SAA7C,CAAvB;AAMAO,QAAAA,MAAM,CAACC,aAAP,CAAqBJ,cAArB;AACD,OARS,CAAV;AASD,K;mGAEY,UAAC7B,IAAD,EAAU;AACrB;AACA,UAAMkC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ;AACAF,MAAAA,GAAG,CAACG,SAAJ,GAAgBrC,IAAI,CAACsC,OAAL,CAAa,aAAb,EAA4B,OAA5B,CAAhB;AAEA,UAAMC,KAAK,GAAGL,GAAG,CAACM,aAAJ,CAAkB,OAAlB,CAAd;;AACA,UAAID,KAAJ,EAAW;AACT,YAAME,MAAM,GAAGN,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAf;AAEAK,QAAAA,MAAM,CAACC,YAAP,CAAoB,MAApB,EAA4B,WAA5B;AACAD,QAAAA,MAAM,CAACC,YAAP,CAAoB,KAApB,EAA2BH,KAAK,CAACI,YAAN,CAAmB,KAAnB,CAA3B;AAEAJ,QAAAA,KAAK,CAACK,eAAN,CAAsB,KAAtB;AACAL,QAAAA,KAAK,CAACM,WAAN,CAAkBJ,MAAlB;AACD;;AAED,aAAOP,GAAG,CAACG,SAAX;AACD,K;;;;;;WAED,kBAAS;AAAA;;AACP,wBAAwC,KAAKrB,KAA7C;AAAA,UAAQ8B,OAAR,eAAQA,OAAR;AAAA,UAAiBC,IAAjB,eAAiBA,IAAjB;AAAA,UAAuBC,YAAvB,eAAuBA,YAAvB;AACA,UAAQvB,SAAR,GAAsB,KAAKwB,KAA3B,CAAQxB,SAAR;;AAEA,UAAIsB,IAAI,IAAIA,IAAI,CAACG,MAAL,GAAc,CAA1B,EAA6B;AAC3B,eAAOF,YAAY,gBACjB;AAAK,UAAA,SAAS,EAAC;AAAf,WACGD,IAAI,CAACI,GAAL,CAAS,UAAClD,GAAD;AAAA,8BACR;AAAK,YAAA,GAAG,EAAEA,GAAG,CAACmD,EAAd;AAAkB,YAAA,SAAS,oBAAanD,GAAG,CAACmD,EAAjB;AAA3B,0BACE,gCAAC,YAAD;AAAc,YAAA,QAAQ;AAAtB,0BACE;AACE,YAAA,SAAS,EAAE,4BAAWN,OAAO,CAACvC,KAAnB,EAA0B,OAA1B,CADb;AAEE,YAAA,uBAAuB,EAAE;AAAE8C,cAAAA,MAAM,EAAE,MAAI,CAACC,UAAL,CAAgBrD,GAAG,CAACM,KAApB;AAAV;AAF3B,YADF,eAKE,gCAAC,iBAAD;AAAS,YAAA,OAAO,EAAC;AAAjB,0BACE;AAAK,YAAA,SAAS,EAAC,MAAf;AAAsB,YAAA,GAAG,EAAEN,GAAG,CAACmD,EAA/B;AAAmC,YAAA,uBAAuB,EAAE;AAAEC,cAAAA,MAAM,EAAE,MAAI,CAACC,UAAL,CAAgBrD,GAAG,CAACD,IAApB;AAAV;AAA5D,YADF,CALF,CADF,CADQ;AAAA,SAAT,CADH,CADiB,gBAiBjB;AAAK,UAAA,SAAS,EAAE8C,OAAO,CAACnD;AAAxB,wBACE,gCAAC,gBAAD;AACE,UAAA,OAAO,EAAE;AACPA,YAAAA,IAAI,EAAEmD,OAAO,CAAC3C,UADP;AAEPoD,YAAAA,aAAa,EAAET,OAAO,CAAChC;AAFhB,WADX;AAKE,UAAA,KAAK,EAAEW,SALT;AAME,UAAA,QAAQ,EAAE,KAAK+B;AANjB,WAQGT,IAAI,CAACI,GAAL,CAAS,UAAClD,GAAD;AAAA,8BACR,gCAAC,eAAD;AACE,YAAA,SAAS,EAAE6C,OAAO,CAAC7C,GADrB;AAEE,YAAA,GAAG,EAAEA,GAAG,CAACmD,EAFX;AAGE,YAAA,KAAK,eACH,gCAAC,iBAAD;AAAS,cAAA,OAAO,EAAC;AAAjB,4BACE;AAAM,cAAA,uBAAuB,EAAE;AAAEC,gBAAAA,MAAM,EAAE,MAAI,CAACC,UAAL,CAAgBrD,GAAG,CAACM,KAApB;AAAV;AAA/B,cADF,CAJJ;AAQE,YAAA,KAAK,EAAEN,GAAG,CAACmD;AARb,YADQ;AAAA,SAAT,CARH,CADF,EAsBGL,IAAI,CAACI,GAAL,CAAS,UAAClD,GAAD;AAAA,iBACRwB,SAAS,KAAKxB,GAAG,CAACmD,EAAlB,gBACE,gCAAC,YAAD;AAAc,YAAA,QAAQ,MAAtB;AAAuB,YAAA,GAAG,EAAEnD,GAAG,CAACmD;AAAhC,0BACE,gCAAC,iBAAD;AAAS,YAAA,OAAO,EAAC;AAAjB,0BACE;AAAK,YAAA,GAAG,EAAEnD,GAAG,CAACmD,EAAd;AAAkB,YAAA,uBAAuB,EAAE;AAAEC,cAAAA,MAAM,EAAE,MAAI,CAACC,UAAL,CAAgBrD,GAAG,CAACD,IAApB;AAAV;AAA3C,YADF,CADF,CADF,GAMI,IAPI;AAAA,SAAT,CAtBH,CAjBF;AAkDD,OAnDD,MAmDO,IAAI+C,IAAI,IAAIA,IAAI,CAAC,CAAD,CAAhB,EAAqB;AAC1B,4BACE;AAAK,UAAA,SAAS,EAAC,SAAf;AAAyB,UAAA,KAAK,EAAE;AAAEU,YAAAA,UAAU,EAAE;AAAd;AAAhC,wBACE,gCAAC,YAAD,qBACE;AAAK,UAAA,SAAS,EAAC,MAAf;AAAsB,UAAA,uBAAuB,EAAE;AAAEJ,YAAAA,MAAM,EAAE,KAAKC,UAAL,CAAgBP,IAAI,CAAC,CAAD,CAAJ,CAAQ/C,IAAxB;AAAV;AAA/C,UADF,CADF,CADF;AAOD;AACF;;;EArGwB0D,kBAAMC,S;;AAwGjCnC,YAAY,CAACL,SAAb,GAAyB;AACvB2B,EAAAA,OAAO,EAAE1B,sBAAUwC,MAAV,CAAiBtC,UADH;AAEvByB,EAAAA,IAAI,EAAE3B,sBAAUyC,OAAV,CACJzC,sBAAU0C,KAAV,CAAgB;AACdV,IAAAA,EAAE,EAAEhC,sBAAU2C,MAAV,CAAiBzC,UADP;AAEdf,IAAAA,KAAK,EAAEa,sBAAU4C,MAAV,CAAiB1C,UAFV;AAGdtB,IAAAA,IAAI,EAAEoB,sBAAU4C,MAAV,CAAiB1C;AAHT,GAAhB,EAIGA,UALC,EAMJA,UARqB;AASvB0B,EAAAA,YAAY,EAAE5B,sBAAUG;AATD,CAAzB;;eAYe,wBAAW7B,MAAX,EAAmB8B,YAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport { color, Purpose } from '@pie-lib/render-ui';\nimport classNames from 'classnames';\n\nconst styles = (/*theme*/) => ({\n root: {\n flexGrow: 1,\n backgroundColor: color.background(),\n color: color.text(),\n },\n tab: {\n fontSize: '0.8125em',\n },\n stickyTabs: {\n background: color.background(),\n paddingBottom: '20px',\n position: 'sticky',\n top: 0,\n },\n title: {\n textTransform: 'uppercase',\n padding: '6px 24px',\n borderBottom: `2px solid ${color.secondary()}`,\n width: 'fit-content',\n marginBottom: '6px',\n },\n buttonContainer: {\n background: 'white',\n },\n});\n\nfunction TabContainer(props) {\n const padding = props.multiple ? '0 24px 24px 24px' : '24px';\n\n return (\n <Typography\n component=\"div\"\n style={{\n padding,\n fontSize: '0.875em',\n backgroundColor: color.background(),\n color: color.text(),\n }}\n >\n {props.children}\n </Typography>\n );\n}\n\nTabContainer.propTypes = {\n children: PropTypes.node.isRequired,\n multiple: PropTypes.bool,\n};\n\nclass StimulusTabs extends React.Component {\n state = {\n activeTab: 0,\n };\n\n handleChange = (event, activeTab) => {\n this.setState(() => ({ activeTab }));\n setTimeout(() => {\n const tabChangeEvent = new CustomEvent('pie-ui-passage-tabChanged', {\n detail: {\n tab: activeTab,\n },\n });\n\n window.dispatchEvent(tabChangeEvent);\n });\n };\n\n parsedText = (text) => {\n // fix imported audio content for Safari PD-1391\n const div = document.createElement('div');\n div.innerHTML = text.replace(/(<br\\/>\\n)/g, '<br/>');\n\n const audio = div.querySelector('audio');\n if (audio) {\n const source = document.createElement('source');\n\n source.setAttribute('type', 'audio/mp3');\n source.setAttribute('src', audio.getAttribute('src'));\n\n audio.removeAttribute('src');\n audio.appendChild(source);\n }\n\n return div.innerHTML;\n };\n\n render() {\n const { classes, tabs, disabledTabs } = this.props;\n const { activeTab } = this.state;\n\n if (tabs && tabs.length > 1) {\n return disabledTabs ? (\n <div className=\"passages\">\n {tabs.map((tab) => (\n <div key={tab.id} className={`passage-${tab.id}`}>\n <TabContainer multiple>\n <div\n className={classNames(classes.title, 'title')}\n dangerouslySetInnerHTML={{ __html: this.parsedText(tab.title) }}\n />\n <Purpose purpose=\"passage-text\">\n <div className=\"text\" key={tab.id} dangerouslySetInnerHTML={{ __html: this.parsedText(tab.text) }} />\n </Purpose>\n </TabContainer>\n </div>\n ))}\n </div>\n ) : (\n <div className={classes.root}>\n <Tabs\n classes={{\n root: classes.stickyTabs,\n flexContainer: classes.buttonContainer,\n }}\n value={activeTab}\n onChange={this.handleChange}\n >\n {tabs.map((tab) => (\n <Tab\n className={classes.tab}\n key={tab.id}\n label={\n <Purpose purpose=\"passage-title\">\n <span dangerouslySetInnerHTML={{ __html: this.parsedText(tab.title) }} />\n </Purpose>\n }\n value={tab.id}\n />\n ))}\n </Tabs>\n {tabs.map((tab) =>\n activeTab === tab.id ? (\n <TabContainer multiple key={tab.id}>\n <Purpose purpose=\"passage-text\">\n <div key={tab.id} dangerouslySetInnerHTML={{ __html: this.parsedText(tab.text) }} />\n </Purpose>\n </TabContainer>\n ) : null,\n )}\n </div>\n );\n } else if (tabs && tabs[0]) {\n return (\n <div className=\"passage\" style={{ whiteSpace: 'break-spaces' }}>\n <TabContainer>\n <div className=\"text\" dangerouslySetInnerHTML={{ __html: this.parsedText(tabs[0].text) }} />\n </TabContainer>\n </div>\n );\n }\n }\n}\n\nStimulusTabs.propTypes = {\n classes: PropTypes.object.isRequired,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n }).isRequired,\n ).isRequired,\n disabledTabs: PropTypes.bool,\n};\n\nexport default withStyles(styles)(StimulusTabs);\n"],"file":"stimulus-tabs.js"}