@descope/web-components-ui 1.0.49 → 1.0.51

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.esm.js CHANGED
@@ -336,13 +336,20 @@ const createProxy = ({
336
336
  return ProxyElement;
337
337
  };
338
338
 
339
+ const attrs = {
340
+ valueMissing: 'data-errormessage-value-missing',
341
+ patternMismatch: 'data-errormessage-pattern-mismatch'
342
+ };
343
+
344
+ const errorAttrs = ['invalid', 'has-error-message'];
345
+
339
346
  const propertyObserver = (src, target, property) => {
340
347
  Object.defineProperty(src, property, {
341
348
  set: function (v) {
342
- return target[property] = v
349
+ return (target[property] = v);
343
350
  },
344
351
  get: function () {
345
- return target[property]
352
+ return target[property];
346
353
  },
347
354
  configurable: true
348
355
  });
@@ -366,6 +373,24 @@ const inputMixin = (superclass) =>
366
373
  this.setValidity?.();
367
374
  }
368
375
 
376
+ setValidationAttribute(attr) {
377
+ const validationAttr = this.getAttribute(attr);
378
+ if (validationAttr) {
379
+ this.proxyElement.setAttribute('error-message', validationAttr);
380
+ }
381
+ // normalize vaadin error attributes to have a boolean value
382
+ errorAttrs.forEach((att) => this.proxyElement.setAttribute(att, 'true'));
383
+ }
384
+
385
+ validate() {
386
+ const { valueMissing, patternMismatch, typeMismatch } = this.validity;
387
+ if (valueMissing) {
388
+ this.setValidationAttribute(attrs.valueMissing);
389
+ } else if (typeMismatch || patternMismatch) {
390
+ this.setValidationAttribute(attrs.patternMismatch);
391
+ }
392
+ }
393
+
369
394
  connectedCallback() {
370
395
  this.baseEle = this.shadowRoot.querySelector(this.baseSelector);
371
396
  super.connectedCallback?.();
@@ -384,8 +409,6 @@ const inputMixin = (superclass) =>
384
409
  propertyObserver(this, input, 'value');
385
410
  this.setSelectionRange = input.setSelectionRange.bind(input);
386
411
 
387
- this.checkValidity = () => input.checkValidity();
388
- this.reportValidity = () => input.reportValidity();
389
412
  this.validity = input.validity;
390
413
 
391
414
  this.setValidity = () => {
@@ -396,6 +419,15 @@ const inputMixin = (superclass) =>
396
419
  this.value = input.value;
397
420
  this.setValidity();
398
421
  };
422
+
423
+ this.onfocus = () => {
424
+ setTimeout(() => input.reportValidity(), 0);
425
+ this.validate();
426
+ };
427
+
428
+ input.oninvalid = () => {
429
+ this.validate();
430
+ };
399
431
  }
400
432
  };
401
433
 
@@ -432,7 +464,7 @@ const compose =
432
464
  (val) =>
433
465
  fns.reduceRight((res, fn) => fn(res), val);
434
466
 
435
- const componentName$b = getComponentName('button');
467
+ const componentName$c = getComponentName('button');
436
468
 
437
469
  const editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;
438
470
  const resetStyles = `
@@ -486,7 +518,7 @@ const Button = compose(
486
518
  style: () =>
487
519
  `${resetStyles} ${editorOverrides} ${iconStyles} ${loadingIndicatorStyles}`,
488
520
  excludeAttrsSync: ['tabindex'],
489
- componentName: componentName$b
521
+ componentName: componentName$c
490
522
  })
491
523
  );
492
524
 
@@ -519,7 +551,7 @@ const loadingIndicatorStyles = `
519
551
  }
520
552
  `;
521
553
 
522
- customElements.define(componentName$b, Button);
554
+ customElements.define(componentName$c, Button);
523
555
 
524
556
  const selectors$1 = {
525
557
  label: '::part(label)',
@@ -556,7 +588,7 @@ var textFieldMappings = {
556
588
  placeholderColor: { selector: selectors$1.placeholder, property: 'color' }
557
589
  };
558
590
 
559
- const componentName$a = getComponentName('text-field');
591
+ const componentName$b = getComponentName('text-field');
560
592
 
561
593
  let overrides$5 = ``;
562
594
 
@@ -573,7 +605,7 @@ const TextField = compose(
573
605
  wrappedEleName: 'vaadin-text-field',
574
606
  style: () => overrides$5,
575
607
  excludeAttrsSync: ['tabindex'],
576
- componentName: componentName$a
608
+ componentName: componentName$b
577
609
  })
578
610
  );
579
611
 
@@ -618,11 +650,11 @@ overrides$5 = `
618
650
  }
619
651
  `;
620
652
 
621
- customElements.define(componentName$a, TextField);
653
+ customElements.define(componentName$b, TextField);
622
654
 
623
655
  const template = document.createElement('template');
624
656
 
625
- const componentName$9 = getComponentName('combo');
657
+ const componentName$a = getComponentName('combo');
626
658
 
627
659
  template.innerHTML = `
628
660
  <descope-button></descope-button>
@@ -639,9 +671,9 @@ class Combo extends HTMLElement {
639
671
  }
640
672
  }
641
673
 
642
- customElements.define(componentName$9, Combo);
674
+ customElements.define(componentName$a, Combo);
643
675
 
