@laerdal/life-react-components 6.0.0-dev.21.full.full → 6.0.0-dev.23.full

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.
@@ -79,26 +79,98 @@ const modalTransitions = `
79
79
  transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);
80
80
  }
81
81
  `;
82
- const Counter = {
83
- openInstances: 0
84
- };
85
- const ModalContainer = props => {
86
- const [scroll, setScroll] = React.useState();
87
- const [wasOpened, setWasOpened] = React.useState(false);
88
- const preventScroll = offset => {
89
- Counter.openInstances++;
90
- setWasOpened(true);
91
- if (document) {
92
- setScroll(offset);
82
+ class ModalContainer extends React.Component {
83
+ componentDidMount() {
84
+ if (_reactModal.default.defaultStyles.overlay) {
85
+ _reactModal.default.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';
86
+ }
87
+
88
+ //append style node to override modal transition classes
89
+ if (!document.querySelector('[modal-custom-styling="active"]')) {
90
+ const head = document.head || document.getElementsByTagName('head')[0];
91
+ const style = document.createElement('style');
92
+ style.setAttribute('modal-custom-styling', 'active');
93
+ head.appendChild(style);
94
+ style.appendChild(document.createTextNode(modalTransitions));
95
+ }
96
+ if (this.props.showModal) {
97
+ this.preventScroll(window.scrollY);
98
+ }
99
+ }
100
+ getSnapshotBeforeUpdate(prevProps, prevState) {
101
+ return {
102
+ scroll: window.scrollY
103
+ };
104
+ }
105
+ componentDidUpdate(prevProps, prevState, snapshot) {
106
+ if (this.props.showModal && !prevProps.showModal) {
107
+ this.preventScroll(snapshot.scroll);
108
+ }
109
+ if (!this.props.showModal && prevProps.showModal) {
110
+ this.resetScroll();
111
+ }
112
+ }
113
+ componentWillUnmount() {
114
+ if (this.props.showModal) {
115
+ this.resetScroll();
116
+ }
117
+ }
118
+ render() {
119
+ const {
120
+ id,
121
+ showModal,
122
+ closeModal,
123
+ children,
124
+ height = 'auto',
125
+ width = 'auto',
126
+ overflow = 'visible',
127
+ padding,
128
+ minWidth = '',
129
+ maxWidth = '',
130
+ zIndex = parseInt(_styles.Z_INDEXES.modal),
131
+ shouldCloseOnOverlayClick = true
132
+ } = this.props;
133
+
134
+ // should be at least z-index of modal and below z-index of toast
135
+ const zIndexValue = Math.min(Math.max(zIndex, +_styles.Z_INDEXES.modal), +_styles.Z_INDEXES.toast - 1);
136
+ const stylesConfiguration = Object.assign(_objectSpread({}, ModalContainerStyles.content), {
137
+ height,
138
+ width,
139
+ padding,
140
+ overflow,
141
+ minWidth,
142
+ maxWidth,
143
+ zIndex: zIndexValue
144
+ });
145
+ const styles = {
146
+ content: stylesConfiguration
147
+ };
148
+ _reactModal.default.setAppElement('body');
149
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactModal.default, {
150
+ id: id,
151
+ isOpen: showModal,
152
+ closeTimeoutMS: 120,
153
+ onRequestClose: () => closeModal(),
154
+ shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
155
+ style: styles,
156
+ children: children
157
+ });
158
+ }
159
+ preventScroll(offset) {
160
+ if (!ModalContainer.openInstances) {
161
+ this.setState({
162
+ scroll: offset
163
+ });
93
164
  document.body.style.position = 'fixed';
94
165
  document.body.style.left = `0px`;
95
166
  document.body.style.right = `0px`;
96
167
  document.body.style.top = `-${offset}px`;
97
168
  }
98
- };
99
- const resetScroll = () => {
100
- Counter.openInstances--;
101
- if (!Counter.openInstances && document) {
169
+ ModalContainer.openInstances++;
170
+ }
171
+ resetScroll() {
172
+ ModalContainer.openInstances--;
173
+ if (!ModalContainer.openInstances) {
102
174
  //@ts-ignore
103
175
  document.body.style.position = null;
104
176
  //@ts-ignore
@@ -107,74 +179,14 @@ const ModalContainer = props => {
107
179
  document.body.style.top = null;
108
180
  //@ts-ignore
109
181
  document.body.style.right = null;
110
- scroll && window.scrollTo(0, scroll);
111
- setScroll(0);
112
- }
113
- };
114
- React.useEffect(() => {
115
- window && setScroll(window.scrollY);
116
- });
117
- React.useEffect(() => {
118
- //modal was opened
119
- window && !props.showModal && wasOpened && resetScroll();
120
- //modal was closed
121
- window && props.showModal && preventScroll(window.scrollY);
122
- }, [props.showModal]);
123
- React.useEffect(() => {
124
- if (_reactModal.default.defaultStyles.overlay) {
125
- _reactModal.default.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';
126
- }
127
-
128
- //append style node to override modal transition classes
129
- if (document && !document.querySelector('[modal-custom-styling="active"]')) {
130
- const head = document.head || document.getElementsByTagName('head')[0];
131
- const style = document.createElement('style');
132
- style.setAttribute('modal-custom-styling', 'active');
133
- head.appendChild(style);
134
- style.appendChild(document.createTextNode(modalTransitions));
182
+ this.state.scroll && window.scrollTo(0, this.state.scroll);
183
+ this.setState({
184
+ scroll: 0
185
+ });
135
186
  }
136
- }, []);
137
- const {
138
- id,
139
- showModal,
140
- closeModal,
141
- children,
142
- height = 'auto',
143
- width = 'auto',
144
- overflow = 'visible',
145
- padding,
146
- minWidth = '',
147
- maxWidth = '',
148
- zIndex = parseInt(_styles.Z_INDEXES.modal),
149
- shouldCloseOnOverlayClick = true
150
- } = props;
151
-
152
- // should be at least z-index of modal and below z-index of toast
153
- const zIndexValue = Math.min(Math.max(zIndex, +_styles.Z_INDEXES.modal), +_styles.Z_INDEXES.toast - 1);
154
- const stylesConfiguration = Object.assign(_objectSpread({}, ModalContainerStyles.content), {
155
- height,
156
- width,
157
- padding,
158
- overflow,
159
- minWidth,
160
- maxWidth,
161
- zIndex: zIndexValue
162
- });
163
- const styles = {
164
- content: stylesConfiguration
165
- };
166
- _reactModal.default.setAppElement('body');
167
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactModal.default, {
168
- id: id,
169
- isOpen: showModal,
170
- closeTimeoutMS: 120,
171
- shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
172
- onRequestClose: () => closeModal(),
173
- style: styles,
174
- children: children
175
- });
176
- };
177
- ModalContainer.propTypes = {
187
+ }
188
+ }
189
+ (0, _defineProperty2.default)(ModalContainer, "propTypes", {
178
190
  id: _propTypes.default.string,
179
191
  showModal: _propTypes.default.bool.isRequired,
180
192
  closeModal: _propTypes.default.func.isRequired,
@@ -187,6 +199,7 @@ ModalContainer.propTypes = {
187
199
  maxWidth: _propTypes.default.string,
188
200
  zIndex: _propTypes.default.number,
189
201
  shouldCloseOnOverlayClick: _propTypes.default.bool
190
- };
202
+ });
203
+ (0, _defineProperty2.default)(ModalContainer, "openInstances", 0);
191
204
  var _default = exports.default = ModalContainer;
192
205
  //# sourceMappingURL=ModalContainer.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContainer.cjs","names":["React","_interopRequireWildcard","require","_reactModal","_interopRequireDefault","_styles","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","Z_INDEXES","backdrop","modal","Counter","openInstances","ModalContainer","props","scroll","setScroll","useState","wasOpened","setWasOpened","preventScroll","offset","document","body","style","position","resetScroll","window","scrollTo","useEffect","scrollY","showModal","ReactModal","defaultStyles","overlay","backgroundColor","querySelector","head","getElementsByTagName","createElement","setAttribute","appendChild","createTextNode","id","closeModal","children","padding","minWidth","maxWidth","zIndex","parseInt","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","assign","styles","setAppElement","jsx","isOpen","closeTimeoutMS","onRequestClose","propTypes","_propTypes","string","bool","isRequired","func","any","number","_default","exports"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\nconst Counter = { openInstances : 0};\r\nconst ModalContainer: React.FC<ModalContainerProps> = (props: ModalContainerProps) => {\r\n\r\n const [scroll, setScroll] = React.useState<number>();\r\n const [wasOpened, setWasOpened] = React.useState<boolean>(false);\r\n \r\n const preventScroll = (offset: number) => {\r\n Counter.openInstances++;\r\n setWasOpened(true);\r\n if (document) {\r\n setScroll(offset);\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n }\r\n\r\n const resetScroll = () => {\r\n Counter.openInstances--;\r\n if (!Counter.openInstances && document) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n scroll && window.scrollTo(0, scroll);\r\n setScroll(0);\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n window && setScroll(window.scrollY);\r\n });\r\n\r\n React.useEffect(() => {\r\n //modal was opened\r\n window && !props.showModal && wasOpened && resetScroll();\r\n //modal was closed\r\n window && props.showModal && preventScroll(window.scrollY);\r\n }, [props.showModal]);\r\n\r\n\r\n React.useEffect(() => {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (document && !document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n \r\n }, []);\r\n\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue\r\n });\r\n const styles = {content: stylesConfiguration};\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n onRequestClose={() => closeModal()}\r\n style={styles}>\r\n {children}\r\n </ReactModal>\r\n );\r\n}\r\n\r\nexport default ModalContainer;\r\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAAqC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,CAAA1B,OAAA,EAAAL,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAIrC,MAAMkC,oBAAoB,GAAG;EAC3BC,OAAO,EAAE;IACPC,GAAG,EAAE,MAAM;IACXC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,WAAW,EAAE,MAAM;IACnBC,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE,OAAO;IACfC,YAAY,EAAE,KAAK;IACnBC,SAAS,EAAE,YAAmB;IAC9BC,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,MAAM;IAChBC,SAAS,EAAEC,kBAAU,CAACC;EACxB;AACF,CAAC;;AAED;AACA,MAAMC,gBAAgB,GAAG;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAaC,iBAAS,CAACC,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAaD,iBAAS,CAACE,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAkBD,MAAMC,OAAO,GAAG;EAAEC,aAAa,EAAG;AAAC,CAAC;AACpC,MAAMC,cAA6C,GAAIC,KAA0B,IAAK;EAEpF,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGnE,KAAK,CAACoE,QAAQ,CAAS,CAAC;EACpD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGtE,KAAK,CAACoE,QAAQ,CAAU,KAAK,CAAC;EAEhE,MAAMG,aAAa,GAAIC,MAAc,IAAK;IACxCV,OAAO,CAACC,aAAa,EAAE;IACvBO,YAAY,CAAC,IAAI,CAAC;IAClB,IAAIG,QAAQ,EAAE;MACZN,SAAS,CAACK,MAAM,CAAC;MACjBC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,QAAQ,GAAG,OAAO;MACtCH,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC9B,IAAI,GAAG,KAAK;MAChC4B,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC7B,KAAK,GAAG,KAAK;MACjC2B,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC/B,GAAG,GAAG,IAAI4B,MAAM,IAAI;IAC1C;EACF,CAAC;EAED,MAAMK,WAAW,GAAGA,CAAA,KAAM;IACxBf,OAAO,CAACC,aAAa,EAAE;IACvB,IAAI,CAACD,OAAO,CAACC,aAAa,IAAIU,QAAQ,EAAE;MACtC;MACAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,QAAQ,GAAG,IAAI;MACnC;MACAH,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC9B,IAAI,GAAG,IAAI;MAC/B;MACA4B,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC/B,GAAG,GAAG,IAAI;MAC9B;MACA6B,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC7B,KAAK,GAAG,IAAI;MAChCoB,MAAM,IAAIY,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAEb,MAAM,CAAC;MACpCC,SAAS,CAAC,CAAC,CAAC;IACd;EACF,CAAC;EAEDnE,KAAK,CAACgF,SAAS,CAAC,MAAM;IACpBF,MAAM,IAAIX,SAAS,CAACW,MAAM,CAACG,OAAO,CAAC;EACrC,CAAC,CAAC;EAEFjF,KAAK,CAACgF,SAAS,CAAC,MAAM;IACpB;IACAF,MAAM,IAAI,CAACb,KAAK,CAACiB,SAAS,IAAIb,SAAS,IAAIQ,WAAW,CAAC,CAAC;IACxD;IACAC,MAAM,IAAIb,KAAK,CAACiB,SAAS,IAAIX,aAAa,CAACO,MAAM,CAACG,OAAO,CAAC;EAC5D,CAAC,EAAE,CAAChB,KAAK,CAACiB,SAAS,CAAC,CAAC;EAGrBlF,KAAK,CAACgF,SAAS,CAAC,MAAM;IACpB,IAAIG,mBAAU,CAACC,aAAa,CAACC,OAAO,EAAE;MACpCF,mBAAU,CAACC,aAAa,CAACC,OAAO,CAACC,eAAe,GAAG,iBAAiB;IACtE;;IAEA;IACA,IAAIb,QAAQ,IAAI,CAACA,QAAQ,CAACc,aAAa,CAAC,iCAAiC,CAAC,EAAE;MAC1E,MAAMC,IAAI,GAAGf,QAAQ,CAACe,IAAI,IAAIf,QAAQ,CAACgB,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;MACtE,MAAMd,KAAK,GAAGF,QAAQ,CAACiB,aAAa,CAAC,OAAO,CAAC;MAC7Cf,KAAK,CAACgB,YAAY,CAAC,sBAAsB,EAAE,QAAQ,CAAC;MACpDH,IAAI,CAACI,WAAW,CAACjB,KAAK,CAAC;MACvBA,KAAK,CAACiB,WAAW,CAACnB,QAAQ,CAACoB,cAAc,CAACnC,gBAAgB,CAAC,CAAC;IAC9D;EAEF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IACJoC,EAAE;IACFZ,SAAS;IACTa,UAAU;IACVC,QAAQ;IACR9C,MAAM,GAAG,MAAM;IACfD,KAAK,GAAG,MAAM;IACdK,QAAQ,GAAG,SAAS;IACpB2C,OAAO;IACPC,QAAQ,GAAG,EAAE;IACbC,QAAQ,GAAG,EAAE;IACbC,MAAM,GAAGC,QAAQ,CAAC1C,iBAAS,CAACE,KAAK,CAAC;IAClCyC,yBAAyB,GAAG;EAC9B,CAAC,GAAGrC,KAAK;;EAET;EACA,MAAMsC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACN,MAAM,EAAE,CAACzC,iBAAS,CAACE,KAAK,CAAC,EAAE,CAACF,iBAAS,CAACgD,KAAK,GAAG,CAAC,CAAC;EACtF,MAAMC,mBAAmB,GAAGzF,MAAM,CAAC0F,MAAM,CAAA1E,aAAA,KAAKO,oBAAoB,CAACC,OAAO,GAAG;IAC3EO,MAAM;IACND,KAAK;IACLgD,OAAO;IACP3C,QAAQ;IACR4C,QAAQ;IACRC,QAAQ;IACRC,MAAM,EAAEG;EACV,CAAC,CAAC;EACF,MAAMO,MAAM,GAAG;IAACnE,OAAO,EAAEiE;EAAmB,CAAC;EAC7CzB,mBAAU,CAAC4B,aAAa,CAAC,MAAM,CAAC;EAChC,oBACE,IAAAzG,WAAA,CAAA0G,GAAA,EAAC7G,WAAA,CAAAU,OAAU;IAACiF,EAAE,EAAEA,EAAG;IACPmB,MAAM,EAAE/B,SAAU;IAClBgC,cAAc,EAAE,GAAI;IACpBZ,yBAAyB,EAAEA,yBAA0B;IACrDa,cAAc,EAAEA,CAAA,KAAMpB,UAAU,CAAC,CAAE;IACnCpB,KAAK,EAAEmC,MAAO;IAAAd,QAAA,EACvBA;EAAQ,CACC,CAAC;AAEjB,CAAC;AAAAhC,cAAA,CAAAoD,SAAA;EAlHCtB,EAAE,EAAAuB,UAAA,CAAAxG,OAAA,CAAAyG,MAAA;EACFpC,SAAS,EAAAmC,UAAA,CAAAxG,OAAA,CAAA0G,IAAA,CAAAC,UAAA;EACTzB,UAAU,EAAAsB,UAAA,CAAAxG,OAAA,CAAA4G,IAAA,CAAAD,UAAA;EACVxB,QAAQ,EAAAqB,UAAA,CAAAxG,OAAA,CAAA6G,GAAA,CAAAF,UAAA;EACRtE,MAAM,EAAAmE,UAAA,CAAAxG,OAAA,CAAA6G,GAAA;EACNzE,KAAK,EAAAoE,UAAA,CAAAxG,OAAA,CAAA6G,GAAA;EACLpE,QAAQ,EAAA+D,UAAA,CAAAxG,OAAA,CAAAyG,MAAA;EACRrB,OAAO,EAAAoB,UAAA,CAAAxG,OAAA,CAAAyG,MAAA;EACPpB,QAAQ,EAAAmB,UAAA,CAAAxG,OAAA,CAAAyG,MAAA;EACRnB,QAAQ,EAAAkB,UAAA,CAAAxG,OAAA,CAAAyG,MAAA;EACRlB,MAAM,EAAAiB,UAAA,CAAAxG,OAAA,CAAA8G,MAAA;EACNrB,yBAAyB,EAAAe,UAAA,CAAAxG,OAAA,CAAA0G;AAAA;AAAA,IAAAK,QAAA,GAAAC,OAAA,CAAAhH,OAAA,GAyGZmD,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"ModalContainer.cjs","names":["React","_interopRequireWildcard","require","_reactModal","_interopRequireDefault","_styles","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","Z_INDEXES","backdrop","modal","ModalContainer","Component","componentDidMount","ReactModal","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","showModal","preventScroll","window","scrollY","getSnapshotBeforeUpdate","prevProps","prevState","scroll","componentDidUpdate","snapshot","resetScroll","componentWillUnmount","render","id","closeModal","children","padding","minWidth","maxWidth","zIndex","parseInt","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","assign","styles","setAppElement","jsx","isOpen","closeTimeoutMS","onRequestClose","offset","openInstances","setState","body","position","state","scrollTo","_propTypes","string","bool","isRequired","func","any","number","_default","exports"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\ntype ModalContainerState = {\r\n scroll: number;\r\n};\r\n\r\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\r\n private static openInstances = 0;\r\n\r\n componentDidMount() {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n\r\n if (this.props.showModal) {\r\n this.preventScroll(window.scrollY);\r\n }\r\n }\r\n\r\n getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): { scroll: number } {\r\n return {scroll: window.scrollY};\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: { scroll: number }) {\r\n if (this.props.showModal && !prevProps.showModal) {\r\n this.preventScroll(snapshot!.scroll);\r\n }\r\n if (!this.props.showModal && prevProps.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = this.props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue\r\n });\r\n const styles = {content: stylesConfiguration};\r\n\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n onRequestClose={() => closeModal()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n style={styles}>\r\n {children}\r\n </ReactModal>\r\n );\r\n }\r\n\r\n private preventScroll(offset: number) {\r\n if (!ModalContainer.openInstances) {\r\n this.setState({scroll: offset});\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n ModalContainer.openInstances++\r\n }\r\n\r\n private resetScroll() {\r\n ModalContainer.openInstances--;\r\n if (!ModalContainer.openInstances) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n this.state.scroll && window.scrollTo(0, this.state.scroll);\r\n this.setState({scroll: 0});\r\n }\r\n }\r\n}\r\n\r\nexport default ModalContainer;"],"mappings":"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","ignoreList":[]}
@@ -13,5 +13,21 @@ type ModalContainerProps = {
13
13
  zIndex?: number;
14
14
  shouldCloseOnOverlayClick?: boolean;
15
15
  };
16
- declare const ModalContainer: React.FC<ModalContainerProps>;
16
+ type ModalContainerState = {
17
+ scroll: number;
18
+ };
19
+ declare class ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {
20
+ private static openInstances;
21
+ componentDidMount(): void;
22
+ getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): {
23
+ scroll: number;
24
+ };
25
+ componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: {
26
+ scroll: number;
27
+ }): void;
28
+ componentWillUnmount(): void;
29
+ render(): React.JSX.Element;
30
+ private preventScroll;
31
+ private resetScroll;
32
+ }
17
33
  export default ModalContainer;
