@aurodesignsystem/auro-formkit 5.1.0 → 5.1.2

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +7 -9
  2. package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
  3. package/components/bibtemplate/dist/index.js +14 -9
  4. package/components/bibtemplate/dist/registered.js +14 -9
  5. package/components/checkbox/demo/api.min.js +37 -9
  6. package/components/checkbox/demo/index.min.js +37 -9
  7. package/components/checkbox/dist/auro-checkbox.d.ts +7 -0
  8. package/components/checkbox/dist/index.js +37 -9
  9. package/components/checkbox/dist/registered.js +37 -9
  10. package/components/combobox/demo/api.min.js +105 -58
  11. package/components/combobox/demo/index.min.js +105 -58
  12. package/components/combobox/dist/index.js +91 -49
  13. package/components/combobox/dist/registered.js +91 -49
  14. package/components/counter/demo/api.min.js +75 -40
  15. package/components/counter/demo/index.min.js +75 -40
  16. package/components/counter/dist/iconVersion.d.ts +1 -1
  17. package/components/counter/dist/index.js +75 -40
  18. package/components/counter/dist/registered.js +75 -40
  19. package/components/datepicker/demo/api.md +1 -0
  20. package/components/datepicker/demo/api.min.js +98 -52
  21. package/components/datepicker/demo/index.min.js +98 -52
  22. package/components/datepicker/dist/index.js +98 -52
  23. package/components/datepicker/dist/registered.js +98 -52
  24. package/components/dropdown/demo/api.min.js +21 -8
  25. package/components/dropdown/demo/index.min.js +21 -8
  26. package/components/dropdown/dist/index.js +21 -8
  27. package/components/dropdown/dist/registered.js +21 -8
  28. package/components/input/demo/api.min.js +30 -17
  29. package/components/input/demo/index.min.js +30 -17
  30. package/components/input/dist/index.js +30 -17
  31. package/components/input/dist/registered.js +30 -17
  32. package/components/layoutElement/dist/auroElement.d.ts +5 -0
  33. package/components/layoutElement/dist/index.js +8 -0
  34. package/components/layoutElement/dist/registered.js +8 -0
  35. package/components/menu/demo/api.min.js +22 -9
  36. package/components/menu/demo/index.min.js +22 -9
  37. package/components/menu/dist/iconVersion.d.ts +1 -1
  38. package/components/menu/dist/index.js +22 -9
  39. package/components/menu/dist/registered.js +22 -9
  40. package/components/radio/demo/api.min.js +15 -13
  41. package/components/radio/demo/index.min.js +15 -13
  42. package/components/radio/dist/auro-radio.d.ts +1 -1
  43. package/components/radio/dist/index.js +15 -13
  44. package/components/radio/dist/registered.js +15 -13
  45. package/components/select/demo/api.min.js +66 -35
  46. package/components/select/demo/index.min.js +66 -35
  47. package/components/select/dist/index.js +52 -26
  48. package/components/select/dist/registered.js +52 -26
  49. package/package.json +1 -1
@@ -2647,7 +2647,7 @@ let AuroElement$1 = class AuroElement extends i {
2647
2647
  }
2648
2648
  };
2649
2649
 
2650
- var error = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2650
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2651
2651
 
2652
2652
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
2653
2653
 