644
- const componentName$8 = getComponentName('number-field');
676
+ const componentName$9 = getComponentName('number-field');
645
677
 
646
678
  let overrides$4 = ``;
647
679
 
@@ -660,7 +692,7 @@ const NumberField = compose(
660
692
  wrappedEleName: 'vaadin-number-field',
661
693
  style: () => overrides$4,
662
694
  excludeAttrsSync: ['tabindex'],
663
- componentName: componentName$8
695
+ componentName: componentName$9
664
696
  })
665
697
  );
666
698
 
@@ -704,9 +736,9 @@ overrides$4 = `
704
736
  }
705
737
  `;
706
738
 
707
- customElements.define(componentName$8, NumberField);
739
+ customElements.define(componentName$9, NumberField);
708
740
 
709
- const componentName$7 = getComponentName('email-field');
741
+ const componentName$8 = getComponentName('email-field');
710
742
 
711
743
  let overrides$3 = ``;
712
744
 
@@ -725,7 +757,7 @@ const EmailField = compose(
725
757
  wrappedEleName: 'vaadin-email-field',
726
758
  style: () => overrides$3,
727
759
  excludeAttrsSync: ['tabindex'],
728
- componentName: componentName$7
760
+ componentName: componentName$8
729
761
  })
730
762
  );
731
763
 
@@ -769,9 +801,9 @@ overrides$3 = `
769
801
  }
770
802
  `;
771
803
 
772
- customElements.define(componentName$7, EmailField);
804
+ customElements.define(componentName$8, EmailField);
773
805
 
774
- const componentName$6 = getComponentName('password-field');
806
+ const componentName$7 = getComponentName('password-field');
775
807
 
776
808
  let overrides$2 = ``;
777
809
 
@@ -797,7 +829,7 @@ const PasswordField = compose(
797
829
  wrappedEleName: 'vaadin-password-field',
798
830
  style: () => overrides$2,
799
831
  excludeAttrsSync: ['tabindex'],
800
- componentName: componentName$6
832
+ componentName: componentName$7
801
833
  })
802
834
  );
803
835
 
@@ -841,13 +873,13 @@ overrides$2 = `
841
873
  }
842
874
  `;
843
875
 
844
- customElements.define(componentName$6, PasswordField);
876
+ customElements.define(componentName$7, PasswordField);
845
877
 
846
- const componentName$5 = getComponentName('text-area');
878
+ const componentName$6 = getComponentName('text-area');
847
879
 
848
880
  const selectors = {
849
881
  label: '::part(label)',
850
- input: ':not([disabled])::part(input-field)',
882
+ input: '::part(input-field)',
851
883
  required: '::part(required-indicator)::after'
852
884
  };
853
885
 
@@ -878,7 +910,7 @@ const TextArea = compose(
878
910
  wrappedEleName: 'vaadin-text-area',
879
911
  style: () => overrides$1,
880
912
  excludeAttrsSync: ['tabindex'],
881
- componentName: componentName$5
913
+ componentName: componentName$6
882
914
  })
883
915
  );
884
916
 
@@ -894,7 +926,7 @@ overrides$1 = `
894
926
  vaadin-text-area::part(input-field) {
895
927
  cursor: pointer;
896
928
  }
897
- vaadin-text-area[focused] input:focus {
929
+ vaadin-text-area[focused]::part(input-field) {
898
930
  cursor: text;
899
931
  }
900
932
  vaadin-text-area::part(required-indicator)::after {
@@ -903,29 +935,29 @@ overrides$1 = `
903
935
  }