@@ -71,26 +71,98 @@ const modalTransitions = `
71
71
  transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);
72
72
  }
73
73
  `;
74
- const Counter = {
75
- openInstances: 0
76
- };
77
- const ModalContainer = props => {
78
- const [scroll, setScroll] = React.useState();
79
- const [wasOpened, setWasOpened] = React.useState(false);
80
- const preventScroll = offset => {
81
- Counter.openInstances++;
82
- setWasOpened(true);
83
- if (document) {
84
- setScroll(offset);
74
+ class ModalContainer extends React.Component {
75
+ componentDidMount() {
76
+ if (ReactModal.defaultStyles.overlay) {
77
+ ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';
78
+ }
79
+
80
+ //append style node to override modal transition classes
81
+ if (!document.querySelector('[modal-custom-styling="active"]')) {
82
+ const head = document.head || document.getElementsByTagName('head')[0];
83
+ const style = document.createElement('style');
84
+ style.setAttribute('modal-custom-styling', 'active');
85
+ head.appendChild(style);
86
+ style.appendChild(document.createTextNode(modalTransitions));
87
+ }
88
+ if (this.props.showModal) {
89
+ this.preventScroll(window.scrollY);
90
+ }
91
+ }
92
+ getSnapshotBeforeUpdate(prevProps, prevState) {
93
+ return {
94
+ scroll: window.scrollY
95
+ };
96
+ }
97
+ componentDidUpdate(prevProps, prevState, snapshot) {
98
+ if (this.props.showModal && !prevProps.showModal) {
99
+ this.preventScroll(snapshot.scroll);
100
+ }
101
+ if (!this.props.showModal && prevProps.showModal) {
102
+ this.resetScroll();
103
+ }
104
+ }
105
+ componentWillUnmount() {
106
+ if (this.props.showModal) {
107
+ this.resetScroll();
108
+ }
109
+ }
110
+ render() {
111
+ const {
112
+ id,
113
+ showModal,
114
+ closeModal,
115
+ children,
116
+ height = 'auto',
117
+ width = 'auto',
118
+ overflow = 'visible',
119
+ padding,
120
+ minWidth = '',
121
+ maxWidth = '',
122
+ zIndex = parseInt(Z_INDEXES.modal),
123
+ shouldCloseOnOverlayClick = true
124
+ } = this.props;
125
+
126
+ // should be at least z-index of modal and below z-index of toast
127
+ const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);
128
+ const stylesConfiguration = Object.assign(_objectSpread({}, ModalContainerStyles.content), {
129
+ height,
130
+ width,
131
+ padding,
132
+ overflow,
133
+ minWidth,
134
+ maxWidth,
135
+ zIndex: zIndexValue
136
+ });
137
+ const styles = {
138
+ content: stylesConfiguration
139
+ };
140
+ ReactModal.setAppElement('body');
141
+ return /*#__PURE__*/_jsx(ReactModal, {
142
+ id: id,
143
+ isOpen: showModal,
144
+ closeTimeoutMS: 120,
145
+ onRequestClose: () => closeModal(),
146
+ shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
147
+ style: styles,
148
+ children: children
149
+ });
150
+ }
151
+ preventScroll(offset) {
152
+ if (!ModalContainer.openInstances) {
153
+ this.setState({
154
+ scroll: offset
155
+ });
85
156
  document.body.style.position = 'fixed';
86
157
  document.body.style.left = `0px`;
87
158
  document.body.style.right = `0px`;
88
159
  document.body.style.top = `-${offset}px`;
89
160
  }
90
- };
91
- const resetScroll = () => {
92
- Counter.openInstances--;
93
- if (!Counter.openInstances && document) {
161
+ ModalContainer.openInstances++;
162
+ }
163
+ resetScroll() {
164
+ ModalContainer.openInstances--;
165
+ if (!ModalContainer.openInstances) {
94
166
  //@ts-ignore
95
167
  document.body.style.position = null;
96
168
  //@ts-ignore
@@ -99,74 +171,14 @@ const ModalContainer = props => {
99
171
  document.body.style.top = null;
100
172
  //@ts-ignore
101
173
  document.body.style.right = null;
102
- scroll && window.scrollTo(0, scroll);
103
- setScroll(0);
104
- }
105
- };
106
- React.useEffect(() => {
107
- window && setScroll(window.scrollY);
108
- });
109
- React.useEffect(() => {
110
- //modal was opened
111
- window && !props.showModal && wasOpened && resetScroll();
112
- //modal was closed
113
- window && props.showModal && preventScroll(window.scrollY);
114
- }, [props.showModal]);
115
- React.useEffect(() => {
116
- if (ReactModal.defaultStyles.overlay) {
117
- ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';
174
+ this.state.scroll && window.scrollTo(0, this.state.scroll);
175
+ this.setState({
176
+ scroll: 0
177
+ });
118
178
  }
119
-
120
- //append style node to override modal transition classes
121
- if (document && !document.querySelector('[modal-custom-styling="active"]')) {
122
- const head = document.head || document.getElementsByTagName('head')[0];
123
- const style = document.createElement('style');
124
- style.setAttribute('modal-custom-styling', 'active');
125
- head.appendChild(style);
126
- style.appendChild(document.createTextNode(modalTransitions));
127
- }
128
- }, []);
129
- const {
130
- id,
131
- showModal,
132
- closeModal,
133
- children,
134
- height = 'auto',
135
- width = 'auto',
136
- overflow = 'visible',
137
- padding,
138
- minWidth = '',
139
- maxWidth = '',
140
- zIndex = parseInt(Z_INDEXES.modal),
141
- shouldCloseOnOverlayClick = true
142
- } = props;
143
-
144
- // should be at least z-index of modal and below z-index of toast
145
- const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);
146
- const stylesConfiguration = Object.assign(_objectSpread({}, ModalContainerStyles.content), {
147
- height,
148
- width,
149
- padding,
150
- overflow,
151
- minWidth,
152
- maxWidth,
153
- zIndex: zIndexValue
154
- });
155
- const styles = {
156
- content: stylesConfiguration
157
- };
158
- ReactModal.setAppElement('body');
159
- return /*#__PURE__*/_jsx(ReactModal, {
160
- id: id,
161
- isOpen: showModal,
162
- closeTimeoutMS: 120,
163
- shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
164
- onRequestClose: () => closeModal(),
165
- style: styles,
166
- children: children
167
- });
168
- };
169
- ModalContainer.propTypes = {
179
+ }
180
+ }
181
+ _defineProperty(ModalContainer, "propTypes", {
170
182
  id: _pt.string,
171
183
  showModal: _pt.bool.isRequired,
172
184
  closeModal: _pt.func.isRequired,
@@ -179,6 +191,7 @@ ModalContainer.propTypes = {
179
191
  maxWidth: _pt.string,
180
192
  zIndex: _pt.number,
181
193
  shouldCloseOnOverlayClick: _pt.bool
182
- };
194
+ });
195
+ _defineProperty(ModalContainer, "openInstances", 0);
183
196
  export default ModalContainer;
184
197
  //# sourceMappingURL=ModalContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContainer.js","names":["React","ReactModal","BOXSHADOWS","Z_INDEXES","jsx","_jsx","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","backdrop","modal","Counter","openInstances","ModalContainer","props","scroll","setScroll","useState","wasOpened","setWasOpened","preventScroll","offset","document","body","style","position","resetScroll","window","scrollTo","useEffect","scrollY","showModal","defaultStyles","overlay","backgroundColor","querySelector","head","getElementsByTagName","createElement","setAttribute","appendChild","createTextNode","id","closeModal","children","padding","minWidth","maxWidth","zIndex","parseInt","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","Object","assign","_objectSpread","styles","setAppElement","isOpen","closeTimeoutMS","onRequestClose","propTypes","_pt","string","bool","isRequired","func","any","number"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\nconst Counter = { openInstances : 0};\r\nconst ModalContainer: React.FC<ModalContainerProps> = (props: ModalContainerProps) => {\r\n\r\n const [scroll, setScroll] = React.useState<number>();\r\n const [wasOpened, setWasOpened] = React.useState<boolean>(false);\r\n \r\n const preventScroll = (offset: number) => {\r\n Counter.openInstances++;\r\n setWasOpened(true);\r\n if (document) {\r\n setScroll(offset);\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n }\r\n\r\n const resetScroll = () => {\r\n Counter.openInstances--;\r\n if (!Counter.openInstances && document) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n scroll && window.scrollTo(0, scroll);\r\n setScroll(0);\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n window && setScroll(window.scrollY);\r\n });\r\n\r\n React.useEffect(() => {\r\n //modal was opened\r\n window && !props.showModal && wasOpened && resetScroll();\r\n //modal was closed\r\n window && props.showModal && preventScroll(window.scrollY);\r\n }, [props.showModal]);\r\n\r\n\r\n React.useEffect(() => {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (document && !document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n \r\n }, []);\r\n\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue\r\n });\r\n const styles = {content: stylesConfiguration};\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n onRequestClose={() => closeModal()}\r\n style={styles}>\r\n {children}\r\n </ReactModal>\r\n );\r\n}\r\n\r\nexport default ModalContainer;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModalContainer.js","names":["React","ReactModal","BOXSHADOWS","Z_INDEXES","jsx","_jsx","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","backdrop","modal","ModalContainer","Component","componentDidMount","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","showModal","preventScroll","window","scrollY","getSnapshotBeforeUpdate","prevProps","prevState","scroll","componentDidUpdate","snapshot","resetScroll","componentWillUnmount","render","id","closeModal","children","padding","minWidth","maxWidth","zIndex","parseInt","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","Object","assign","_objectSpread","styles","setAppElement","isOpen","closeTimeoutMS","onRequestClose","offset","openInstances","setState","body","position","state","scrollTo","_defineProperty","_pt","string","bool","isRequired","func","any","number"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\ntype ModalContainerState = {\r\n scroll: number;\r\n};\r\n\r\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\r\n private static openInstances = 0;\r\n\r\n componentDidMount() {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n\r\n if (this.props.showModal) {\r\n this.preventScroll(window.scrollY);\r\n }\r\n }\r\n\r\n getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): { scroll: number } {\r\n return {scroll: window.scrollY};\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: { scroll: number }) {\r\n if (this.props.showModal && !prevProps.showModal) {\r\n this.preventScroll(snapshot!.scroll);\r\n }\r\n if (!this.props.showModal && prevProps.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = this.props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue\r\n });\r\n const styles = {content: stylesConfiguration};\r\n\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n onRequestClose={() => closeModal()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n style={styles}>\r\n {children}\r\n </ReactModal>\r\n );\r\n }\r\n\r\n private preventScroll(offset: number) {\r\n if (!ModalContainer.openInstances) {\r\n this.setState({scroll: offset});\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n ModalContainer.openInstances++\r\n }\r\n\r\n private resetScroll() {\r\n ModalContainer.openInstances--;\r\n if (!ModalContainer.openInstances) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n this.state.scroll && window.scrollTo(0, this.state.scroll);\r\n this.setState({scroll: 0});\r\n }\r\n }\r\n}\r\n\r\nexport default ModalContainer;"],"mappings":"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","ignoreList":[]}
@@ -55,32 +55,100 @@ const StyledSwitch = exports.StyledSwitch = _styledComponents.default.div`
55
55
  margin-left: 8px;
56
56
  }
57
57
 
58
+
59
+ label:first-of-type span.semantic, &[aria-pressed='true'] label:first-of-type span {
60
+ border: none;
61
+ }
62
+
58
63
  &:not(.disabled):active label:first-of-type span {
59
64
  &:before {
60
65
  background-color: ${props => _styles.COLORS.getColor('primary_100', props.theme)};
61
66
  }
62
67
  }
63
68
 
69
+ &:not([aria-pressed='true']) label:first-of-type span {
70
+ &.semantic:before {
71
+ background-color: ${props => _styles.COLORS.generateToken({
72
+ componentType: 'icon',
73
+ isOnFill: true,
74
+ defaultVariant: 'critical'
75
+ }, props.theme)};
76
+ }
77
+ }
78
+
79
+ &[aria-pressed='true'] label:first-of-type span {
80
+ &.semantic:before {
81
+ background-color: ${props => _styles.COLORS.generateToken({
82
+ componentType: 'icon',
83
+ isOnFill: true,
84
+ defaultVariant: 'positive'
85
+ }, props.theme)};
86
+ }
87
+ }
88
+
64
89
  &.disabled[aria-pressed='true'] label:first-of-type span {
65
- background-color: ${props => _styles.COLORS.getColor('neutral_300', props.theme)} !important;
90
+ background-color: ${props => _styles.COLORS.generateToken({
91
+ componentType: 'bg-fill',
92
+ state: 'disabled'
93
+ }, props.theme)} !important;
66
94
  cursor: not-allowed;
67
95
 
68
96
  &:before {
69
- background-color: ${props => _styles.COLORS.getColor('neutral_200', props.theme)} !important;
97
+ background-color: ${props => _styles.COLORS.generateToken({
98
+ componentType: 'icon',
99
+ state: 'disabled'
100
+ }, props.theme)} !important;
70
101
  cursor: not-allowed;
71
102
  }
72
103
  }
73
104
 
74
- &[aria-pressed='true']:hover span {
105
+ &[aria-pressed='true']:hover label:first-of-type span {
106
+ background-color: ${props => _styles.COLORS.generateToken({
107
+ componentType: 'bg-fill',
108
+ state: 'hover',
109
+ defaultVariant: 'primary'
110
+ }, props.theme)};
75
111
  &.semantic {
76
- background-color: ${props => _styles.COLORS.getColor('positive_500', props.theme)};
112
+ background-color: ${props => _styles.COLORS.generateToken({
113
+ componentType: 'bg-fill',
114
+ state: 'hover',
115
+ defaultVariant: 'positive'
116
+ }, props.theme)};
77
117
  }
78
118
 
79
- &:before {
80
- background-color: ${props => _styles.COLORS.getColor('primary_20', props.theme)};
119
+ &:not(.semantic):before {
120
+ background-color: ${props => _styles.COLORS.generateToken({
121
+ componentType: 'icon',
122
+ isOnFill: true,
123
+ defaultVariant: 'primary'
124
+ }, props.theme)};
125
+ }
126
+ }
127
+
128
+ &[aria-pressed='true']:active label:first-of-type span {
129
+ background-color: ${props => _styles.COLORS.generateToken({
130
+ componentType: 'bg-fill',
131
+ state: 'active',
132
+ defaultVariant: 'primary'
133
+ }, props.theme)};
134
+ &.semantic {
135
+ background-color: ${props => _styles.COLORS.generateToken({
136
+ componentType: 'bg-fill',
137
+ state: 'active',
138
+ defaultVariant: 'positive'
139
+ }, props.theme)};
140
+ }
141
+
142
+ &:not(.semantic):before {
143
+ background-color: ${props => _styles.COLORS.generateToken({
144
+ componentType: 'icon',
145
+ isOnFill: true,
146
+ defaultVariant: 'primary'
147
+ }, props.theme)};
81
148
  }
82
149
  }
83
150
 
151
+
84
152
  &[aria-pressed='true'] label:first-of-type span {
85
153
  background-color: ${props => _styles.COLORS.getColor('primary_500', props.theme)};
86
154
 
@@ -88,6 +156,14 @@ const StyledSwitch = exports.StyledSwitch = _styledComponents.default.div`
88
156
  background-color: ${props => _styles.COLORS.getColor('positive_500', props.theme)};
89
157
  }
90
158
 
159
+ &:not(.semantic):before {
160
+ background-color: ${props => _styles.COLORS.generateToken({
161
+ componentType: 'icon',
162
+ isOnFill: true,
163
+ defaultVariant: 'primary'
164
+ }, props.theme)};
165
+ }
166
+
91
167
  &:before {
92
168
  -webkit-transform: translateX(20px);
93
169
  -ms-transform: translateX(20px);
@@ -95,23 +171,96 @@ const StyledSwitch = exports.StyledSwitch = _styledComponents.default.div`
95
171
  }
96
172
  }
97
173
 
98
- &.disabled[aria-pressed='false'] label:first-of-type span {
99
- background-color: ${props => _styles.COLORS.getColor('neutral_300', props.theme)} !important;
174
+ &:not([aria-pressed='true']).disabled label:first-of-type span {
175
+ background-color: ${props => _styles.COLORS.generateToken({
176
+ componentType: 'bg-surface',
177
+ state: 'disabled'
178
+ }, props.theme)} !important;
100
179
  cursor: not-allowed;
101
180
 
102
- &:before {
103
- background-color: ${props => _styles.COLORS.getColor('neutral_100', props.theme)} !important;
181
+ &.semantic {
182
+ background-color: ${props => _styles.COLORS.generateToken({
183
+ componentType: 'bg-fill',
184
+ state: 'disabled'
185
+ }, props.theme)} !important;
186
+ }
187
+
188
+ &:not(.semantic):before {
189
+ background-color: ${props => _styles.COLORS.generateToken({
190
+ componentType: 'icon',
191
+ state: 'disabled'
192
+ }, props.theme)} !important;
104
193
  cursor: not-allowed;
105
194
  }
106
195
  }
107
196
 
108
- &[aria-pressed='false']:hover label:first-of-type span {
197
+ &:not([aria-pressed='true']) label:first-of-type span {
109
198
  &.semantic {
110
- background-color: ${props => _styles.COLORS.getColor('critical_500', props.theme)};
199
+ background-color: ${props => _styles.COLORS.generateToken({
200
+ componentType: 'bg-fill',
201
+ defaultVariant: 'critical'
202
+ }, props.theme)};
111
203
  }
204
+ }
112
205
 
113
- &:before {
114
- background-color: ${props => _styles.COLORS.getColor('primary_20', props.theme)};
206
+ &.disabled label:first-of-type span {
207
+ border-color: ${props => _styles.COLORS.generateToken({
208
+ componentType: 'border',
209
+ state: 'disabled'
210
+ }, props.theme)} !important;
211
+ }
212
+
213
+ &:not([aria-pressed='true']):hover label:first-of-type span {
214
+
215
+ background-color: ${props => _styles.COLORS.generateToken({
216
+ componentType: 'bg-surface',
217
+ state: 'hover'
218
+ }, props.theme)};
219
+ border-color: ${props => _styles.COLORS.generateToken({
220
+ componentType: 'border',
221
+ state: 'hover'
222
+ }, props.theme)};
223
+ &.semantic {
224
+ background-color: ${props => _styles.COLORS.generateToken({
225
+ componentType: 'bg-fill',
226
+ defaultVariant: 'critical',
227
+ state: 'hover'
228
+ }, props.theme)};
229
+ }
230
+
231
+ &:not(.semantic):before {
232
+ background-color: ${props => _styles.COLORS.generateToken({
233
+ componentType: 'icon',
234
+ state: 'hover',
235
+ defaultVariant: 'default'
236
+ }, props.theme)};
237
+ }
238
+ }
239
+
240
+ &:not([aria-pressed='true']):active label:first-of-type span {
241
+
242
+ background-color: ${props => _styles.COLORS.generateToken({
243
+ componentType: 'bg-surface',
244
+ state: 'active'
245
+ }, props.theme)};
246
+ border-color: ${props => _styles.COLORS.generateToken({
247
+ componentType: 'border',
248
+ state: 'active'
249
+ }, props.theme)};
250
+ &.semantic {
251
+ background-color: ${props => _styles.COLORS.generateToken({
252
+ componentType: 'bg-fill',
253
+ defaultVariant: 'critical',
254
+ state: 'active'
255
+ }, props.theme)};
256
+ }
257
+
258
+ &:not(.semantic):before {
259
+ background-color: ${props => _styles.COLORS.generateToken({
260
+ componentType: 'icon',
261
+ state: 'active',
262
+ defaultVariant: 'default'
263
+ }, props.theme)};
115
264
  }
116
265
  }
117
266
 
@@ -140,6 +289,10 @@ const ToggleSwitch = exports.ToggleSwitch = _styledComponents.default.span`
140
289
  top: 0;
141
290
  left: 0;
142
291
  right: 0;
292
+ border: 1px solid ${props => _styles.COLORS.generateToken({
293
+ componentType: 'border',
294
+ defaultVariant: 'default'
295
+ }, props.theme)};
143
296
  bottom: 0;
144
297
  width: 36px;
145
298
  height: 16px;
@@ -163,7 +316,10 @@ const ToggleSwitch = exports.ToggleSwitch = _styledComponents.default.span`
163
316
  width: 12px;
164
317
  left: 2px;
165
318
  top: calc(50% - 6px);
166
- background-color: ${props => _styles.COLORS.getColor('white', props.theme)};
319
+ background-color: ${props => _styles.COLORS.generateToken({
320
+ componentType: 'icon',
321
+ defaultVariant: 'default'
322
+ }, props.theme)};
167
323
  -webkit-transition: background-color 0.1s, transform 0.1s;
168
324
  transition: 0.1s;
169
325
  transition-timing-function: ease-in-out;
@@ -1 +1 @@
1
- {"version":3,"file":"TogglerStyles.cjs","names":["_styles","require","_styledComponents","_interopRequireDefault","_typography","StyledSwitch","exports","styled","div","props","COLORS","generateToken","componentType","defaultVariant","theme","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","ComponentLStyling","state","getColor","focusStyles","ToggleSwitchContainer","label","ToggleSwitch","span"],"sources":["../../src/Toggles/TogglerStyles.ts"],"sourcesContent":["/**\r\n * Import custom styles.\r\n */\r\nimport { COLORS, focusStyles } from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled, { css } from 'styled-components';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\r\n\r\nexport const StyledSwitch = styled.div<{ $selected: boolean | undefined }>`\r\n display: flex;\r\n flex-direction: row;\r\n width: max-content;\r\n min-height: 48px;\r\n min-width: 48px;\r\n align-items: center;\r\n cursor: pointer;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default'}, props.theme)};\r\n &.small {\r\n ${props => ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.medium {\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.large {\r\n ${props => ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled'}, props.theme)};\r\n\r\n .label {\r\n cursor: not-allowed;\r\n }\r\n }\r\n .label {\r\n cursor: inherit;\r\n margin-left: 8px;\r\n }\r\n\r\n &:not(.disabled):active label:first-of-type span {\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('neutral_200', props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='true']:hover span {\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n }\r\n\r\n &[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n -webkit-transform: translateX(20px);\r\n -ms-transform: translateX(20px);\r\n transform: translateX(20px);\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='false'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='false']:hover label:first-of-type span {\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n }\r\n\r\n &:not(.disabled).focus-visible {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.disabled) label:first-of-type {\r\n cursor: inherit;\r\n }\r\n`;\r\n\r\nexport const ToggleSwitchContainer = styled.label`\r\n position: relative;\r\n align-items: center;\r\n display: inline-flex;\r\n height: 28px;\r\n width: auto;\r\n padding: 10px 6px;\r\n`;\r\n\r\nexport const ToggleSwitch = styled.span`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 36px;\r\n height: 16px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n border-radius: 100px;\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &:before {\r\n position: absolute;\r\n content: '';\r\n height: 12px;\r\n width: 12px;\r\n left: 2px;\r\n top: calc(50% - 6px);\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n -webkit-transition: background-color 0.1s, transform 0.1s;\r\n transition: 0.1s;\r\n transition-timing-function: ease-in-out;\r\n border-radius: 50%;\r\n }\r\n`;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TogglerStyles.cjs","names":["_styles","require","_styledComponents","_interopRequireDefault","_typography","StyledSwitch","exports","styled","div","props","COLORS","generateToken","componentType","defaultVariant","theme","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","ComponentLStyling","state","getColor","isOnFill","focusStyles","ToggleSwitchContainer","label","ToggleSwitch","span"],"sources":["../../src/Toggles/TogglerStyles.ts"],"sourcesContent":["/**\r\n * Import custom styles.\r\n */\r\nimport { COLORS, focusStyles } from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled, { css } from 'styled-components';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\r\n\r\nexport const StyledSwitch = styled.div<{ $selected: boolean | undefined }>`\r\n display: flex;\r\n flex-direction: row;\r\n width: max-content;\r\n min-height: 48px;\r\n min-width: 48px;\r\n align-items: center;\r\n cursor: pointer;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default'}, props.theme)};\r\n &.small {\r\n ${props => ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.medium {\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.large {\r\n ${props => ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled'}, props.theme)};\r\n\r\n .label {\r\n cursor: not-allowed;\r\n }\r\n }\r\n .label {\r\n cursor: inherit;\r\n margin-left: 8px;\r\n }\r\n\r\n\r\n label:first-of-type span.semantic, &[aria-pressed='true'] label:first-of-type span {\r\n border: none;\r\n }\r\n\r\n &:not(.disabled):active label:first-of-type span {\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n\r\n &:not([aria-pressed='true']) label:first-of-type span {\r\n &.semantic:before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'critical' }, props.theme)};\r\n }\r\n }\r\n\r\n &[aria-pressed='true'] label:first-of-type span {\r\n &.semantic:before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'positive' }, props.theme)};\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled' }, props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', state: 'disabled' }, props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='true']:hover label:first-of-type span {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'hover', defaultVariant: 'primary' }, props.theme)};\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'hover', defaultVariant: 'positive' }, props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n }\r\n\r\n &[aria-pressed='true']:active label:first-of-type span {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'active', defaultVariant: 'primary' }, props.theme)};\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'active', defaultVariant: 'positive' }, props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n }\r\n\r\n\r\n &[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n\r\n &:before {\r\n -webkit-transform: translateX(20px);\r\n -ms-transform: translateX(20px);\r\n transform: translateX(20px);\r\n }\r\n }\r\n\r\n &:not([aria-pressed='true']).disabled label:first-of-type span {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'disabled' }, props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled' }, props.theme)} !important;\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', state: 'disabled' }, props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &:not([aria-pressed='true']) label:first-of-type span {\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'critical' }, props.theme)};\r\n }\r\n }\r\n\r\n &.disabled label:first-of-type span {\r\n border-color: ${props => COLORS.generateToken({ componentType: 'border', state: 'disabled' }, props.theme)} !important;\r\n }\r\n\r\n &:not([aria-pressed='true']):hover label:first-of-type span {\r\n\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n border-color: ${props => COLORS.generateToken({ componentType: 'border', state: 'hover' }, props.theme)};\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant:'critical', state:'hover' }, props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', state: 'hover', defaultVariant: 'default' }, props.theme)};\r\n }\r\n }\r\n\r\n &:not([aria-pressed='true']):active label:first-of-type span {\r\n\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n border-color: ${props => COLORS.generateToken({ componentType: 'border', state: 'active' }, props.theme)};\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant:'critical', state: 'active' }, props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', state: 'active', defaultVariant: 'default' }, props.theme)};\r\n }\r\n }\r\n\r\n &:not(.disabled).focus-visible {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.disabled) label:first-of-type {\r\n cursor: inherit;\r\n }\r\n`;\r\n\r\nexport const ToggleSwitchContainer = styled.label`\r\n position: relative;\r\n align-items: center;\r\n display: inline-flex;\r\n height: 28px;\r\n width: auto;\r\n padding: 10px 6px;\r\n`;\r\n\r\nexport const ToggleSwitch = styled.span`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n border: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'default' }, props.theme)};\r\n bottom: 0;\r\n width: 36px;\r\n height: 16px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n border-radius: 100px;\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &:before {\r\n position: absolute;\r\n content: '';\r\n height: 12px;\r\n width: 12px;\r\n left: 2px;\r\n top: calc(50% - 6px);\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', defaultVariant: 'default' }, props.theme)};\r\n -webkit-transition: background-color 0.1s, transform 0.1s;\r\n transition: 0.1s;\r\n transition-timing-function: ease-in-out;\r\n border-radius: 50%;\r\n }\r\n`;\r\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIO,MAAMI,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,yBAAM,CAACC,GAAuC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAWC,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC1G;AACA,MAAML,KAAK,IAAI,IAAAM,6BAAiB,EAACC,8BAAkB,CAACC,OAAO,EAAE,IAAI,CAAC;AAClE;AACA;AACA;AACA,MAAMR,KAAK,IAAI,IAAAS,6BAAiB,EAACF,8BAAkB,CAACC,OAAO,EAAE,IAAI,CAAC;AAClE;AACA;AACA;AACA,MAAMR,KAAK,IAAI,IAAAU,6BAAiB,EAACH,8BAAkB,CAACC,OAAO,EAAE,IAAI,CAAC;AAClE;AACA;AACA;AACA,aAAaR,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEQ,KAAK,EAAE;AAAU,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACW,QAAQ,CAAC,aAAa,EAAEZ,KAAK,CAACK,KAAK,CAAC;AAC9E;AACA;AACA;AACA;AACA;AACA,4BAA4BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEU,QAAQ,EAAE,IAAI;EAAET,cAAc,EAAE;AAAW,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC7I;AACA;AACA;AACA;AACA;AACA,4BAA4BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEU,QAAQ,EAAE,IAAI;EAAET,cAAc,EAAE;AAAW,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC7I;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEQ,KAAK,EAAE;AAAW,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACnH;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEQ,KAAK,EAAE;AAAW,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AAClH;AACA;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEQ,KAAK,EAAE,OAAO;EAAEP,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC3I;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEQ,KAAK,EAAE,OAAO;EAAEP,cAAc,EAAE;AAAW,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC9I;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEU,QAAQ,EAAE,IAAI;EAAET,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC1I;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEQ,KAAK,EAAE,QAAQ;EAAEP,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC5I;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEQ,KAAK,EAAE,QAAQ;EAAEP,cAAc,EAAE;AAAW,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC/I;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEU,QAAQ,EAAE,IAAI;EAAET,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC1I;AACA;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACW,QAAQ,CAAC,aAAa,EAAEZ,KAAK,CAACK,KAAK,CAAC;AAC5E;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACW,QAAQ,CAAC,cAAc,EAAEZ,KAAK,CAACK,KAAK,CAAC;AAC/E;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEU,QAAQ,EAAE,IAAI;EAAET,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC1I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEQ,KAAK,EAAE;AAAW,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACtH;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEQ,KAAK,EAAE;AAAW,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACrH;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEQ,KAAK,EAAE;AAAW,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AAClH;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEC,cAAc,EAAE;AAAW,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC9H;AACA;AACA;AACA;AACA,oBAAoBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,QAAQ;EAAEQ,KAAK,EAAE;AAAW,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AAC9G;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEQ,KAAK,EAAE;AAAQ,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACnH,oBAAoBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,QAAQ;EAAEQ,KAAK,EAAE;AAAQ,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AAC3G;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEC,cAAc,EAAC,UAAU;EAAEO,KAAK,EAAC;AAAQ,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AAC5I;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEQ,KAAK,EAAE,OAAO;EAAEP,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC1I;AACA;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEQ,KAAK,EAAE;AAAS,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACpH,oBAAoBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,QAAQ;EAAEQ,KAAK,EAAE;AAAS,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AAC5G;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEC,cAAc,EAAC,UAAU;EAAEO,KAAK,EAAE;AAAS,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AAC9I;AACA;AACA;AACA,0BAA0BL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEQ,KAAK,EAAE,QAAQ;EAAEP,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC3I;AACA;AACA;AACA;AACA,MAAMS,mBAAW;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,qBAAqB,GAAAlB,OAAA,CAAAkB,qBAAA,GAAGjB,yBAAM,CAACkB,KAAK;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,YAAY,GAAApB,OAAA,CAAAoB,YAAA,GAAGnB,yBAAM,CAACoB,IAAI;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsBlB,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,QAAQ;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AACxH;AACA;AACA;AACA,sBAAsBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC3H;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AACxH;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -47,32 +47,100 @@ export const StyledSwitch = styled.div`
47
47
  margin-left: 8px;
48
48
  }