@@ -2747,16 +2747,21 @@ class BaseIcon extends AuroElement$1 {
2747
2747
 
2748
2748
  // lifecycle function
2749
2749
  async firstUpdated() {
2750
- if (!this.customSvg) {
2751
- const svg = await this.fetchIcon(this.category, this.name);
2750
+ try {
2751
+ if (!this.customSvg) {
2752
+ const svg = await this.fetchIcon(this.category, this.name);
2752
2753
 
2753
- if (svg) {
2754
- this.svg = svg;
2755
- } else if (!svg) {
2756
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2754
+ if (svg) {
2755
+ this.svg = svg;
2756
+ } else if (!svg) {
2757
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2757
2758
 
2758
- this.svg = penDOM.body.firstChild;
2759
+ this.svg = penDOM.body.firstChild;
2760
+ }
2759
2761
  }
2762
+ // eslint-disable-next-line no-unused-vars
2763
+ } catch (err) {
2764
+ this.svg = undefined;
2760
2765
  }
2761
2766
  }
2762
2767
  }
@@ -3462,6 +3467,14 @@ class AuroElement extends i {
3462
3467
  };
3463
3468
  }
3464
3469
 
3470
+ /**
3471
+ * Returns true if the element has focus.
3472
+ * @returns {boolean} - Returns true if the element has focus.
3473
+ */
3474
+ get componentHasFocus() {
3475
+ return this.matches(':focus');
3476
+ }
3477
+
3465
3478
  resetShapeClasses() {
3466
3479
  const wrapper = this.shadowRoot.querySelector('.wrapper');
3467
3480
 
@@ -2622,7 +2622,7 @@ let AuroElement$1 = class AuroElement extends i {
2622
2622
  }
2623
2623
  };
2624
2624
 
2625
- var error = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2625
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2626
2626
 
2627
2627
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
2628
2628
 
@@ -2722,16 +2722,21 @@ class BaseIcon extends AuroElement$1 {
2722
2722
 
2723
2723
  // lifecycle function
2724
2724
  async firstUpdated() {
2725
- if (!this.customSvg) {
2726
- const svg = await this.fetchIcon(this.category, this.name);
2725
+ try {
2726
+ if (!this.customSvg) {
2727
+ const svg = await this.fetchIcon(this.category, this.name);
2727
2728
 
2728
- if (svg) {
2729
- this.svg = svg;
2730
- } else if (!svg) {
2731
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2729
+ if (svg) {
2730
+ this.svg = svg;
2731
+ } else if (!svg) {
2732
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2732
2733
 
2733
- this.svg = penDOM.body.firstChild;
2734
+ this.svg = penDOM.body.firstChild;
2735
+ }
2734
2736
  }
2737
+ // eslint-disable-next-line no-unused-vars
2738
+ } catch (err) {
2739
+ this.svg = undefined;
2735
2740
  }
2736
2741
  }
2737
2742
  }
@@ -3437,6 +3442,14 @@ class AuroElement extends i {
3437
3442
  };
3438
3443
  }
3439
3444
 
3445
+ /**
3446
+ * Returns true if the element has focus.
3447
+ * @returns {boolean} - Returns true if the element has focus.
3448
+ */
3449
+ get componentHasFocus() {
3450
+ return this.matches(':focus');
3451
+ }
3452
+
3440
3453
  resetShapeClasses() {
3441
3454
  const wrapper = this.shadowRoot.querySelector('.wrapper');
3442
3455
 
@@ -2575,7 +2575,7 @@ let AuroElement$1 = class AuroElement extends LitElement {
2575
2575
  }
2576
2576
  };
2577
2577
 
2578
- var error = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2578
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2579
2579
 
2580
2580
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
2581
2581
 
@@ -2675,16 +2675,21 @@ class BaseIcon extends AuroElement$1 {
2675
2675
 
2676
2676
  // lifecycle function
2677
2677
  async firstUpdated() {
2678
- if (!this.customSvg) {
2679
- const svg = await this.fetchIcon(this.category, this.name);
2678
+ try {
2679
+ if (!this.customSvg) {
2680
+ const svg = await this.fetchIcon(this.category, this.name);
2680
2681
 
2681
- if (svg) {
2682
- this.svg = svg;
2683
- } else if (!svg) {
2684
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2682
+ if (svg) {
2683
+ this.svg = svg;
2684
+ } else if (!svg) {
2685
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2685
2686
 
2686
- this.svg = penDOM.body.firstChild;
2687
+ this.svg = penDOM.body.firstChild;
2688
+ }
2687
2689
  }
2690
+ // eslint-disable-next-line no-unused-vars
2691
+ } catch (err) {
2692
+ this.svg = undefined;
2688
2693
  }
2689
2694
  }
2690
2695
  }
@@ -3390,6 +3395,14 @@ class AuroElement extends LitElement {
3390
3395
  };
3391
3396
  }
3392
3397
 
3398
+ /**
3399
+ * Returns true if the element has focus.
3400
+ * @returns {boolean} - Returns true if the element has focus.
3401
+ */
3402
+ get componentHasFocus() {
3403
+ return this.matches(':focus');
3404
+ }
3405
+
3393
3406
  resetShapeClasses() {
3394
3407
  const wrapper = this.shadowRoot.querySelector('.wrapper');
3395
3408
 
@@ -2575,7 +2575,7 @@ let AuroElement$1 = class AuroElement extends LitElement {
2575
2575
  }
2576
2576
  };
2577
2577
 
2578
- var error = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2578
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2579
2579
 
2580
2580
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
2581
2581
 
@@ -2675,16 +2675,21 @@ class BaseIcon extends AuroElement$1 {
2675
2675
 
2676
2676
  // lifecycle function
2677
2677
  async firstUpdated() {
2678
- if (!this.customSvg) {
2679
- const svg = await this.fetchIcon(this.category, this.name);
2678
+ try {
2679
+ if (!this.customSvg) {
2680
+ const svg = await this.fetchIcon(this.category, this.name);
2680
2681
 
2681
- if (svg) {
2682
- this.svg = svg;
2683
- } else if (!svg) {
2684
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2682
+ if (svg) {
2683
+ this.svg = svg;
2684
+ } else if (!svg) {
2685
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2685
2686
 
2686
- this.svg = penDOM.body.firstChild;
2687
+ this.svg = penDOM.body.firstChild;
2688
+ }
2687
2689
  }
2690
+ // eslint-disable-next-line no-unused-vars
2691
+ } catch (err) {
2692
+ this.svg = undefined;
2688
2693
  }
2689
2694
  }
2690
2695
  }
@@ -3390,6 +3395,14 @@ class AuroElement extends LitElement {
3390
3395
  };
3391
3396
  }
3392
3397
 
3398
+ /**
3399
+ * Returns true if the element has focus.
3400
+ * @returns {boolean} - Returns true if the element has focus.
3401
+ */
3402
+ get componentHasFocus() {
3403
+ return this.matches(':focus');
3404
+ }
3405
+
3393
3406
  resetShapeClasses() {
3394
3407
  const wrapper = this.shadowRoot.querySelector('.wrapper');
3395
3408
 
@@ -4933,16 +4933,16 @@ class AuroFormValidation {
4933
4933
  }
4934
4934
 
4935
4935
  this.getErrorMessage(elem);
4936
-
4937
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
4938
- bubbles: true,
4939
- composed: true,
4940
- detail: {
4941
- validity: elem.validity,
4942
- message: elem.errorMessage
4943
- }
4944
- }));
4945
4936
  }
4937
+
4938
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
4939
+ bubbles: true,
4940
+ composed: true,
4941
+ detail: {
4942
+ validity: elem.validity,
4943
+ message: elem.errorMessage
4944
+ }
4945
+ }));
4946
4946
  }