904
936
  `;
905
937
 
906
- customElements.define(componentName$5, TextArea);
938
+ customElements.define(componentName$6, TextArea);
907
939
 
908
- const componentName$4 = getComponentName('date-picker');
940
+ const componentName$5 = getComponentName('date-picker');
909
941
 
910
942
  const DatePicker = compose(
911
943
  draggableMixin,
912
944
  componentNameValidationMixin
913
945
  )(
914
946
  createProxy({
915
- componentName: componentName$4,
947
+ componentName: componentName$5,
916
948
  slots: ['prefix', 'suffix'],
917
949
  wrappedEleName: 'vaadin-date-picker',
918
950
  style: ``
919
951
  })
920
952
  );
921
953
 
922
- customElements.define(componentName$4, DatePicker);
954
+ customElements.define(componentName$5, DatePicker);
923
955
 
924
- const componentName$3 = getComponentName('container');
956
+ const componentName$4 = getComponentName('container');
925
957
 
926
958
  class RawContainer extends HTMLElement {
927
959
  static get componentName() {
928
- return componentName$3;
960
+ return componentName$4;
929
961
  }
930
962
  constructor() {
931
963
  super();
@@ -975,7 +1007,45 @@ const Container = compose(
975
1007
  componentNameValidationMixin
976
1008
  )(RawContainer);
977
1009
 
978
- customElements.define(componentName$3, Container);
1010
+ customElements.define(componentName$4, Container);
1011
+
1012
+ const componentName$3 = getComponentName('text');
1013
+
1014
+ class RawText extends HTMLElement {
1015
+ static get componentName() {
1016
+ return componentName$3;
1017
+ }
1018
+ constructor() {
1019
+ super();
1020
+ const template = document.createElement('template');
1021
+ template.innerHTML = `<slot></slot>`;
1022
+
1023
+ this.attachShadow({ mode: 'open' });
1024
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
1025
+
1026
+ this.baseSelector = ':host > slot';
1027
+ }
1028
+ }
1029
+
1030
+ const Text = compose(
1031
+ createStyleMixin({
1032
+ mappings: {
1033
+ fontFamily: {},
1034
+ lineHeight: {},
1035
+ fontStyle: {},
1036
+ fontSize: {},
1037
+ fontWeight: {},
1038
+ width: {},
1039
+ color: {},
1040
+ textAlign: matchHostStyle(),
1041
+ display: matchHostStyle()
1042
+ }
1043
+ }),
1044
+ draggableMixin,
1045
+ componentNameValidationMixin
1046
+ )(RawText);
1047
+
1048
+ customElements.define(componentName$3, Text);
979
1049
 
980
1050
  const getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);
981
1051
 
@@ -1124,21 +1194,47 @@ const colors = genColors({
1124
1194
  error: 'red'
1125
1195
  });
1126
1196
 
1197
+ const fonts = {
1198
+ font1: ['Roboto', 'sans-serif'],
1199
+ font2: ['Oswald', 'serif']
1200
+ };
1201
+ const fontsRef = getThemeRefs({ fonts }).fonts;
1202
+
1127
1203
  const typography = {
1128
1204
  h1: {
1129
- font: ['Courier New', 'Arial', 'sans-serif'],
1130
- weight: '700',
1205
+ font: fontsRef.font1,
1206
+ weight: '900',
1131
1207
  size: '48px'
1132
1208
  },
1133
1209
  h2: {
1134
- font: ['Courier New', 'sans-serif'],
1135
- weight: '500',
1210
+ font: fontsRef.font1,
1211
+ weight: '800',
1136
1212
  size: '38px'
1137
1213
  },
1138
1214
  h3: {
1139
- font: ['Courier New', 'sans-serif'],
1140
- weight: '300',
1215
+ font: fontsRef.font1,
1216
+ weight: '600',
1141
1217
  size: '28px'
1218
+ },
1219
+ subtitle1: {
1220
+ font: fontsRef.font2,
1221
+ weight: '500',
1222
+ size: '22px'
1223
+ },
1224
+ subtitle2: {
1225
+ font: fontsRef.font2,
1226
+ weight: '400',
1227
+ size: '20px'
1228
+ },
1229
+ body1: {
1230
+ font: fontsRef.font1,
1231
+ weight: '300',
1232
+ size: '16px'
1233
+ },
1234
+ body2: {
1235
+ font: fontsRef.font1,
1236
+ weight: '200',
1237
+ size: '14px'
1142
1238
  }
1143
1239
  };
1144
1240
 
@@ -1163,20 +1259,20 @@ const radius = {
1163
1259
  };
1164
1260
 
1165
1261
  const shadow = {
1166
- wide: {
1167
- sm: '0 2px 3px -0.5px',
1168
- md: '0 4px 6px -1px',
1169
- lg: '0 10px 15px -3px',
1170
- xl: '0 20px 25px -5px',
1171
- '2xl': '0 25px 50px -12px',
1172
- },
1173
- narrow: {
1174
- sm: '0 1px 2px -1px',
1175
- md: '0 2px 4px -2px',
1176
- lg: '0 4px 6px -4px',
1177
- xl: '0 8px 10px -6px',
1178
- '2xl': '0 16px 16px -8px',
1179
- }
1262
+ wide: {
1263
+ sm: '0 2px 3px -0.5px',
1264
+ md: '0 4px 6px -1px',
1265
+ lg: '0 10px 15px -3px',
1266
+ xl: '0 20px 25px -5px',
1267
+ '2xl': '0 25px 50px -12px'
1268
+ },
1269
+ narrow: {
1270
+ sm: '0 1px 2px -1px',
1271
+ md: '0 2px 4px -2px',
1272
+ lg: '0 4px 6px -4px',
1273
+ xl: '0 8px 10px -6px',
1274
+ '2xl': '0 16px 16px -8px'
1275
+ }
1180
1276
  };
1181
1277
 
1182
1278
  var globals = {
@@ -1185,159 +1281,154 @@ var globals = {
1185
1281
  spacing,
1186
1282
  border,
1187
1283
  radius,
1188
- shadow
1284
+ shadow,
1285
+ fonts
1189
1286
  };
1190
1287
 
1191
- const globalRefs$3 = getThemeRefs(globals);
1192
- const vars$7 = Button.cssVarList;
1288
+ const globalRefs$4 = getThemeRefs(globals);
1289
+ const vars$8 = Button.cssVarList;
1193
1290
 
1194
1291
  const mode = {
1195
- primary: globalRefs$3.colors.primary,
1196
- secondary: globalRefs$3.colors.secondary,
1197
- success: globalRefs$3.colors.success,
1198
- error: globalRefs$3.colors.error,
1199
- surface: globalRefs$3.colors.surface
1292
+ primary: globalRefs$4.colors.primary,
1293
+ secondary: globalRefs$4.colors.secondary,
1294
+ success: globalRefs$4.colors.success,
1295
+ error: globalRefs$4.colors.error,
1296
+ surface: globalRefs$4.colors.surface
1200
1297
  };
1201
1298
 
1202
- const [helperTheme$1, helperRefs$1] = createHelperVars({ mode }, componentName$b);
1299
+ const [helperTheme$1, helperRefs$1] = createHelperVars({ mode }, componentName$c);
1203
1300
 
1204
1301
  const button = {
1205
1302
  ...helperTheme$1,
1206
1303
 
1207
1304
  size: {
1208
1305
  xs: {
1209
- [vars$7.height]: '10px',
1210
- [vars$7.fontSize]: '10px',
1211
- [vars$7.padding]: `0 ${globalRefs$3.spacing.xs}`
1306
+ [vars$8.height]: '10px',
1307
+ [vars$8.fontSize]: '10px',
1308
+ [vars$8.padding]: `0 ${globalRefs$4.spacing.xs}`
1212
1309
  },
1213
1310
  sm: {
1214
- [vars$7.height]: '20px',
1215
- [vars$7.fontSize]: '10px',
1216
- [vars$7.padding]: `0 ${globalRefs$3.spacing.sm}`
1311
+ [vars$8.height]: '20px',
1312
+ [vars$8.fontSize]: '10px',
1313
+ [vars$8.padding]: `0 ${globalRefs$4.spacing.sm}`
1217
1314
  },
1218
1315
  md: {
1219
- [vars$7.height]: '30px',
1220
- [vars$7.fontSize]: '14px',
1221
- [vars$7.padding]: `0 ${globalRefs$3.spacing.md}`
1316
+ [vars$8.height]: '30px',
1317
+ [vars$8.fontSize]: '14px',
1318
+ [vars$8.padding]: `0 ${globalRefs$4.spacing.md}`
1222
1319
  },
1223
1320
  lg: {
1224
- [vars$7.height]: '40px',
1225
- [vars$7.fontSize]: '20px',
1226
- [vars$7.padding]: `0 ${globalRefs$3.spacing.lg}`
1321
+ [vars$8.height]: '40px',
1322
+ [vars$8.fontSize]: '20px',
1323
+ [vars$8.padding]: `0 ${globalRefs$4.spacing.lg}`
1227
1324
  },
1228
1325
  xl: {
1229
- [vars$7.height]: '50px',
1230
- [vars$7.fontSize]: '25px',
1231
- [vars$7.padding]: `0 ${globalRefs$3.spacing.xl}`
1326
+ [vars$8.height]: '50px',
1327
+ [vars$8.fontSize]: '25px',
1328
+ [vars$8.padding]: `0 ${globalRefs$4.spacing.xl}`
1232
1329
  }
1233
1330
  },
1234
1331
 
1235
- [vars$7.borderRadius]: globalRefs$3.radius.lg,
1236
- [vars$7.cursor]: 'pointer',
1237
- [vars$7.borderWidth]: '2px',
1238
- [vars$7.borderStyle]: 'solid',
1239
- [vars$7.borderColor]: 'transparent',
1332
+ [vars$8.borderRadius]: globalRefs$4.radius.lg,
1333
+ [vars$8.cursor]: 'pointer',
1334
+ [vars$8.borderWidth]: '2px',
1335
+ [vars$8.borderStyle]: 'solid',
1336
+ [vars$8.borderColor]: 'transparent',
1240
1337
 
1241
1338
  _fullWidth: {
1242
- [vars$7.width]: '100%'
1339
+ [vars$8.width]: '100%'
1243
1340
  },
1244
1341
  _loading: {
1245
- [vars$7.cursor]: 'wait'
1342
+ [vars$8.cursor]: 'wait'
1246
1343
  },
1247
1344
 
1248
1345
  variant: {
1249
1346
  contained: {
1250
- [vars$7.color]: helperRefs$1.contrast,
1251
- [vars$7.backgroundColor]: helperRefs$1.main,
1347
+ [vars$8.color]: helperRefs$1.contrast,
1348
+ [vars$8.backgroundColor]: helperRefs$1.main,
1252
1349
  _hover: {
1253
- [vars$7.backgroundColor]: helperRefs$1.dark
1350
+ [vars$8.backgroundColor]: helperRefs$1.dark
1254
1351
  },
1255
1352
  _loading: {
1256
- [vars$7.backgroundColor]: helperRefs$1.main
1353
+ [vars$8.backgroundColor]: helperRefs$1.main
1257
1354
  }
1258
1355
  },
1259
1356
  outline: {
1260
- [vars$7.color]: helperRefs$1.main,
1261
- [vars$7.borderColor]: helperRefs$1.main,
1357
+ [vars$8.color]: helperRefs$1.main,
1358
+ [vars$8.borderColor]: helperRefs$1.main,
1262
1359
  _hover: {
1263
- [vars$7.color]: helperRefs$1.dark,
1264
- [vars$7.borderColor]: helperRefs$1.dark,
1360
+ [vars$8.color]: helperRefs$1.dark,
1361
+ [vars$8.borderColor]: helperRefs$1.dark,
1265
1362
  _error: {
1266
- [vars$7.color]: helperRefs$1.error
1363
+ [vars$8.color]: helperRefs$1.error
1267
1364
  }
1268
1365
  }
1269
1366
  },
1270
1367
  link: {
1271
- [vars$7.color]: helperRefs$1.main,
1272
- [vars$7.padding]: 0,
1273
- [vars$7.margin]: 0,
1274
- [vars$7.lineHeight]: helperRefs$1.height,
1275
- [vars$7.borderRadius]: 0,
1368
+ [vars$8.color]: helperRefs$1.main,
1369
+ [vars$8.padding]: 0,
1370
+ [vars$8.margin]: 0,
1371
+ [vars$8.lineHeight]: helperRefs$1.height,
1372
+ [vars$8.borderRadius]: 0,
1276
1373
  _hover: {
1277
- [vars$7.color]: helperRefs$1.main,
1278
- [vars$7.textDecoration]: 'underline'
1374
+ [vars$8.color]: helperRefs$1.main,
1375
+ [vars$8.textDecoration]: 'underline'
1279
1376
  }
1280
1377
  }
1281
1378
  }
1282
1379
  };
1283
1380
 
1284
- const globalRefs$2 = getThemeRefs(globals);
1381
+ const globalRefs$3 = getThemeRefs(globals);
1285
1382
 
1286
- const vars$6 = TextField.cssVarList;
1383
+ const vars$7 = TextField.cssVarList;
1287
1384
 
1288
1385
  const textField = (vars) => ({
1289
1386
  size: {
1290
1387
  xs: {
1291
1388
  [vars.height]: '14px',
1292
1389
  [vars.fontSize]: '8px',
1293
- [vars.padding]: `0 ${globalRefs$2.spacing.xs}`
1390
+ [vars.padding]: `0 ${globalRefs$3.spacing.xs}`
1294
1391
  },
1295
1392
  sm: {
1296
1393
  [vars.height]: '20px',
1297
1394
  [vars.fontSize]: '10px',
1298
- [vars.padding]: `0 ${globalRefs$2.spacing.sm}`
1395
+ [vars.padding]: `0 ${globalRefs$3.spacing.sm}`
1299
1396
  },
1300
1397
  md: {
1301
1398
  [vars.height]: '30px',
1302
1399
  [vars.fontSize]: '14px',
1303
- [vars.padding]: `0 ${globalRefs$2.spacing.md}`
1400
+ [vars.padding]: `0 ${globalRefs$3.spacing.md}`
1304
1401
  },
1305
1402
  lg: {
1306
1403
  [vars.height]: '40px',
1307
1404
  [vars.fontSize]: '16px',
1308
- [vars.padding]: `0 ${globalRefs$2.spacing.lg}`
1405
+ [vars.padding]: `0 ${globalRefs$3.spacing.lg}`
1309
1406
  },
1310
1407
  xl: {
1311
1408
  [vars.height]: '50px',
1312
1409
  [vars.fontSize]: '25px',
1313
- [vars.padding]: `0 ${globalRefs$2.spacing.xl}`
1410
+ [vars.padding]: `0 ${globalRefs$3.spacing.xl}`
1314
1411
  }
1315
1412
  },
1316
1413
 
1317
- [vars.color]: globalRefs$2.colors.surface.contrast,
1318
- [vars.placeholderColor]: globalRefs$2.colors.surface.contrast,
1414
+ [vars.color]: globalRefs$3.colors.surface.contrast,
1415
+ [vars.placeholderColor]: globalRefs$3.colors.surface.contrast,
1319
1416
 
1320
- [vars.backgroundColor]: globalRefs$2.colors.surface.light,
1417
+ [vars.backgroundColor]: globalRefs$3.colors.surface.light,
1321
1418
 
1322
1419
  [vars.borderWidth]: '1px',
1323
1420
  [vars.borderStyle]: 'solid',
1324
1421
  [vars.borderColor]: 'transparent',
1325
- [vars.borderWidthReadOnly]: '0',
1326
- [vars.borderRadius]: globalRefs$2.radius.sm,
1422
+ [vars.borderRadius]: globalRefs$3.radius.sm,
1327
1423
 
1328
1424
  _borderOffset: {
1329
1425
  [vars.outlineOffset]: '2px'
1330
1426
  },
1331
1427
 
1332
- _invalid: {
1333
- [vars.borderColor]: globalRefs$2.colors.error.main,
1334
- [vars.color]: globalRefs$2.colors.error.main
1335
- },
1336
-
1337
1428
  _disabled: {
1338
- [vars.color]: globalRefs$2.colors.surface.dark,
1339
- [vars.placeholderColor]: globalRefs$2.colors.surface.light,
1340
- [vars.backgroundColor]: globalRefs$2.colors.surface.main
1429
+ [vars.color]: globalRefs$3.colors.surface.dark,
1430
+ [vars.placeholderColor]: globalRefs$3.colors.surface.light,
1431
+ [vars.backgroundColor]: globalRefs$3.colors.surface.main
1341
1432
  },
1342
1433
 
1343
1434
  _fullWidth: {
@@ -1345,21 +1436,27 @@ const textField = (vars) => ({
1345
1436
  },
1346
1437
 
1347
1438
  _focused: {
1348
- [vars.outline]: `2px solid ${globalRefs$2.colors.surface.main}`
1439
+ [vars.outline]: `2px solid ${globalRefs$3.colors.surface.main}`
1349
1440
  },
1350
1441
 
1351
1442
  _bordered: {
1352
- [vars.borderColor]: globalRefs$2.colors.surface.main
1443
+ [vars.borderColor]: globalRefs$3.colors.surface.main
1444
+ },
1445
+
1446
+ _hasErrorMessage: {
1447
+ [vars.borderColor]: globalRefs$3.colors.error.main,
1448
+ [vars.color]: globalRefs$3.colors.error.main,
1449
+ [vars.placeholderColor]: globalRefs$3.colors.error.light
1353
1450
  }
1354
1451
  });
1355
1452
 
1356
- var textField$1 = textField(vars$6);
1453
+ var textField$1 = textField(vars$7);
1357
1454
 
1358
- const vars$5 = PasswordField.cssVarList;
1455
+ const vars$6 = PasswordField.cssVarList;
1359
1456
 
1360
1457
  const passwordField = {
1361
- ...textField(vars$5),
1362
- [vars$5.revealCursor]: 'pointer'
1458
+ ...textField(vars$6),
1459
+ [vars$6.revealCursor]: 'pointer'
1363
1460
  };
1364
1461
 
1365
1462
  const numberField = {
@@ -1370,42 +1467,41 @@ const emailField = {
1370
1467
  ...textField(EmailField.cssVarList)
1371
1468
  };
1372
1469
 
1373
- const globalRefs$1 = getThemeRefs(globals);
1374
- const vars$4 = TextArea.cssVarList;
1470
+ const globalRefs$2 = getThemeRefs(globals);
1471
+ const vars$5 = TextArea.cssVarList;
1375
1472
 
1376
1473
  const textArea = {
1377
- [vars$4.color]: globalRefs$1.colors.primary.main,
1378
- [vars$4.backgroundColor]: globalRefs$1.colors.surface.light,
1379
- [vars$4.resize]: 'vertical',
1474
+ [vars$5.color]: globalRefs$2.colors.primary.main,
1475
+ [vars$5.backgroundColor]: globalRefs$2.colors.surface.light,
1476
+ [vars$5.resize]: 'vertical',
1380
1477
 
1381
- [vars$4.borderRadius]: globalRefs$1.radius.sm,
1382
- [vars$4.borderWidth]: '1px',
1383
- [vars$4.borderStyle]: 'solid',
1384
- [vars$4.borderColor]: 'transparent',
1478
+ [vars$5.borderRadius]: globalRefs$2.radius.sm,
1479
+ [vars$5.borderWidth]: '1px',
1480
+ [vars$5.borderStyle]: 'solid',
1481
+ [vars$5.borderColor]: 'transparent',
1385
1482
 
1386
1483
  _borderOffset: {
1387
- [vars$4.outlineOffset]: '2px'
1484
+ [vars$5.outlineOffset]: '2px'
1388
1485
  },
1389
1486
 
1390
1487
  _bordered: {
1391
- [vars$4.borderColor]: globalRefs$1.colors.surface.main
1488
+ [vars$5.borderColor]: globalRefs$2.colors.surface.main
1392
1489
  },
1393
1490
 
1394
1491
  _focused: {
1395
- [vars$4.focusInputCursor]: 'text',
1396
- [vars$4.outline]: `2px solid ${globalRefs$1.colors.surface.main}`
1492
+ [vars$5.outline]: `2px solid ${globalRefs$2.colors.surface.main}`
1397
1493
  },
1398
1494
 
1399
1495
  _fullWidth: {
1400
- [vars$4.width]: '100%'
1496
+ [vars$5.width]: '100%'
1401
1497
  },
1402
1498
 
1403
1499
  _disabled: {
1404
- [vars$4.cursor]: 'not-allowed'
1500
+ [vars$5.cursor]: 'not-allowed'
1405
1501
  },
1406
1502
 
1407
1503
  _invalid: {
1408
- [vars$4.outline]: `2px solid ${globalRefs$1.colors.error.main}`
1504
+ [vars$5.outline]: `2px solid ${globalRefs$2.colors.error.main}`
1409
1505
  }
1410
1506
  };
1411
1507
 
@@ -1435,10 +1531,10 @@ const Checkbox = compose(
1435
1531
  })
1436
1532
  );
1437
1533
 
1438
- const vars$3 = Checkbox.cssVarList;
1534
+ const vars$4 = Checkbox.cssVarList;
1439
1535
 
1440
1536
  const checkbox = {
1441
- [vars$3.cursor]: 'pointer'
1537
+ [vars$4.cursor]: 'pointer'
1442
1538
  };
1443
1539
 
1444
1540
  const componentName$1 = getComponentName('switch-toggle');
@@ -1515,16 +1611,16 @@ overrides = `
1515
1611
  }