49
49
 
50
+
51
+ label:first-of-type span.semantic, &[aria-pressed='true'] label:first-of-type span {
52
+ border: none;
53
+ }
54
+
50
55
  &:not(.disabled):active label:first-of-type span {
51
56
  &:before {
52
57
  background-color: ${props => COLORS.getColor('primary_100', props.theme)};
53
58
  }
54
59
  }
55
60
 
61
+ &:not([aria-pressed='true']) label:first-of-type span {
62
+ &.semantic:before {
63
+ background-color: ${props => COLORS.generateToken({
64
+ componentType: 'icon',
65
+ isOnFill: true,
66
+ defaultVariant: 'critical'
67
+ }, props.theme)};
68
+ }
69
+ }
70
+
71
+ &[aria-pressed='true'] label:first-of-type span {
72
+ &.semantic:before {
73
+ background-color: ${props => COLORS.generateToken({
74
+ componentType: 'icon',
75
+ isOnFill: true,
76
+ defaultVariant: 'positive'
77
+ }, props.theme)};
78
+ }
79
+ }
80
+
56
81
  &.disabled[aria-pressed='true'] label:first-of-type span {
57
- background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;
82
+ background-color: ${props => COLORS.generateToken({
83
+ componentType: 'bg-fill',
84
+ state: 'disabled'
85
+ }, props.theme)} !important;
58
86
  cursor: not-allowed;
59
87
 
60
88
  &:before {
61
- background-color: ${props => COLORS.getColor('neutral_200', props.theme)} !important;
89
+ background-color: ${props => COLORS.generateToken({
90
+ componentType: 'icon',
91
+ state: 'disabled'
92
+ }, props.theme)} !important;
62
93
  cursor: not-allowed;
63
94
  }
64
95
  }