4947
4947
 
4948
4948
  /**
@@ -5034,6 +5034,14 @@ let AuroElement$2 = class AuroElement extends i$2 {
5034
5034
  };
5035
5035
  }
5036
5036
 
5037
+ /**
5038
+ * Returns true if the element has focus.
5039
+ * @returns {boolean} - Returns true if the element has focus.
5040
+ */
5041
+ get componentHasFocus() {
5042
+ return this.matches(':focus');
5043
+ }
5044
+
5037
5045
  resetShapeClasses() {
5038
5046
  const wrapper = this.shadowRoot.querySelector('.wrapper');
5039
5047
 
@@ -6265,7 +6273,7 @@ let AuroElement$1 = class AuroElement extends i$2 {
6265
6273
  }
6266
6274
  };
6267
6275
 
6268
- var error = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
6276
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
6269
6277
 
6270
6278
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
6271
6279
 
@@ -6365,16 +6373,21 @@ class BaseIcon extends AuroElement$1 {
6365
6373
 
6366
6374
  // lifecycle function
6367
6375
  async firstUpdated() {
6368
- if (!this.customSvg) {
6369
- const svg = await this.fetchIcon(this.category, this.name);
6376
+ try {
6377
+ if (!this.customSvg) {
6378
+ const svg = await this.fetchIcon(this.category, this.name);
6370
6379
 
6371
- if (svg) {
6372
- this.svg = svg;
6373
- } else if (!svg) {
6374
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
6380
+ if (svg) {
6381
+ this.svg = svg;
6382
+ } else if (!svg) {
6383
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
6375
6384
 
6376
- this.svg = penDOM.body.firstChild;
6385
+ this.svg = penDOM.body.firstChild;
6386
+ }
6377
6387
  }
6388
+ // eslint-disable-next-line no-unused-vars
6389
+ } catch (err) {
6390
+ this.svg = undefined;
6378
6391
  }
6379
6392
  }
6380
6393
  }
@@ -4858,16 +4858,16 @@ class AuroFormValidation {
4858
4858
  }
4859
4859
 
4860
4860
  this.getErrorMessage(elem);
4861
-
4862
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
4863
- bubbles: true,
4864
- composed: true,
4865
- detail: {
4866
- validity: elem.validity,
4867
- message: elem.errorMessage
4868
- }
4869
- }));
4870
4861
  }