1516
1612
  `;
1517
1613
 
1518
- const vars$2 = SwitchToggle.cssVarList;
1614
+ const vars$3 = SwitchToggle.cssVarList;
1519
1615
 
1520
1616
  const swtichToggle = {
1521
- [vars$2.width]: '70px',
1522
- [vars$2.cursor]: [{}, { selector: '> label' }]
1617
+ [vars$3.width]: '70px',
1618
+ [vars$3.cursor]: [{}, { selector: '> label' }]
1523
1619
  };
1524
1620
 
1525
- const globalRefs = getThemeRefs(globals);
1621
+ const globalRefs$1 = getThemeRefs(globals);
1526
1622
 
1527
- const vars$1 = Container.cssVarList;
1623
+ const vars$2 = Container.cssVarList;
1528
1624
 
1529
1625
  const verticalAlignment = {
1530
1626
  start: { verticalAlignment: 'start' },
@@ -1547,31 +1643,31 @@ const [helperTheme, helperRefs, helperVars] =
1547
1643
 
1548
1644
  const container = {
1549
1645
  ...helperTheme,
1550
- [vars$1.display]: 'flex',
1646
+ [vars$2.display]: 'flex',
1551
1647
  verticalPadding: {
1552
- sm: { [vars$1.verticalPadding]: '5px' },
1553
- md: { [vars$1.verticalPadding]: '10px' },
1554
- lg: { [vars$1.verticalPadding]: '20px' },
1648
+ sm: { [vars$2.verticalPadding]: '5px' },
1649
+ md: { [vars$2.verticalPadding]: '10px' },
1650
+ lg: { [vars$2.verticalPadding]: '20px' },
1555
1651
  },
1556
1652
  horizontalPadding: {
1557
- sm: { [vars$1.horizontalPadding]: '5px' },
1558
- md: { [vars$1.horizontalPadding]: '10px' },
1559
- lg: { [vars$1.horizontalPadding]: '20px' },
1653
+ sm: { [vars$2.horizontalPadding]: '5px' },
1654
+ md: { [vars$2.horizontalPadding]: '10px' },
1655
+ lg: { [vars$2.horizontalPadding]: '20px' },
1560
1656
  },
1561
1657
  direction: {
1562
1658
  row: {
1563
- [vars$1.flexDirection]: 'row',
1564
- [vars$1.alignItems]: helperRefs.verticalAlignment,
1565
- [vars$1.justifyContent]: helperRefs.horizontalAlignment,
1659
+ [vars$2.flexDirection]: 'row',
1660
+ [vars$2.alignItems]: helperRefs.verticalAlignment,
1661
+ [vars$2.justifyContent]: helperRefs.horizontalAlignment,
1566
1662
  horizontalAlignment: {
1567
1663
  spaceBetween: { [helperVars.horizontalAlignment]: 'space-between' },
1568
1664
  }
1569
1665
  },
1570
1666
 
1571
1667
  column: {
1572
- [vars$1.flexDirection]: 'column',
1573
- [vars$1.alignItems]: helperRefs.horizontalAlignment,
1574
- [vars$1.justifyContent]: helperRefs.verticalAlignment,
1668
+ [vars$2.flexDirection]: 'column',
1669
+ [vars$2.alignItems]: helperRefs.horizontalAlignment,
1670
+ [vars$2.justifyContent]: helperRefs.verticalAlignment,
1575
1671
  verticalAlignment: {
1576
1672
  spaceBetween: { [helperVars.verticalAlignment]: 'space-between' }
1577
1673
  }
@@ -1580,44 +1676,44 @@ const container = {
1580
1676
 
1581
1677
  spaceBetween: {
1582
1678
  sm: {
1583
- [vars$1.gap]: '10px'
1679
+ [vars$2.gap]: '10px'
1584
1680
  },
1585
1681
  md: {
1586
- [vars$1.gap]: '20px'
1682
+ [vars$2.gap]: '20px'
1587
1683
  },
1588
1684
  lg: {
1589
- [vars$1.gap]: '30px'
1685
+ [vars$2.gap]: '30px'
1590
1686
  }
1591
1687
  },
1592
1688
 
1593
1689
  shadow: {
1594
1690
  sm: {
1595
- [vars$1.boxShadow]: `${globalRefs.shadow.wide.sm} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.sm} ${helperRefs.shadowColor}`
1691
+ [vars$2.boxShadow]: `${globalRefs$1.shadow.wide.sm} ${helperRefs.shadowColor}, ${globalRefs$1.shadow.narrow.sm} ${helperRefs.shadowColor}`
1596
1692
  },
1597
1693
  md: {
1598
- [vars$1.boxShadow]: `${globalRefs.shadow.wide.md} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.md} ${helperRefs.shadowColor}`
1694
+ [vars$2.boxShadow]: `${globalRefs$1.shadow.wide.md} ${helperRefs.shadowColor}, ${globalRefs$1.shadow.narrow.md} ${helperRefs.shadowColor}`
1599
1695
  },
1600
1696
  lg: {
1601
- [vars$1.boxShadow]: `${globalRefs.shadow.wide.lg} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.lg} ${helperRefs.shadowColor}`
1697
+ [vars$2.boxShadow]: `${globalRefs$1.shadow.wide.lg} ${helperRefs.shadowColor}, ${globalRefs$1.shadow.narrow.lg} ${helperRefs.shadowColor}`
1602
1698
  },
1603
1699
  xl: {
1604
- [vars$1.boxShadow]: `${globalRefs.shadow.wide.xl} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.xl} ${helperRefs.shadowColor}`
1700
+ [vars$2.boxShadow]: `${globalRefs$1.shadow.wide.xl} ${helperRefs.shadowColor}, ${globalRefs$1.shadow.narrow.xl} ${helperRefs.shadowColor}`
1605
1701
  },
1606
1702
  '2xl': {
1607
1703
  [helperVars.shadowColor]: '#00000050',
1608
- [vars$1.boxShadow]: `${globalRefs.shadow.wide['2xl']} ${helperRefs.shadowColor}`
1704
+ [vars$2.boxShadow]: `${globalRefs$1.shadow.wide['2xl']} ${helperRefs.shadowColor}`
1609
1705
  },
1610
1706
  },
1611
1707
 
1612
1708
  borderRadius: {
1613
1709
  sm: {
1614
- [vars$1.borderRadius]: globalRefs.radius.sm
1710
+ [vars$2.borderRadius]: globalRefs$1.radius.sm
1615
1711
  },
1616
1712
  md: {
1617
- [vars$1.borderRadius]: globalRefs.radius.md
1713
+ [vars$2.borderRadius]: globalRefs$1.radius.md
1618
1714
  },
1619
1715
  lg: {
1620
- [vars$1.borderRadius]: globalRefs.radius.lg
1716
+ [vars$2.borderRadius]: globalRefs$1.radius.lg
1621
1717
  },
1622
1718
  }
1623
1719
  };
@@ -1670,10 +1766,84 @@ style = `
1670
1766
  }