65
96
 
66
- &[aria-pressed='true']:hover span {
97
+ &[aria-pressed='true']:hover label:first-of-type span {
98
+ background-color: ${props => COLORS.generateToken({
99
+ componentType: 'bg-fill',
100
+ state: 'hover',
101
+ defaultVariant: 'primary'
102
+ }, props.theme)};
67
103
  &.semantic {
68
- background-color: ${props => COLORS.getColor('positive_500', props.theme)};
104
+ background-color: ${props => COLORS.generateToken({
105
+ componentType: 'bg-fill',
106
+ state: 'hover',
107
+ defaultVariant: 'positive'
108
+ }, props.theme)};
69
109
  }
70
110
 
71
- &:before {
72
- background-color: ${props => COLORS.getColor('primary_20', props.theme)};
111
+ &:not(.semantic):before {
112
+ background-color: ${props => COLORS.generateToken({
113
+ componentType: 'icon',
114
+ isOnFill: true,
115
+ defaultVariant: 'primary'
116
+ }, props.theme)};
117
+ }
118
+ }
119
+
120
+ &[aria-pressed='true']:active label:first-of-type span {
121
+ background-color: ${props => COLORS.generateToken({
122
+ componentType: 'bg-fill',
123
+ state: 'active',
124
+ defaultVariant: 'primary'
125
+ }, props.theme)};
126
+ &.semantic {
127
+ background-color: ${props => COLORS.generateToken({
128
+ componentType: 'bg-fill',
129
+ state: 'active',
130
+ defaultVariant: 'positive'
131
+ }, props.theme)};
132
+ }
133
+
134
+ &:not(.semantic):before {
135
+ background-color: ${props => COLORS.generateToken({
136
+ componentType: 'icon',
137
+ isOnFill: true,
138
+ defaultVariant: 'primary'
139
+ }, props.theme)};
73
140
  }
74
141
  }
75
142
 
143
+
76
144
  &[aria-pressed='true'] label:first-of-type span {
77
145
  background-color: ${props => COLORS.getColor('primary_500', props.theme)};
78
146
 
@@ -80,6 +148,14 @@ export const StyledSwitch = styled.div`
80
148
  background-color: ${props => COLORS.getColor('positive_500', props.theme)};
81
149
  }
82
150
 
151
+ &:not(.semantic):before {
152
+ background-color: ${props => COLORS.generateToken({
153
+ componentType: 'icon',
154
+ isOnFill: true,
155
+ defaultVariant: 'primary'
156
+ }, props.theme)};
157
+ }
158
+
83
159
  &:before {
84
160
  -webkit-transform: translateX(20px);
85
161
  -ms-transform: translateX(20px);
@@ -87,23 +163,96 @@ export const StyledSwitch = styled.div`
87
163
  }
88
164
  }
89
165
 
90
- &.disabled[aria-pressed='false'] label:first-of-type span {
91
- background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;
166
+ &:not([aria-pressed='true']).disabled label:first-of-type span {
167
+ background-color: ${props => COLORS.generateToken({
168
+ componentType: 'bg-surface',
169
+ state: 'disabled'
170
+ }, props.theme)} !important;
92
171
  cursor: not-allowed;
93
172
 
94
- &:before {
95
- background-color: ${props => COLORS.getColor('neutral_100', props.theme)} !important;
173
+ &.semantic {
174
+ background-color: ${props => COLORS.generateToken({
175
+ componentType: 'bg-fill',
176
+ state: 'disabled'
177
+ }, props.theme)} !important;
178
+ }
179
+
180
+ &:not(.semantic):before {
181
+ background-color: ${props => COLORS.generateToken({
182
+ componentType: 'icon',
183
+ state: 'disabled'
184
+ }, props.theme)} !important;
96
185
  cursor: not-allowed;
97
186
  }
98
187
  }
99
188
 
100
- &[aria-pressed='false']:hover label:first-of-type span {
189
+ &:not([aria-pressed='true']) label:first-of-type span {
101
190
  &.semantic {
102
- background-color: ${props => COLORS.getColor('critical_500', props.theme)};
191
+ background-color: ${props => COLORS.generateToken({
192
+ componentType: 'bg-fill',
193
+ defaultVariant: 'critical'
194
+ }, props.theme)};
103
195
  }
196
+ }
104
197
 
105
- &:before {
106
- background-color: ${props => COLORS.getColor('primary_20', props.theme)};
198
+ &.disabled label:first-of-type span {
199
+ border-color: ${props => COLORS.generateToken({
200
+ componentType: 'border',
201
+ state: 'disabled'
202
+ }, props.theme)} !important;
203
+ }
204
+
205
+ &:not([aria-pressed='true']):hover label:first-of-type span {
206
+
207
+ background-color: ${props => COLORS.generateToken({
208
+ componentType: 'bg-surface',
209
+ state: 'hover'
210
+ }, props.theme)};
211
+ border-color: ${props => COLORS.generateToken({
212
+ componentType: 'border',
213
+ state: 'hover'
214
+ }, props.theme)};
215
+ &.semantic {
216
+ background-color: ${props => COLORS.generateToken({
217
+ componentType: 'bg-fill',
218
+ defaultVariant: 'critical',
219
+ state: 'hover'
220
+ }, props.theme)};
221
+ }
222
+
223
+ &:not(.semantic):before {
224
+ background-color: ${props => COLORS.generateToken({
225
+ componentType: 'icon',
226
+ state: 'hover',
227
+ defaultVariant: 'default'
228
+ }, props.theme)};
229
+ }
230
+ }
231
+
232
+ &:not([aria-pressed='true']):active label:first-of-type span {
233
+
234
+ background-color: ${props => COLORS.generateToken({
235
+ componentType: 'bg-surface',
236
+ state: 'active'
237
+ }, props.theme)};
238
+ border-color: ${props => COLORS.generateToken({
239
+ componentType: 'border',
240
+ state: 'active'
241
+ }, props.theme)};
242
+ &.semantic {
243
+ background-color: ${props => COLORS.generateToken({
244
+ componentType: 'bg-fill',
245
+ defaultVariant: 'critical',
246
+ state: 'active'
247
+ }, props.theme)};
248
+ }
249
+
250
+ &:not(.semantic):before {
251
+ background-color: ${props => COLORS.generateToken({
252
+ componentType: 'icon',
253
+ state: 'active',
254
+ defaultVariant: 'default'
255
+ }, props.theme)};
107
256
  }
108
257
  }
109
258
 
@@ -132,6 +281,10 @@ export const ToggleSwitch = styled.span`
132
281
  top: 0;
133
282
  left: 0;
134
283
  right: 0;
284
+ border: 1px solid ${props => COLORS.generateToken({
285
+ componentType: 'border',
286
+ defaultVariant: 'default'
287
+ }, props.theme)};
135
288
  bottom: 0;
136
289
  width: 36px;
137
290
  height: 16px;
@@ -155,7 +308,10 @@ export const ToggleSwitch = styled.span`
155
308
  width: 12px;
156
309
  left: 2px;
157
310
  top: calc(50% - 6px);
158
- background-color: ${props => COLORS.getColor('white', props.theme)};
311
+ background-color: ${props => COLORS.generateToken({
312
+ componentType: 'icon',
313
+ defaultVariant: 'default'
314
+ }, props.theme)};
159
315
  -webkit-transition: background-color 0.1s, transform 0.1s;
160
316
  transition: 0.1s;
161
317
  transition-timing-function: ease-in-out;
@@ -1 +1 @@
1
- {"version":3,"file":"TogglerStyles.js","names":["COLORS","focusStyles","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","StyledSwitch","div","props","generateToken","componentType","defaultVariant","theme","Regular","state","getColor","ToggleSwitchContainer","label","ToggleSwitch","span"],"sources":["../../src/Toggles/TogglerStyles.ts"],"sourcesContent":["/**\r\n * Import custom styles.\r\n */\r\nimport { COLORS, focusStyles } from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled, { css } from 'styled-components';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\r\n\r\nexport const StyledSwitch = styled.div<{ $selected: boolean | undefined }>`\r\n display: flex;\r\n flex-direction: row;\r\n width: max-content;\r\n min-height: 48px;\r\n min-width: 48px;\r\n align-items: center;\r\n cursor: pointer;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default'}, props.theme)};\r\n &.small {\r\n ${props => ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.medium {\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.large {\r\n ${props => ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled'}, props.theme)};\r\n\r\n .label {\r\n cursor: not-allowed;\r\n }\r\n }\r\n .label {\r\n cursor: inherit;\r\n margin-left: 8px;\r\n }\r\n\r\n &:not(.disabled):active label:first-of-type span {\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('neutral_200', props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='true']:hover span {\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n }\r\n\r\n &[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n -webkit-transform: translateX(20px);\r\n -ms-transform: translateX(20px);\r\n transform: translateX(20px);\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='false'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='false']:hover label:first-of-type span {\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n }\r\n\r\n &:not(.disabled).focus-visible {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.disabled) label:first-of-type {\r\n cursor: inherit;\r\n }\r\n`;\r\n\r\nexport const ToggleSwitchContainer = styled.label`\r\n position: relative;\r\n align-items: center;\r\n display: inline-flex;\r\n height: 28px;\r\n width: auto;\r\n padding: 10px 6px;\r\n`;\r\n\r\nexport const ToggleSwitch = styled.span`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 36px;\r\n height: 16px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n border-radius: 100px;\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &:before {\r\n position: absolute;\r\n content: '';\r\n height: 12px;\r\n width: 12px;\r\n left: 2px;\r\n top: calc(50% - 6px);\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n -webkit-transition: background-color 0.1s, transform 0.1s;\r\n transition: 0.1s;\r\n transition-timing-function: ease-in-out;\r\n border-radius: 50%;\r\n }\r\n`;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TogglerStyles.js","names":["COLORS","focusStyles","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","StyledSwitch","div","props","generateToken","componentType","defaultVariant","theme","Regular","state","getColor","isOnFill","ToggleSwitchContainer","label","ToggleSwitch","span"],"sources":["../../src/Toggles/TogglerStyles.ts"],"sourcesContent":["/**\r\n * Import custom styles.\r\n */\r\nimport { COLORS, focusStyles } from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled, { css } from 'styled-components';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\r\n\r\nexport const StyledSwitch = styled.div<{ $selected: boolean | undefined }>`\r\n display: flex;\r\n flex-direction: row;\r\n width: max-content;\r\n min-height: 48px;\r\n min-width: 48px;\r\n align-items: center;\r\n cursor: pointer;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default'}, props.theme)};\r\n &.small {\r\n ${props => ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.medium {\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.large {\r\n ${props => ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled'}, props.theme)};\r\n\r\n .label {\r\n cursor: not-allowed;\r\n }\r\n }\r\n .label {\r\n cursor: inherit;\r\n margin-left: 8px;\r\n }\r\n\r\n\r\n label:first-of-type span.semantic, &[aria-pressed='true'] label:first-of-type span {\r\n border: none;\r\n }\r\n\r\n &:not(.disabled):active label:first-of-type span {\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n\r\n &:not([aria-pressed='true']) label:first-of-type span {\r\n &.semantic:before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'critical' }, props.theme)};\r\n }\r\n }\r\n\r\n &[aria-pressed='true'] label:first-of-type span {\r\n &.semantic:before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'positive' }, props.theme)};\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled' }, props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', state: 'disabled' }, props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='true']:hover label:first-of-type span {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'hover', defaultVariant: 'primary' }, props.theme)};\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'hover', defaultVariant: 'positive' }, props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n }\r\n\r\n &[aria-pressed='true']:active label:first-of-type span {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'active', defaultVariant: 'primary' }, props.theme)};\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'active', defaultVariant: 'positive' }, props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n }\r\n\r\n\r\n &[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n\r\n &:before {\r\n -webkit-transform: translateX(20px);\r\n -ms-transform: translateX(20px);\r\n transform: translateX(20px);\r\n }\r\n }\r\n\r\n &:not([aria-pressed='true']).disabled label:first-of-type span {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'disabled' }, props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled' }, props.theme)} !important;\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', state: 'disabled' }, props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &:not([aria-pressed='true']) label:first-of-type span {\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'critical' }, props.theme)};\r\n }\r\n }\r\n\r\n &.disabled label:first-of-type span {\r\n border-color: ${props => COLORS.generateToken({ componentType: 'border', state: 'disabled' }, props.theme)} !important;\r\n }\r\n\r\n &:not([aria-pressed='true']):hover label:first-of-type span {\r\n\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n border-color: ${props => COLORS.generateToken({ componentType: 'border', state: 'hover' }, props.theme)};\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant:'critical', state:'hover' }, props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', state: 'hover', defaultVariant: 'default' }, props.theme)};\r\n }\r\n }\r\n\r\n &:not([aria-pressed='true']):active label:first-of-type span {\r\n\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n border-color: ${props => COLORS.generateToken({ componentType: 'border', state: 'active' }, props.theme)};\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant:'critical', state: 'active' }, props.theme)};\r\n }\r\n\r\n &:not(.semantic):before {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', state: 'active', defaultVariant: 'default' }, props.theme)};\r\n }\r\n }\r\n\r\n &:not(.disabled).focus-visible {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.disabled) label:first-of-type {\r\n cursor: inherit;\r\n }\r\n`;\r\n\r\nexport const ToggleSwitchContainer = styled.label`\r\n position: relative;\r\n align-items: center;\r\n display: inline-flex;\r\n height: 28px;\r\n width: auto;\r\n padding: 10px 6px;\r\n`;\r\n\r\nexport const ToggleSwitch = styled.span`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n border: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'default' }, props.theme)};\r\n bottom: 0;\r\n width: 36px;\r\n height: 16px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n border-radius: 100px;\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &:before {\r\n position: absolute;\r\n content: '';\r\n height: 12px;\r\n width: 12px;\r\n left: 2px;\r\n top: calc(50% - 6px);\r\n background-color: ${props => COLORS.generateToken({ componentType: 'icon', defaultVariant: 'default' }, props.theme)};\r\n -webkit-transition: background-color 0.1s, transform 0.1s;\r\n transition: 0.1s;\r\n transition-timing-function: ease-in-out;\r\n border-radius: 50%;\r\n }\r\n`;\r\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laerdal/life-react-components",
3
- "version": "6.0.0-dev.21.full.full",
3
+ "version": "6.0.0-dev.23.full",
4
4
  "private": false,
5
5
  "author": "Erik Martirosyan \u003cerik.martirosyan@laerdal.com\u003e",
6
6
  "contributors": [