4862
+
4863
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
4864
+ bubbles: true,
4865
+ composed: true,
4866
+ detail: {
4867
+ validity: elem.validity,
4868
+ message: elem.errorMessage
4869
+ }
4870
+ }));
4871
4871
  }
4872
4872
 
4873
4873
  /**
@@ -4959,6 +4959,14 @@ let AuroElement$2 = class AuroElement extends i$2 {
4959
4959
  };
4960
4960
  }
4961
4961
 
4962
+ /**
4963
+ * Returns true if the element has focus.
4964
+ * @returns {boolean} - Returns true if the element has focus.
4965
+ */
4966
+ get componentHasFocus() {
4967
+ return this.matches(':focus');
4968
+ }
4969
+
4962
4970
  resetShapeClasses() {
4963
4971
  const wrapper = this.shadowRoot.querySelector('.wrapper');
4964
4972
 
@@ -6190,7 +6198,7 @@ let AuroElement$1 = class AuroElement extends i$2 {
6190
6198
  }
6191
6199
  };
6192
6200
 
6193
- var error = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
6201
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
6194
6202
 
6195
6203
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
6196
6204
 
@@ -6290,16 +6298,21 @@ class BaseIcon extends AuroElement$1 {
6290
6298
 
6291
6299
  // lifecycle function
6292
6300
  async firstUpdated() {
6293
- if (!this.customSvg) {
6294
- const svg = await this.fetchIcon(this.category, this.name);
6301
+ try {
6302
+ if (!this.customSvg) {
6303
+ const svg = await this.fetchIcon(this.category, this.name);
6295
6304
 
6296
- if (svg) {
6297
- this.svg = svg;
6298
- } else if (!svg) {
6299
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
6305
+ if (svg) {
6306
+ this.svg = svg;
6307
+ } else if (!svg) {
6308
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
6300
6309
 
6301
- this.svg = penDOM.body.firstChild;
6310
+ this.svg = penDOM.body.firstChild;
6311
+ }
6302
6312
  }
6313
+ // eslint-disable-next-line no-unused-vars
6314
+ } catch (err) {
6315
+ this.svg = undefined;
6303
6316
  }
6304
6317
  }
6305
6318
  }
@@ -4782,16 +4782,16 @@ class AuroFormValidation {
4782
4782
  }
4783
4783
 
4784
4784
  this.getErrorMessage(elem);
4785
-
4786
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
4787
- bubbles: true,
4788
- composed: true,
4789
- detail: {
4790
- validity: elem.validity,
4791
- message: elem.errorMessage
4792
- }
4793
- }));
4794
4785
  }
4786
+
4787
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
4788
+ bubbles: true,
4789
+ composed: true,
4790
+ detail: {
4791
+ validity: elem.validity,
4792
+ message: elem.errorMessage
4793
+ }
4794
+ }));
4795
4795
  }
4796
4796
 
4797
4797
  /**
@@ -4883,6 +4883,14 @@ let AuroElement$2 = class AuroElement extends LitElement {
4883
4883
  };
4884
4884
  }
4885
4885
 
4886
+ /**
4887
+ * Returns true if the element has focus.
4888
+ * @returns {boolean} - Returns true if the element has focus.
4889
+ */
4890
+ get componentHasFocus() {
4891
+ return this.matches(':focus');
4892
+ }
4893
+
4886
4894
  resetShapeClasses() {
4887
4895
  const wrapper = this.shadowRoot.querySelector('.wrapper');
4888
4896
 
@@ -6114,7 +6122,7 @@ let AuroElement$1 = class AuroElement extends LitElement {
6114
6122
  }
6115
6123
  };
6116
6124
 
6117
- var error = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
6125
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
6118
6126
 
6119
6127
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
6120
6128
 