1671
1767
  `;
1672
1768
 
1673
- const vars = Logo.cssVarList;
1769
+ const vars$1 = Logo.cssVarList;
1674
1770
 
1675
1771
  const logo = {
1676
- [vars.fallbackUrl]: 'url(https://content.app.descope.com/assets/flows/noLogoPlaceholder.svg)'
1772
+ [vars$1.fallbackUrl]: 'url(https://content.app.descope.com/assets/flows/noLogoPlaceholder.svg)'
1773
+ };
1774
+
1775
+ const globalRefs = getThemeRefs(globals);
1776
+
1777
+ const vars = Text.cssVarList;
1778
+
1779
+ const text = {
1780
+ [vars.lineHeight]: '1em',
1781
+ [vars.display]: 'inline-block',
1782
+ [vars.textAlign]: 'left',
1783
+ [vars.color]: globalRefs.colors.surface.dark,
1784
+ variant: {
1785
+ h1: {
1786
+ [vars.fontSize]: globalRefs.typography.h1.size,
1787
+ [vars.fontWeight]: globalRefs.typography.h1.weight,
1788
+ [vars.fontFamily]: globalRefs.typography.h1.font
1789
+ },
1790
+ h2: {
1791
+ [vars.fontSize]: globalRefs.typography.h2.size,
1792
+ [vars.fontWeight]: globalRefs.typography.h2.weight,
1793
+ [vars.fontFamily]: globalRefs.typography.h2.font
1794
+ },
1795
+ h3: {
1796
+ [vars.fontSize]: globalRefs.typography.h3.size,
1797
+ [vars.fontWeight]: globalRefs.typography.h3.weight,
1798
+ [vars.fontFamily]: globalRefs.typography.h3.font
1799
+ },
1800
+ subtitle1: {
1801
+ [vars.fontSize]: globalRefs.typography.subtitle1.size,
1802
+ [vars.fontWeight]: globalRefs.typography.subtitle1.weight,
1803
+ [vars.fontFamily]: globalRefs.typography.subtitle1.font
1804
+ },
1805
+ subtitle2: {
1806
+ [vars.fontSize]: globalRefs.typography.subtitle2.size,
1807
+ [vars.fontWeight]: globalRefs.typography.subtitle2.weight,
1808
+ [vars.fontFamily]: globalRefs.typography.subtitle2.font
1809
+ },
1810
+ body1: {
1811
+ [vars.fontSize]: globalRefs.typography.body1.size,
1812
+ [vars.fontWeight]: globalRefs.typography.body1.weight,
1813
+ [vars.fontFamily]: globalRefs.typography.body1.font
1814
+ },
1815
+ body2: {
1816
+ [vars.fontSize]: globalRefs.typography.body2.size,
1817
+ [vars.fontWeight]: globalRefs.typography.body2.weight,
1818
+ [vars.fontFamily]: globalRefs.typography.body2.font
1819
+ }
1820
+ },
1821
+ mode: {
1822
+ primary: {
1823
+ [vars.color]: globalRefs.colors.primary.main
1824
+ },
1825
+ secondary: {
1826
+ [vars.color]: globalRefs.colors.secondary.main
1827
+ },
1828
+ error: {
1829
+ [vars.color]: globalRefs.colors.error.main
1830
+ },
1831
+ success: {
1832
+ [vars.color]: globalRefs.colors.success.main
1833
+ }
1834
+ },
1835
+ textAlign: {
1836
+ right: { [vars.textAlign]: 'right' },
1837
+ left: { [vars.textAlign]: 'left' },
1838
+ center: { [vars.textAlign]: 'center' }
1839
+ },
1840
+ _fullWidth: {
1841
+ [vars.width]: '100%',
1842
+ [vars.display]: 'block'
1843
+ },
1844
+ _italic: {
1845
+ [vars.fontStyle]: 'italic'
1846
+ }
1677
1847
  };
1678
1848
 
1679
1849
  var components = {
@@ -1686,7 +1856,8 @@ var components = {
1686
1856
  checkbox,
1687
1857
  switchToggle: swtichToggle,
1688
1858
  container,
1689
- logo
1859
+ logo,
1860
+ text
1690
1861
  };
1691
1862
 
1692
1863
  var index = { globals, components };