@descope/web-components-ui 1.0.45 → 1.0.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. package/dist/index.esm.js +231 -133
  2. package/dist/index.esm.js.map +1 -1
  3. package/dist/umd/599.js +1 -1
  4. package/dist/umd/63.js +1 -1
  5. package/dist/umd/938.js +1 -1
  6. package/dist/umd/descope-button-index-js.js +1 -1
  7. package/dist/umd/descope-checkbox-index-js.js +1 -1
  8. package/dist/umd/descope-email-field-index-js.js +1 -1
  9. package/dist/umd/descope-logo-index-js.js +1 -0
  10. package/dist/umd/descope-number-field-index-js.js +1 -1
  11. package/dist/umd/descope-password-field-index-js.js +1 -1
  12. package/dist/umd/descope-switch-toggle-index-js.js +1 -1
  13. package/dist/umd/descope-text-area-index-js.js +1 -1
  14. package/dist/umd/index.js +1 -1
  15. package/package.json +1 -1
  16. package/src/components/descope-button/Button.js +5 -2
  17. package/src/components/descope-checkbox/Checkbox.js +8 -3
  18. package/src/components/descope-email-field/EmailField.js +3 -0
  19. package/src/components/descope-logo/Logo.js +57 -0
  20. package/src/components/descope-logo/index.js +5 -0
  21. package/src/components/descope-number-field/NumberField.js +3 -0
  22. package/src/components/descope-password-field/PasswordField.js +3 -0
  23. package/src/components/descope-switch-toggle/SwitchToggle.js +7 -2
  24. package/src/components/descope-text-area/TextArea.js +7 -2
  25. package/src/components/descope-text-field/TextField.js +5 -1
  26. package/src/componentsHelpers/createStyleMixin/helpers.js +1 -1
  27. package/src/componentsHelpers/inputMixin.js +19 -4
  28. package/src/dev/index.js +2 -7
  29. package/src/theme/components/index.js +3 -1
  30. package/src/theme/components/logo.js +9 -0
  31. package/src/theme/components/input.js +0 -106
