@pie-element/passage 1.7.5 → 1.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
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.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)
7
+
8
+ **Note:** Version bump only for package @pie-element/passage
9
+
10
+
11
+
12
+
13
+
14
+ ## [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)
15
+
16
+ **Note:** Version bump only for package @pie-element/passage
17
+
18
+
19
+
20
+
21
+
6
22
  ## [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)
7
23
 
8
24
  **Note:** Version bump only for package @pie-element/passage
@@ -41,7 +41,9 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
41
41
 
42
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
43
 
44
- var styles = function styles() {
44
+ var styles = function
45
+ /*theme*/
46
+ styles() {
45
47
  return {
46
48
  root: {
47
49
  flexGrow: 1,
@@ -63,6 +65,9 @@ var styles = function styles() {
63
65
  borderBottom: "2px solid ".concat(_renderUi.color.secondary()),
64
66
  width: 'fit-content',
65
67
  marginBottom: '6px'
68
+ },
69
+ buttonContainer: {
70
+ background: 'white'
66
71
  }
67
72
  };
68
73
  };
@@ -176,7 +181,8 @@ var StimulusTabs = /*#__PURE__*/function (_React$Component) {
176
181
  className: classes.root
177
182
  }, /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
178
183
  classes: {
179
- root: classes.stickyTabs
184
+ root: classes.stickyTabs,
185
+ flexContainer: classes.buttonContainer
180
186
  },
181
187
  value: activeTab,
182
188
  onChange: this.handleChange
@@ -1 +1 @@
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","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","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});\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\n className=\"text\"\n key={tab.id}\n dangerouslySetInnerHTML={{ __html: this.parsedText(tab.text) }}\n />\n </Purpose>\n </TabContainer>\n </div>)}\n </div>\n ) : (\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 />\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 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"}
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\">\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\n className=\"text\"\n key={tab.id}\n dangerouslySetInnerHTML={{ __html: this.parsedText(tab.text) }}\n />\n </Purpose>\n </TabContainer>\n </div>)}\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\n dangerouslySetInnerHTML={{ __html: this.parsedText(tab.title) }}\n />\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 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"}