@@ -6214,16 +6222,21 @@ class BaseIcon extends AuroElement$1 {
6214
6222
 
6215
6223
  // lifecycle function
6216
6224
  async firstUpdated() {
6217
- if (!this.customSvg) {
6218
- const svg = await this.fetchIcon(this.category, this.name);
6225
+ try {
6226
+ if (!this.customSvg) {
6227
+ const svg = await this.fetchIcon(this.category, this.name);
6219
6228
 
6220
- if (svg) {
6221
- this.svg = svg;
6222
- } else if (!svg) {
6223
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
6229
+ if (svg) {
6230
+ this.svg = svg;
6231
+ } else if (!svg) {
6232
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
6224
6233
 
6225
- this.svg = penDOM.body.firstChild;
6234
+ this.svg = penDOM.body.firstChild;
6235
+ }
6226
6236
  }
6237
+ // eslint-disable-next-line no-unused-vars
6238
+ } catch (err) {
6239
+ this.svg = undefined;
6227
6240
  }
6228
6241
  }
6229
6242
  }
@@ -4782,16 +4782,16 @@ class AuroFormValidation {
4782
4782
  }
4783
4783
 
4784
4784
  this.getErrorMessage(elem);
4785
-
4786
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
4787
- bubbles: true,
4788
- composed: true,
4789
- detail: {
4790
- validity: elem.validity,
4791
- message: elem.errorMessage
4792
- }
4793
- }));
4794
4785
  }
4786
+
4787
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
4788
+ bubbles: true,
4789
+ composed: true,
4790
+ detail: {
4791
+ validity: elem.validity,
4792
+ message: elem.errorMessage
4793
+ }
4794
+ }));
4795
4795
  }
4796
4796
 
4797
4797
  /**
@@ -4883,6 +4883,14 @@ let AuroElement$2 = class AuroElement extends LitElement {
4883
4883
  };
4884
4884
  }
4885
4885
 
4886
+ /**
4887
+ * Returns true if the element has focus.
4888
+ * @returns {boolean} - Returns true if the element has focus.
4889
+ */
4890
+ get componentHasFocus() {
4891
+ return this.matches(':focus');
4892
+ }
4893
+
4886
4894
  resetShapeClasses() {
4887
4895
  const wrapper = this.shadowRoot.querySelector('.wrapper');
4888
4896
 
@@ -6114,7 +6122,7 @@ let AuroElement$1 = class AuroElement extends LitElement {
6114
6122
  }
6115
6123
  };
6116
6124
 
6117
- var error = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
6125
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
6118
6126
 
6119
6127
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
6120
6128
 
@@ -6214,16 +6222,21 @@ class BaseIcon extends AuroElement$1 {
6214
6222
 
6215
6223
  // lifecycle function
6216
6224
  async firstUpdated() {
6217
- if (!this.customSvg) {
6218
- const svg = await this.fetchIcon(this.category, this.name);
6225
+ try {
6226
+ if (!this.customSvg) {
6227
+ const svg = await this.fetchIcon(this.category, this.name);
6219
6228
 
6220
- if (svg) {
6221
- this.svg = svg;
6222
- } else if (!svg) {
6223
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
6229
+ if (svg) {
6230
+ this.svg = svg;
6231
+ } else if (!svg) {
6232
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
6224
6233
 
6225
- this.svg = penDOM.body.firstChild;
6234
+ this.svg = penDOM.body.firstChild;
6235
+ }
6226
6236
  }
6237
+ // eslint-disable-next-line no-unused-vars
6238
+ } catch (err) {
6239
+ this.svg = undefined;
6227
6240
  }
6228
6241
  }
6229
6242
  }
@@ -25,6 +25,11 @@ export class AuroElement extends LitElement {
25
25
  reflect: boolean;
26
26
  };
27
27
  };
28
+ /**
29
+ * Returns true if the element has focus.
30
+ * @returns {boolean} - Returns true if the element has focus.
31
+ */
32
+ get componentHasFocus(): boolean;
28
33
  resetShapeClasses(): void;
29
34
  resetLayoutClasses(): void;
30
35
  updateComponentArchitecture(): void;
@@ -34,6 +34,14 @@ class AuroElement extends LitElement {
34
34
  };
35
35
  }
36
36
 
37
+ /**
38
+ * Returns true if the element has focus.
39
+ * @returns {boolean} - Returns true if the element has focus.
40
+ */
41
+ get componentHasFocus() {
42
+ return this.matches(':focus');
43
+ }
44
+
37
45
  resetShapeClasses() {
38
46
  const wrapper = this.shadowRoot.querySelector('.wrapper');
39
47
 
@@ -34,6 +34,14 @@ class AuroElement extends LitElement {
34
34
  };
35
35
  }
36
36
 
37
+ /**
38
+ * Returns true if the element has focus.
39
+ * @returns {boolean} - Returns true if the element has focus.
40
+ */
41
+ get componentHasFocus() {
42
+ return this.matches(':focus');
43
+ }
44
+
37
45
  resetShapeClasses() {
38
46
  const wrapper = this.shadowRoot.querySelector('.wrapper');
39
47