package/dist/umd/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.DescopeUI=t():e.DescopeUI=t()}(self,(()=>(()=>{var e,t,r,o={534:(e,t,r)=>{var o={"./descope-button/index.js":[3029,840,767,211,513,729,313,599,97,662],"./descope-checkbox/index.js":[7904,840,786,208,767,515,313,599,97,938,761],"./descope-combo/index.js":[2798,840,786,208,233,767,422,211,725,513,789,729,313,599,97,938,63,662,934,247],"./descope-container/index.js":[147,313,599,317],"./descope-date-picker/index.js":[2552,840,786,208,233,767,211,513,54,313,97,17],"./descope-email-field/index.js":[689,840,786,208,233,422,725,437,313,599,97,938,63,760],"./descope-number-field/index.js":[4951,840,786,208,233,422,806,313,599,97,938,63,142],"./descope-password-field/index.js":[1721,840,786,208,233,767,422,211,725,56,313,599,97,938,63,320],"./descope-switch-toggle/index.js":[3774,840,786,208,767,515,313,599,97,938,739],"./descope-text-area/index.js":[178,840,786,233,422,101,313,599,97,938,322],"./descope-text-field/index.js":[9357,840,786,208,233,422,725,789,313,599,97,938,63,934]};function n(e){if(!r.o(o,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=o[e],n=t[0];return Promise.all(t.slice(1).map(r.e)).then((()=>r(n)))}n.keys=()=>Object.keys(o),n.id=534,e.exports=n},7507:(e,t,r)=>{const o=r(534);e.exports=o.keys().reduce(((e,t)=>(e[t.replace(/.*?([^\/]+)\/index\.js$/,"$1")]=()=>o(t),e)),{})}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return o[e](r,r.exports,i),r.exports}i.m=o,e=[],i.O=(t,r,o,n)=>{if(!r){var s=1/0;for(p=0;p<e.length;p++){for(var[r,o,n]=e[p],d=!0,c=0;c<r.length;c++)(!1&n||s>=n)&&Object.keys(i.O).every((e=>i.O[e](r[c])))?r.splice(c--,1):(d=!1,n<s&&(s=n));if(d){e.splice(p--,1);var a=o();void 0!==a&&(t=a)}}return t}n=n||0;for(var p=e.length;p>0&&e[p-1][2]>n;p--)e[p]=e[p-1];e[p]=[r,o,n]},i.F={},i.E=e=>{Object.keys(i.F).map((t=>{i.F[t](e)}))},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({17:"descope-date-picker-index-js",142:"descope-number-field-index-js",247:"descope-combo-index-js",317:"descope-container-index-js",320:"descope-password-field-index-js",322:"descope-text-area-index-js",662:"descope-button-index-js",739:"descope-switch-toggle-index-js",760:"descope-email-field-index-js",761:"descope-checkbox-index-js",934:"descope-text-field-index-js"}[e]||e)+".js"),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="DescopeUI:",i.l=(e,o,n,s)=>{if(t[e])t[e].push(o);else{var d,c;if(void 0!==n)for(var a=document.getElementsByTagName("script"),p=0;p<a.length;p++){var l=a[p];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==r+n){d=l;break}}d||(c=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.setAttribute("data-webpack",r+n),d.src=e),t[e]=[o];var u=(r,o)=>{d.onerror=d.onload=null,clearTimeout(f);var n=t[e];if(delete t[e],d.parentNode&&d.parentNode.removeChild(d),n&&n.forEach((e=>e(o))),r)return r(o)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),c&&document.head.appendChild(d)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{var e={826:0};i.f.j=(t,r)=>{var o=i.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else{var n=new Promise(((r,n)=>o=e[t]=[r,n]));r.push(o[2]=n);var s=i.p+i.u(t),d=new Error;i.l(s,(r=>{if(i.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),s=r&&r.target&&r.target.src;d.message="Loading chunk "+t+" failed.\n("+n+": "+s+")",d.name="ChunkLoadError",d.type=n,d.request=s,o[1](d)}}),"chunk-"+t,t)}},i.F.j=t=>{if(!i.o(e,t)||void 0===e[t]){e[t]=null;var r=document.createElement("link");i.nc&&r.setAttribute("nonce",i.nc),r.rel="prefetch",r.as="script",r.href=i.p+i.u(t),document.head.appendChild(r)}},i.O.j=t=>0===e[t];var t=(t,r)=>{var o,n,[s,d,c]=r,a=0;if(s.some((t=>0!==e[t]))){for(o in d)i.o(d,o)&&(i.m[o]=d[o]);if(c)var p=c(i)}for(t&&t(r);a<s.length;a++)n=s[a],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(p)},r=self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),i.O(0,[826],(()=>{[840,767,211,513,729,313,599,97,662,786,208,515,938,761,233,422,725,789,63,934,247,317,54,17,437,760,806,142,56,320,739,101,322].map(i.E)}),5);var s=i(7507);return i.O(s)})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.DescopeUI=t():e.DescopeUI=t()}(self,(()=>(()=>{var e,t,o,r={534:(e,t,o)=>{var r={"./descope-button/index.js":[3029,840,767,211,513,729,313,599,97,662],"./descope-checkbox/index.js":[7904,840,786,208,767,515,313,599,97,938,761],"./descope-combo/index.js":[2798,840,786,208,233,767,422,211,725,513,789,729,313,599,97,938,63,662,934,247],"./descope-container/index.js":[147,313,599,317],"./descope-date-picker/index.js":[2552,840,786,208,233,767,211,513,54,313,97,17],"./descope-email-field/index.js":[689,840,786,208,233,422,725,437,313,599,97,938,63,760],"./descope-logo/index.js":[4641,313,599,984],"./descope-number-field/index.js":[4951,840,786,208,233,422,806,313,599,97,938,63,142],"./descope-password-field/index.js":[1721,840,786,208,233,767,422,211,725,56,313,599,97,938,63,320],"./descope-switch-toggle/index.js":[3774,840,786,208,767,515,313,599,97,938,739],"./descope-text-area/index.js":[178,840,786,233,422,101,313,599,97,938,322],"./descope-text-field/index.js":[9357,840,786,208,233,422,725,789,313,599,97,938,63,934]};function n(e){if(!o.o(r,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],n=t[0];return Promise.all(t.slice(1).map(o.e)).then((()=>o(n)))}n.keys=()=>Object.keys(r),n.id=534,e.exports=n},7507:(e,t,o)=>{const r=o(534);e.exports=r.keys().reduce(((e,t)=>(e[t.replace(/.*?([^\/]+)\/index\.js$/,"$1")]=()=>r(t),e)),{})}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,e=[],i.O=(t,o,r,n)=>{if(!o){var s=1/0;for(p=0;p<e.length;p++){for(var[o,r,n]=e[p],d=!0,c=0;c<o.length;c++)(!1&n||s>=n)&&Object.keys(i.O).every((e=>i.O[e](o[c])))?o.splice(c--,1):(d=!1,n<s&&(s=n));if(d){e.splice(p--,1);var a=r();void 0!==a&&(t=a)}}return t}n=n||0;for(var p=e.length;p>0&&e[p-1][2]>n;p--)e[p]=e[p-1];e[p]=[o,r,n]},i.F={},i.E=e=>{Object.keys(i.F).map((t=>{i.F[t](e)}))},i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,o)=>(i.f[o](e,t),t)),[])),i.u=e=>(({17:"descope-date-picker-index-js",142:"descope-number-field-index-js",247:"descope-combo-index-js",317:"descope-container-index-js",320:"descope-password-field-index-js",322:"descope-text-area-index-js",662:"descope-button-index-js",739:"descope-switch-toggle-index-js",760:"descope-email-field-index-js",761:"descope-checkbox-index-js",934:"descope-text-field-index-js",984:"descope-logo-index-js"}[e]||e)+".js"),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},o="DescopeUI:",i.l=(e,r,n,s)=>{if(t[e])t[e].push(r);else{var d,c;if(void 0!==n)for(var a=document.getElementsByTagName("script"),p=0;p<a.length;p++){var l=a[p];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){d=l;break}}d||(c=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.setAttribute("data-webpack",o+n),d.src=e),t[e]=[r];var u=(o,r)=>{d.onerror=d.onload=null,clearTimeout(f);var n=t[e];if(delete t[e],d.parentNode&&d.parentNode.removeChild(d),n&&n.forEach((e=>e(r))),o)return o(r)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),c&&document.head.appendChild(d)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");o.length&&(e=o[o.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{var e={826:0};i.f.j=(t,o)=>{var r=i.o(e,t)?e[t]:void 0;if(0!==r)if(r)o.push(r[2]);else{var n=new Promise(((o,n)=>r=e[t]=[o,n]));o.push(r[2]=n);var s=i.p+i.u(t),d=new Error;i.l(s,(o=>{if(i.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var n=o&&("load"===o.type?"missing":o.type),s=o&&o.target&&o.target.src;d.message="Loading chunk "+t+" failed.\n("+n+": "+s+")",d.name="ChunkLoadError",d.type=n,d.request=s,r[1](d)}}),"chunk-"+t,t)}},i.F.j=t=>{if(!i.o(e,t)||void 0===e[t]){e[t]=null;var o=document.createElement("link");i.nc&&o.setAttribute("nonce",i.nc),o.rel="prefetch",o.as="script",o.href=i.p+i.u(t),document.head.appendChild(o)}},i.O.j=t=>0===e[t];var t=(t,o)=>{var r,n,[s,d,c]=o,a=0;if(s.some((t=>0!==e[t]))){for(r in d)i.o(d,r)&&(i.m[r]=d[r]);if(c)var p=c(i)}for(t&&t(o);a<s.length;a++)n=s[a],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(p)},o=self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})(),i.O(0,[826],(()=>{[840,767,211,513,729,313,599,97,662,786,208,515,938,761,233,422,725,789,63,934,247,317,54,17,437,760,984,806,142,56,320,739,101,322].map(i.E)}),5);var s=i(7507);return i.O(s)})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/web-components-ui",
3
- "version": "1.0.45",
3
+ "version": "1.0.48",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -12,6 +12,9 @@ export const componentName = getComponentName('button');
12
12
 
13
13
  const editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;
14
14
  const resetStyles = `
15
+ :host {
16
+ display: inline-block;
17
+ }
15
18
  vaadin-button { margin: 0; }
16
19
  vaadin-button::part(prefix) {
17
20
  margin-left: 0;
@@ -46,9 +49,9 @@ const Button = compose(
46
49
  borderWidth: {},
47
50
  fontSize: {},
48
51
  height: {},
49
- width: [matchHostStyle()],
52
+ width: matchHostStyle(),
50
53
  cursor: {},
51
- padding: [matchHostStyle(), { selector: selectors.label }],
54
+ padding: [{ selector: selectors.label }],
52
55
  textDecoration: { selector: selectors.label }
53
56
  }
54
57
  }),
@@ -5,15 +5,16 @@ import {
5
5
  createProxy,
6
6
  inputMixin,
7
7
  compose,
8
- componentNameValidationMixin
8
+ componentNameValidationMixin,
9
9
  } from '../../componentsHelpers';
10
+ import { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';
10
11
 
11
12
  export const componentName = getComponentName('checkbox');
12
13
 
13
14
  const Checkbox = compose(
14
15
  createStyleMixin({
15
16
  mappings: {
16
- width: {},
17
+ width: matchHostStyle(),
17
18
  cursor: [{}, { selector: '> label' }]
18
19
  }
19
20
  }),
@@ -24,7 +25,11 @@ const Checkbox = compose(
24
25
  createProxy({
25
26
  slots: [],
26
27
  wrappedEleName: 'vaadin-checkbox',
27
- style: ``,
28
+ style: `
29
+ :host {
30
+ display: inline-block;
31
+ }
32
+ `,
28
33
  excludeAttrsSync: ['tabindex'],
29
34
  componentName
30
35
  })
@@ -33,6 +33,9 @@ const EmailField = compose(
33
33
  );
34
34
 
35
35
  overrides = `
36
+ :host {
37
+ display: inline-block;
38
+ }
36
39
  vaadin-email-field {
37
40
  margin: 0;
38
41
  padding: 0;
@@ -0,0 +1,57 @@
1
+ import {
2
+ getComponentName,
3
+ createStyleMixin,
4
+ draggableMixin,
5
+ compose,
6
+ componentNameValidationMixin
7
+ } from '../../componentsHelpers';
8
+
9
+ export const componentName = getComponentName('logo');
10
+
11
+ let style
12
+ const getStyle = () => style;
13
+
14
+ class RawLogo extends HTMLElement {
15
+ static get componentName() {
16
+ return componentName;
17
+ }
18
+ constructor() {
19
+ super();
20
+ const template = document.createElement('template');
21
+ template.innerHTML = `
22
+ <style>
23
+ ${getStyle()}
24
+ </style>
25
+ <div></div>`;
26
+
27
+ this.attachShadow({ mode: 'open' });
28
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
29
+
30
+ this.baseSelector = ':host > div';
31
+ }
32
+ }
33
+
34
+ const Logo = compose(
35
+ createStyleMixin({
36
+ mappings: {
37
+ height: {},
38
+ width: {},
39
+ url: {},
40
+ fallbackUrl: {},
41
+ }
42
+ }),
43
+ draggableMixin,
44
+ componentNameValidationMixin
45
+ )(RawLogo);
46
+
47
+ style = `
48
+ :host {
49
+ display: inline-block;
50
+ }
51
+ :host > div {
52
+ display: inline-block;
53
+ content: var(${Logo.cssVarList.url}, var(${Logo.cssVarList.fallbackUrl}));
54
+ }
55
+ `
56
+
57
+ export default Logo;
@@ -0,0 +1,5 @@
1
+ import Logo, { componentName } from './Logo';
2
+
3
+ customElements.define(componentName, Logo);
4
+
5
+ export { Logo };
@@ -33,6 +33,9 @@ const NumberField = compose(
33
33
  );
34
34
 
35
35
  overrides = `
36
+ :host {
37
+ display: inline-block;
38
+ }
36
39
  vaadin-number-field {
37
40
  margin: 0;
38
41
  padding: 0;
@@ -40,6 +40,9 @@ const PasswordField = compose(
40
40
  );
41
41
 
42
42
  overrides = `
43
+ :host {
44
+ display: inline-block;
45
+ }
43
46
  vaadin-password-field {
44
47
  margin: 0;
45
48
  padding: 0;
@@ -5,8 +5,9 @@ import {
5
5
  createProxy,
6
6
  inputMixin,
7
7
  compose,
8
- componentNameValidationMixin
8
+ componentNameValidationMixin,
9
9
  } from '../../componentsHelpers';
10
+ import { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';
10
11
 
11
12
  export const componentName = getComponentName('switch-toggle');
12
13
 
@@ -15,7 +16,7 @@ let overrides = ``;
15
16
  const SwitchToggle = compose(
16
17
  createStyleMixin({
17
18
  mappings: {
18
- width: {},
19
+ width: matchHostStyle(),
19
20
  cursor: [{}, { selector: '> label' }]
20
21
  }
21
22
  }),
@@ -33,6 +34,10 @@ const SwitchToggle = compose(
33
34
  );
34
35
 
35
36
  overrides = `
37
+ :host {
38
+ display: inline-block;
39
+ }
40
+
36
41
  :host {
37
42
  --margin: 7px;
38
43
  --width: var(${SwitchToggle.cssVarList.width});
@@ -5,8 +5,9 @@ import {
5
5
  createProxy,
6
6
  inputMixin,
7
7
  compose,
8
- componentNameValidationMixin
8
+ componentNameValidationMixin,
9
9
  } from '../../componentsHelpers';
10
+ import { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';
10
11
 
11
12
  export const componentName = getComponentName('text-area');
12
13
 
@@ -24,7 +25,7 @@ const TextArea = compose(
24
25
  resize: { selector: '> textarea' },
25
26
  color: { selector: selectors.label },
26
27
  cursor: {},
27
- width: {},
28
+ width: matchHostStyle(),
28
29
  backgroundColor: { selector: selectors.input },
29
30
  borderWidth: { selector: selectors.input },
30
31
  borderStyle: { selector: selectors.input },
@@ -48,6 +49,10 @@ const TextArea = compose(
48
49
  );
49
50
 
50
51
  overrides = `
52
+ :host {
53
+ display: inline-block;
54
+ }
55
+
51
56
  vaadin-text-area {
52
57
  margin: 0;
53
58
  }
@@ -23,7 +23,7 @@ let overrides = ``;
23
23
  export const textFieldMappings = {
24
24
  color: { selector: selectors.input },
25
25
  backgroundColor: { selector: selectors.input },
26
- width: [matchHostStyle()],
26
+ width: matchHostStyle(),
27
27
  color: { selector: selectors.input },
28
28
  borderColor: [
29
29
  { selector: selectors.input },
@@ -66,6 +66,10 @@ const TextField = compose(
66
66
  );
67
67
 
68
68
  overrides = `
69
+ :host {
70
+ display: inline-block;
71
+ }
72
+
69
73
  vaadin-text-field {
70
74
  margin: 0;
71
75
  padding: 0;
@@ -80,7 +80,7 @@ export const createCssVarsList = (componentName, mappings) =>
80
80
 
81
81
  // match the host selector with the inner element selector
82
82
  // e.g. when we want to set the same size for the host & the inner element this can be useful
83
- export const matchHostStyle = (mappingObj) => [
83
+ export const matchHostStyle = (mappingObj = {}) => [
84
84
  mappingObj,
85
85
  { ...mappingObj, selector: () => `:host${mappingObj.selector || ''}` }
86
86
  ];
@@ -1,3 +1,15 @@
1
+ const propertyObserver = (src, target, property) => {
2
+ Object.defineProperty(src, property, {
3
+ set: function (v) {
4
+ return target[property] = v
5
+ },
6
+ get: function () {
7
+ return target[property]
8
+ },
9
+ configurable: true
10
+ });
11
+ }
12
+
1
13
  export const inputMixin = (superclass) =>
2
14
  class InputMixinClass extends superclass {
3
15
  static get formAssociated() {
@@ -17,6 +29,7 @@ export const inputMixin = (superclass) =>
17
29
  }
18
30
 
19
31
  connectedCallback() {
32
+ this.baseEle = this.shadowRoot.querySelector(this.baseSelector)
20
33
  super.connectedCallback?.();
21
34
 
22
35
  // this is needed in order to make sure the form input validation is working
@@ -24,13 +37,15 @@ export const inputMixin = (superclass) =>
24
37
  this.setAttribute('tabindex', 0);
25
38
  }
26
39
 
27
- // vaadin does not expose all those validation attributes so we need to take it from the input
28
- // https://github.com/vaadin/web-components/issues/1177
29
40
  const input =
30
- this.proxyElement.querySelector('input') ||
31
- this.proxyElement.querySelector('textarea');
41
+ this.baseEle.querySelector('input') ||
42
+ this.baseEle.querySelector('textarea');
32
43
  if (!input) throw Error('no input was found');
33
44
 
45
+ // sync properties
46
+ propertyObserver(this, input, 'value')
47
+ this.setSelectionRange = input.setSelectionRange.bind(input)
48
+
34
49
  this.checkValidity = () => input.checkValidity();
35
50
  this.reportValidity = () => input.reportValidity();
36
51
  this.validity = input.validity;
package/src/dev/index.js CHANGED
@@ -1,7 +1,2 @@
1
- import theme from '../theme';
2
- import { themeToStyle } from '../themeHelpers';
3
-
4
- // this file is used for exposing stuff to the dev env only
5
-
6
- export const getDefaultThemeStyles = (themeName) =>
7
- themeToStyle(theme, themeName);
1
+ export {default as defaultTheme} from '../theme';
2
+ export { themeToStyle } from '../themeHelpers';
@@ -7,6 +7,7 @@ import textArea from './textArea';
7
7
  import checkbox from './checkbox';
8
8
  import switchToggle from './switchToggle';
9
9
  import container from './container';
10
+ import logo from './logo';
10
11
 
11
12
  export default {
12
13
  button,
@@ -17,5 +18,6 @@ export default {
17
18
  textArea,
18
19
  checkbox,
19
20
  switchToggle,
20
- container
21
+ container,
22
+ logo
21
23
  };
@@ -0,0 +1,9 @@
1
+ import Logo from "../../components/descope-logo/Logo";
2
+
3
+ const vars = Logo.cssVarList
4
+
5
+ const logo = {
6
+ [vars.fallbackUrl]: 'url(https://content.app.descope.com/assets/flows/noLogoPlaceholder.svg)'
7
+ };
8
+
9
+ export default logo;
@@ -1,106 +0,0 @@
1
- import {
2
- getComponentName,
3
- createStyleMixin,
4
- draggableMixin,
5
- createProxy,
6
- inputMixin,
7
- compose,
8
- componentNameValidationMixin
9
- } from '../../componentsHelpers';
10
- import { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';
11
-
12
- export const componentName = getComponentName('text-field');
13
-
14
- const selectors = {
15
- label: '::part(label)',
16
- input: '::part(input-field)',
17
- readOnlyInput: '[readonly]::part(input-field)::after',
18
- placeholder: '> input:placeholder-shown'
19
- };
20
-
21
- let overrides = ``;
22
-
23
- export const textFieldMappings = {
24
- color: { selector: selectors.input },
25
- backgroundColor: { selector: selectors.input },
26
- width: [matchHostStyle()],
27
- color: { selector: selectors.input },
28
- borderColor: [
29
- { selector: selectors.input },
30
- { selector: selectors.readOnlyInput }
31
- ],
32
- borderWidth: [
33
- { selector: selectors.input },
34
- { selector: selectors.readOnlyInput }
35
- ],
36
- borderStyle: [
37
- { selector: selectors.input },
38
- { selector: selectors.readOnlyInput }
39
- ],
40
- borderRadius: { selector: selectors.input },
41
- boxShadow: { selector: selectors.input },
42
- fontSize: {},
43
- height: { selector: selectors.input },
44
- padding: { selector: selectors.input },
45
- outline: { selector: selectors.input },
46
- outlineOffset: { selector: selectors.input },
47
-
48
- placeholderColor: { selector: selectors.placeholder, property: 'color' }
49
- // borderWidthReadOnly: [borderWidth('[readonly]::part(input-field)::after')]
50
- };
51
-
52
- const TextField = compose(
53
- createStyleMixin({
54
- mappings: textFieldMappings
55
- }),
56
- draggableMixin,
57
- inputMixin,
58
- componentNameValidationMixin
59
- )(
60
- createProxy({
61
- slots: ['prefix', 'suffix'],
62
- wrappedEleName: 'vaadin-text-field',
63
- style: () => overrides,
64
- excludeAttrsSync: ['tabindex'],
65
- componentName
66
- })
67
- );
68
-
69
- overrides = `
70
- vaadin-text-field {
71
- margin: 0;
72
- padding: 0;
73
- }
74
- vaadin-text-field::part(input-field) {
75
- overflow: hidden;
76
- }
77
- vaadin-text-field[readonly] > input:placeholder-shown {
78
- opacity: 1;
79
- }
80
- vaadin-text-field input:-webkit-autofill,
81
- vaadin-text-field input:-webkit-autofill::first-line,
82
- vaadin-text-field input:-webkit-autofill:hover,
83
- vaadin-text-field input:-webkit-autofill:active,
84
- vaadin-text-field input:-webkit-autofill:focus {
85
- -webkit-text-fill-color: var(${TextField.cssVarList.color});
86
- box-shadow: 0 0 0 var(${TextField.cssVarList.height}) var(${TextField.cssVarList.backgroundColor}) inset;
87
- }
88
- vaadin-text-field > label,
89
- vaadin-text-field::part(input-field) {
90
- cursor: pointer;
91
- color: var(${TextField.cssVarList.color});
92
- }
93
- vaadin-text-field::part(input-field):focus {
94
- cursor: text;
95
- }
96
- vaadin-text-field[required]::part(required-indicator)::after {
97
- font-size: "12px";
98
- content: "*";
99
- color: var(${TextField.cssVarList.color});
100
- }
101
- vaadin-text-field[readonly]::part(input-field)::after {
102
- border: 0 solid;
103
- }
104
- `;
105
-
106
- export default TextField;