@pie-element/passage 1.6.5 → 1.7.1-beta.1634
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 +151 -0
- package/docs/demo/config.js +2 -2
- package/docs/demo/generate.js +4 -4
- package/docs/demo/index.html +1 -2
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/print.js +99 -0
- package/lib/print.js.map +1 -0
- package/lib/stimulus-tabs.js +84 -29
- package/lib/stimulus-tabs.js.map +1 -1
- package/package.json +9 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,157 @@
|
|
|
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
|
+
# [1.8.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.17...@pie-element/passage@1.8.0) (2022-12-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **pie-models:** update schemas for extended-text-entry in order to include the updated spellchek property ([bf4b656](https://github.com/pie-framework/pie-elements/commit/bf4b656241887acf8e2aa1264e747c0c338ed727))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.7.17](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.16...@pie-element/passage@1.7.17) (2022-12-07)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* update libs ([441f403](https://github.com/pie-framework/pie-elements/commit/441f403870b7bec0d61fab58b8d93dbe0ead4c32))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [1.7.16](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.15...@pie-element/passage@1.7.16) (2022-09-29)
|
|
29
|
+
|
|
30
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## [1.7.15](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.14...@pie-element/passage@1.7.15) (2022-09-14)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## [1.7.14](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.13...@pie-element/passage@1.7.14) (2022-08-31)
|
|
45
|
+
|
|
46
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## [1.7.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.12...@pie-element/passage@1.7.13) (2022-08-16)
|
|
53
|
+
|
|
54
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
## [1.7.12](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.11...@pie-element/passage@1.7.12) (2022-08-08)
|
|
61
|
+
|
|
62
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## [1.7.11](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.10...@pie-element/passage@1.7.11) (2022-07-19)
|
|
69
|
+
|
|
70
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
## [1.7.10](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.9...@pie-element/passage@1.7.10) (2022-06-13)
|
|
77
|
+
|
|
78
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
## [1.7.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.8...@pie-element/passage@1.7.9) (2022-05-30)
|
|
85
|
+
|
|
86
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
## [1.7.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.7...@pie-element/passage@1.7.8) (2022-05-03)
|
|
93
|
+
|
|
94
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
## [1.7.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.6...@pie-element/passage@1.7.7) (2022-03-22)
|
|
101
|
+
|
|
102
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
## [1.7.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.4...@pie-element/passage@1.7.5) (2021-12-13)
|
|
109
|
+
|
|
110
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
## [1.7.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.7.1...@pie-element/passage@1.7.2) (2021-11-29)
|
|
117
|
+
|
|
118
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
## [1.7.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.6.6...@pie-element/passage@1.7.1) (2021-11-11)
|
|
125
|
+
|
|
126
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
# [1.7.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.6.3...@pie-element/passage@1.7.0) (2021-11-11)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
### Bug Fixes
|
|
136
|
+
|
|
137
|
+
* Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
### Features
|
|
141
|
+
|
|
142
|
+
* **passage:** implement print PD-1282 ([7fa16d3](https://github.com/pie-framework/pie-elements/commit/7fa16d35568419109c8394a091a88d5d3b418564))
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
## [1.6.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.6.5...@pie-element/passage@1.6.6) (2021-11-01)
|
|
150
|
+
|
|
151
|
+
**Note:** Version bump only for package @pie-element/passage
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
6
157
|
## [1.6.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@1.6.4...@pie-element/passage@1.6.5) (2021-09-01)
|
|
7
158
|
|
|
8
159
|
**Note:** Version bump only for package @pie-element/passage
|
package/docs/demo/config.js
CHANGED
package/docs/demo/generate.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.model = (id, element) => ({
|
|
|
4
4
|
passages: [
|
|
5
5
|
{
|
|
6
6
|
title: 'Hope Is the Thing with Feathers',
|
|
7
|
-
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’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">"Hope is the Thing With Feathers" by Emily Dickinson, from <em>The Complete Poems of Emily Dickinson</em>. In the public domain.</span></p>'
|
|
7
|
+
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’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">"Hope is the Thing With Feathers" by Emily Dickinson, from <em>The Complete Poems of Emily Dickinson</em>. In the public domain.</span></p>',
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
title: 'Ineskeen Road, July Evening',
|
|
@@ -23,7 +23,7 @@ exports.model = (id, element) => ({
|
|
|
23
23
|
Of being king and government and nation.<br/>
|
|
24
24
|
A road, a mile of kingdom. I am king<br/>
|
|
25
25
|
Of banks and stones and every blooming thing.<br/>
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
]
|
|
26
|
+
`,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
29
|
});
|
package/docs/demo/index.html
CHANGED
package/lib/index.js
CHANGED
|
@@ -29,7 +29,7 @@ var _stimulusTabs = _interopRequireDefault(require("./stimulus-tabs"));
|
|
|
29
29
|
|
|
30
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
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 {
|
|
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
33
|
|
|
34
34
|
var PiePassage = /*#__PURE__*/function (_HTMLElement) {
|
|
35
35
|
(0, _inherits2["default"])(PiePassage, _HTMLElement);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
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
ADDED
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/lib/stimulus-tabs.js
CHANGED
|
@@ -35,32 +35,41 @@ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography")
|
|
|
35
35
|
|
|
36
36
|
var _renderUi = require("@pie-lib/render-ui");
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
39
39
|
|
|
40
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
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 {
|
|
43
|
-
|
|
44
|
-
var styles = function
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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'
|
|
62
71
|
}
|
|
63
|
-
|
|
72
|
+
};
|
|
64
73
|
};
|
|
65
74
|
|
|
66
75
|
function TabContainer(props) {
|
|
@@ -116,7 +125,20 @@ var StimulusTabs = /*#__PURE__*/function (_React$Component) {
|
|
|
116
125
|
});
|
|
117
126
|
});
|
|
118
127
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "parsedText", function (text) {
|
|
119
|
-
|
|
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;
|
|
120
142
|
});
|
|
121
143
|
return _this;
|
|
122
144
|
}
|
|
@@ -128,15 +150,43 @@ var StimulusTabs = /*#__PURE__*/function (_React$Component) {
|
|
|
128
150
|
|
|
129
151
|
var _this$props = this.props,
|
|
130
152
|
classes = _this$props.classes,
|
|
131
|
-
tabs = _this$props.tabs
|
|
153
|
+
tabs = _this$props.tabs,
|
|
154
|
+
disabledTabs = _this$props.disabledTabs;
|
|
132
155
|
var activeTab = this.state.activeTab;
|
|
133
156
|
|
|
134
157
|
if (tabs && tabs.length > 1) {
|
|
135
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
136
|
-
className:
|
|
158
|
+
return disabledTabs ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
159
|
+
className: "passages",
|
|
160
|
+
"aria-label": "Passage",
|
|
161
|
+
role: "region"
|
|
162
|
+
}, tabs.map(function (tab) {
|
|
163
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
164
|
+
key: tab.id,
|
|
165
|
+
className: "passage-".concat(tab.id)
|
|
166
|
+
}, /*#__PURE__*/_react["default"].createElement(TabContainer, {
|
|
167
|
+
multiple: true
|
|
168
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
169
|
+
className: (0, _classnames["default"])(classes.title, 'title'),
|
|
170
|
+
dangerouslySetInnerHTML: {
|
|
171
|
+
__html: _this2.parsedText(tab.title)
|
|
172
|
+
}
|
|
173
|
+
}), /*#__PURE__*/_react["default"].createElement(_renderUi.Purpose, {
|
|
174
|
+
purpose: "passage-text"
|
|
175
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
176
|
+
className: "text",
|
|
177
|
+
key: tab.id,
|
|
178
|
+
dangerouslySetInnerHTML: {
|
|
179
|
+
__html: _this2.parsedText(tab.text)
|
|
180
|
+
}
|
|
181
|
+
}))));
|
|
182
|
+
})) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
183
|
+
className: classes.root,
|
|
184
|
+
"aria-label": "Passage",
|
|
185
|
+
role: "region"
|
|
137
186
|
}, /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
138
187
|
classes: {
|
|
139
|
-
root: classes.stickyTabs
|
|
188
|
+
root: classes.stickyTabs,
|
|
189
|
+
flexContainer: classes.buttonContainer
|
|
140
190
|
},
|
|
141
191
|
value: activeTab,
|
|
142
192
|
onChange: this.handleChange
|
|
@@ -168,10 +218,14 @@ var StimulusTabs = /*#__PURE__*/function (_React$Component) {
|
|
|
168
218
|
}));
|
|
169
219
|
} else if (tabs && tabs[0]) {
|
|
170
220
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
221
|
+
className: "passage",
|
|
171
222
|
style: {
|
|
172
223
|
whiteSpace: 'break-spaces'
|
|
173
|
-
}
|
|
224
|
+
},
|
|
225
|
+
"aria-label": "Passage",
|
|
226
|
+
role: "region"
|
|
174
227
|
}, /*#__PURE__*/_react["default"].createElement(TabContainer, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
228
|
+
className: "text",
|
|
175
229
|
dangerouslySetInnerHTML: {
|
|
176
230
|
__html: this.parsedText(tabs[0].text)
|
|
177
231
|
}
|
|
@@ -188,7 +242,8 @@ StimulusTabs.propTypes = {
|
|
|
188
242
|
id: _propTypes["default"].number.isRequired,
|
|
189
243
|
title: _propTypes["default"].string.isRequired,
|
|
190
244
|
text: _propTypes["default"].string.isRequired
|
|
191
|
-
}).isRequired).isRequired
|
|
245
|
+
}).isRequired).isRequired,
|
|
246
|
+
disabledTabs: _propTypes["default"].bool
|
|
192
247
|
};
|
|
193
248
|
|
|
194
249
|
var _default = (0, _styles.withStyles)(styles)(StimulusTabs);
|
package/lib/stimulus-tabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/stimulus-tabs.jsx"],"names":["styles","root","flexGrow","backgroundColor","color","background","text","tab","fontSize","stickyTabs","paddingBottom","position","top","TabContainer","props","padding","multiple","children","propTypes","PropTypes","node","isRequired","bool","StimulusTabs","activeTab","event","setState","setTimeout","tabChangeEvent","CustomEvent","detail","window","dispatchEvent","replace","classes","tabs","state","length","handleChange","map","id","__html","parsedText","title","whiteSpace","React","Component","object","arrayOf","shape","number","string"],"mappings":"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","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 previewLayout from '@pie-lib/render-ui/lib/preview-layout';\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});\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) => text.replace(/(<br\\/>\\n)/g, '<br/>');\n\n render() {\n const { classes, tabs } = this.props;\n const { activeTab } = this.state;\n\n if (tabs && tabs.length > 1) {\n return (\n <div className={classes.root}>\n <Tabs\n classes={{\n root: classes.stickyTabs,\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\n dangerouslySetInnerHTML={{ __html: this.parsedText(tab.title) }}\n ></span>\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\n key={tab.id}\n dangerouslySetInnerHTML={{ __html: this.parsedText(tab.text) }}\n />\n </Purpose>\n </TabContainer>\n\n ) : null\n )}\n </div>\n );\n\n } else if (tabs && tabs[0]) {\n return (\n <div style={{ whiteSpace: 'break-spaces' }} >\n <TabContainer>\n <div 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};\n\nexport default withStyles(styles)(StimulusTabs);\n"],"file":"stimulus-tabs.js"}
|
|
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":"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","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\" aria-label='Passage' role='region'>\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} aria-label='Passage' role='region'>\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' }} aria-label='Passage' role='region'>\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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/passage",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1-beta.1634+449763c04",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -11,15 +11,20 @@
|
|
|
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.12
|
|
14
|
+
"@pie-lib/render-ui": "^4.14.12",
|
|
15
|
+
"classnames": "^2.2.5",
|
|
15
16
|
"prop-types": "^15.6.1",
|
|
16
17
|
"react": "^16.8.1",
|
|
17
18
|
"react-dom": "^16.8.1"
|
|
18
19
|
},
|
|
19
|
-
"gitHead": "
|
|
20
|
+
"gitHead": "449763c046b78327513c38ea5367b8d4da120760",
|
|
20
21
|
"scripts": {
|
|
21
22
|
"postpublish": "../../scripts/postpublish"
|
|
22
23
|
},
|
|
23
24
|
"main": "lib/index.js",
|
|
24
|
-
"module": "src/index.js"
|
|
25
|
+
"module": "src/index.js",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": "./src/index.js",
|
|
28
|
+
"./print": "./src/print.js"
|
|
29
|
+
}
|
|
25
30
|
}
|