@dubai-design-system/components-js 3.12.8 → 3.12.10

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 (77) hide show
  1. package/dist/cjs/dda-attach-file.cjs.entry.js +5 -1
  2. package/dist/cjs/dda-attach-file.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dda-header.cjs.entry.js +37 -14
  4. package/dist/cjs/dda-header.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dda-home-banner.cjs.entry.js +34 -5
  6. package/dist/cjs/dda-home-banner.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dda-select.cjs.entry.js +2 -9
  8. package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
  9. package/dist/collection/components/dda-attach-file/dda-attach-file.js +11 -1
  10. package/dist/collection/components/dda-attach-file/dda-attach-file.js.map +1 -1
  11. package/dist/collection/components/dda-header/dda-header-main.css +18 -2
  12. package/dist/collection/components/dda-header/dda-header.js +36 -13
  13. package/dist/collection/components/dda-header/dda-header.js.map +1 -1
  14. package/dist/collection/components/dda-header/dda-header.stories.js +4 -0
  15. package/dist/collection/components/dda-header/dda-header.stories.js.map +1 -1
  16. package/dist/collection/components/dda-home-banner/dda-home-banner.js +34 -5
  17. package/dist/collection/components/dda-home-banner/dda-home-banner.js.map +1 -1
  18. package/dist/collection/components/dda-select/dda-select.js +2 -12
  19. package/dist/collection/components/dda-select/dda-select.js.map +1 -1
  20. package/dist/collection/global/input.css +8 -1
  21. package/dist/components/dda-attach-file.js +5 -1
  22. package/dist/components/dda-attach-file.js.map +1 -1
  23. package/dist/components/dda-header.js +37 -14
  24. package/dist/components/dda-header.js.map +1 -1
  25. package/dist/components/dda-home-banner.js +34 -5
  26. package/dist/components/dda-home-banner.js.map +1 -1
  27. package/dist/components/dda-select.js +2 -9
  28. package/dist/components/dda-select.js.map +1 -1
  29. package/dist/dda/dda.css +1 -1
  30. package/dist/dda/dda.esm.js +1 -1
  31. package/dist/dda/p-0ebdb27f.entry.js +2 -0
  32. package/dist/dda/p-0ebdb27f.entry.js.map +1 -0
  33. package/dist/dda/p-0fa24558.entry.js +2 -0
  34. package/dist/dda/p-0fa24558.entry.js.map +1 -0
  35. package/dist/dda/p-24da4601.entry.js +2 -0
  36. package/dist/dda/p-24da4601.entry.js.map +1 -0
  37. package/dist/dda/p-2821386c.entry.js +2 -0
  38. package/dist/dda/p-2821386c.entry.js.map +1 -0
  39. package/dist/esm/dda-attach-file.entry.js +5 -1
  40. package/dist/esm/dda-attach-file.entry.js.map +1 -1
  41. package/dist/esm/dda-header.entry.js +37 -14
  42. package/dist/esm/dda-header.entry.js.map +1 -1
  43. package/dist/esm/dda-home-banner.entry.js +34 -5
  44. package/dist/esm/dda-home-banner.entry.js.map +1 -1
  45. package/dist/esm/dda-select.entry.js +2 -9
  46. package/dist/esm/dda-select.entry.js.map +1 -1
  47. package/dist/types/components/dda-header/dda-header.stories.d.ts +5 -0
  48. package/package.json +2 -2
  49. package/readme.md +9 -0
  50. package/www/build/dda.css +1 -1
  51. package/www/build/dda.esm.js +1 -1
  52. package/www/build/p-0ebdb27f.entry.js +2 -0
  53. package/www/build/p-0ebdb27f.entry.js.map +1 -0
  54. package/www/build/p-0fa24558.entry.js +2 -0
  55. package/www/build/p-0fa24558.entry.js.map +1 -0
  56. package/www/build/p-24da4601.entry.js +2 -0
  57. package/www/build/p-24da4601.entry.js.map +1 -0
  58. package/www/build/p-2821386c.entry.js +2 -0
  59. package/www/build/p-2821386c.entry.js.map +1 -0
  60. package/www/build/{p-17691a4c.css → p-898ec4a2.css} +1 -1
  61. package/dist/collection/global/global.css +0 -3007
  62. package/dist/dda/p-581d9c45.entry.js +0 -2
  63. package/dist/dda/p-581d9c45.entry.js.map +0 -1
  64. package/dist/dda/p-5c5aeda7.entry.js +0 -2
  65. package/dist/dda/p-5c5aeda7.entry.js.map +0 -1
  66. package/dist/dda/p-7276ea70.entry.js +0 -2
  67. package/dist/dda/p-7276ea70.entry.js.map +0 -1
  68. package/dist/dda/p-dc443758.entry.js +0 -2
  69. package/dist/dda/p-dc443758.entry.js.map +0 -1
  70. package/www/build/p-581d9c45.entry.js +0 -2
  71. package/www/build/p-581d9c45.entry.js.map +0 -1
  72. package/www/build/p-5c5aeda7.entry.js +0 -2
  73. package/www/build/p-5c5aeda7.entry.js.map +0 -1
  74. package/www/build/p-7276ea70.entry.js +0 -2
  75. package/www/build/p-7276ea70.entry.js.map +0 -1
  76. package/www/build/p-dc443758.entry.js +0 -2
  77. package/www/build/p-dc443758.entry.js.map +0 -1
@@ -11,14 +11,37 @@ export class DdaHomeBanner {
11
11
  this.pausedProgressOffset = 0;
12
12
  this.animationFrameId = null;
13
13
  }
14
+ // componentDidLoad() {
15
+ // this.updateSlides();
16
+ // const slot = this.el.querySelector('slot');
17
+ // slot?.addEventListener('slotchange', () => this.updateSlides());
18
+ // this.autoPlayActive = this.autoplay && this.slides.length > 1;
19
+ // this.playVideoInCurrentSlide();
20
+ // if (this.autoPlayActive) {
21
+ // this.startAutoplay();
22
+ // this.animateProgress(); // Initial animation
23
+ // }
24
+ // }
14
25
  componentDidLoad() {
15
26
  this.updateSlides();
16
27
  const slot = this.el.querySelector('slot');
17
28
  slot === null || slot === void 0 ? void 0 : slot.addEventListener('slotchange', () => this.updateSlides());
18
- this.autoPlayActive = this.autoplay;
29
+ this.autoPlayActive = this.autoplay && this.slides.length > 1;
19
30
  this.playVideoInCurrentSlide();
20
- this.startAutoplay();
21
- this.animateProgress(); // Initial animation
31
+ // ✅ Wait for the DOM to fully render slides before animating
32
+ if (this.autoPlayActive) {
33
+ const tryStart = () => {
34
+ const circle = this.el.querySelector('.circle-loader');
35
+ if (circle) {
36
+ this.startAutoplay();
37
+ this.animateProgress();
38
+ }
39
+ else {
40
+ requestAnimationFrame(tryStart);
41
+ }
42
+ };
43
+ tryStart();
44
+ }
22
45
  }
23
46
  disconnectedCallback() {
24
47
  this.stopAutoplay();
@@ -36,10 +59,15 @@ export class DdaHomeBanner {
36
59
  if (this.slides.length > 0) {
37
60
  this.currentSlide = 0;
38
61
  }
62
+ // Disable autoplay if there's only one slide
63
+ if (this.slides.length <= 1) {
64
+ this.autoPlayActive = false;
65
+ this.stopAutoplay();
66
+ }
39
67
  }
40
68
  startAutoplay() {
41
69
  this.stopAutoplay();
42
- if (this.autoPlayActive) {
70
+ if (this.autoPlayActive && this.slides.length > 1) {
43
71
  const slide = this.slides[this.currentSlide];
44
72
  const video = slide === null || slide === void 0 ? void 0 : slide.querySelector('video');
45
73
  const setupTimer = (durationMs) => {
@@ -163,7 +191,8 @@ export class DdaHomeBanner {
163
191
  }
164
192
  }
165
193
  render() {
166
- return (h(Host, { key: '152f285c115db976af6273951bba7792da0bbdac' }, h("div", { key: 'a043ca9ef674a7a129b22886621485fe5673362d', class: "dda-home-banner", role: "region", "aria-label": "Homepage banner with slides" }, h("div", { key: 'f45349ee43d4e3f55d5d6883665f4d32e1fbe0d5', class: "dda-home-slides", role: "list", "aria-live": "polite", "aria-atomic": "true" }, h("slot", { key: 'e6cba42b04cecf3f5f3b323410534e7a0a24b786' })), h("div", { key: '4e24c07cc9834bee0a8076b6edaf57a2c325fc63', class: "dda-home-banner-slider-nav" }, h("div", { key: '425e2245e0ac4c6eb49bc628753b3a4c160eb5c2', class: "dda-home-banner-slider-nav-content" }, h("button", { key: '8e854203bb03afadf680cdf36ce56a0c513a3d7f', type: "button", class: "dda-home-banner-prev", onClick: () => this.prevSlide() }, h("i", { key: '967ad0d1e27da31d5b06955b1e5e0667844b9805', class: "material-icons", "aria-hidden": "true" }, "chevron_left"), h("span", { key: 'f0bb9af2662fc17803e0e8a27a244d8e42d83830', class: "visually-hidden" }, "Previous slide")), h("button", { key: '0adedd930fe0a81e7bd4801cc40eafa5766332e4', type: "button", class: "dda-home-banner-Pause", onClick: () => this.toggleAutoplay(), "aria-pressed": this.autoPlayActive ? 'true' : 'false', "aria-label": this.autoPlayActive ? 'Pause slideshow autoplay' : 'Play slideshow autoplay' }, h("span", { key: 'f3fa7a8c7b886e38c41424be013b382c1f54458f' }, h("svg", { key: '9022319f545076b429c9a7ef51c6f1e8c59a4efe', class: "main-circle", width: "25", height: "26", viewBox: "0 0 25 26", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { key: 'e33c7b9ba8284d37276e80763b23a090ba10d6fe', class: "circle-loader", d: "M8.61616 4.62474C9.35885 4.35949 10.4729 3.92017 12.146 3.92017C16.7619 3.92017 21.1489 7.55969 21.1489 12.9247C20.9849 18.8126 16.4271 21.9202 12.146 21.9202C7.78471 21.9202 3.16382 18.5036 3.16382 12.9601C3.16382 11.8748 3.2148 11.4931 3.48806 10.4602", stroke: "white", "stroke-width": "2", "stroke-linecap": "round" }), h("circle", { key: 'c077c6f9706b9f055552b0fbc3234566664228a9', class: "dott", cx: "5.17456", cy: "6.92017", r: "1.44751", fill: "white" })), this.autoPlayActive ? (h("svg", { class: "nav-pause-icon", width: "7", height: "7", viewBox: "0 0 7 7", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M0.482666 0.548584H2.48267V6.54858H0.482666V0.548584Z", fill: "white" }), h("path", { d: "M4.47974 0.548584H6.47974V6.54858H4.47974V0.548584Z", fill: "white" }))) : (h("svg", { class: "nav-play-icon", width: "9", height: "9", viewBox: "0 0 9 9", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M7.9682 3.68255C8.63487 4.06745 8.63487 5.0297 7.9682 5.4146L2.31372 8.67922C1.64705 9.06412 0.813721 8.58299 0.813721 7.81319L0.813721 1.28396C0.813721 0.51416 1.64705 0.0330374 2.31372 0.417938L7.9682 3.68255Z", fill: "white" }))))), h("ul", { key: 'd76f539d0fd5ee77e89314d95a61765bdc0d74fe', "aria-label": "Select slide" }, this.slides.map((_, index) => (h("li", { key: index }, h("button", { type: "button", class: this.currentSlide === index ? 'dots active' : 'dots', onClick: () => this.setSlide(index), "aria-label": `Go to slide ${index + 1}`, "aria-current": this.currentSlide === index ? 'true' : 'false' }))))), h("button", { key: 'd69d67539f71382d08d6895fbd8b932f75913f9a', type: "button", class: "dda-home-banner-next", onClick: () => this.nextSlide(), "aria-label": "Next slide" }, h("i", { key: '556bf3c0d0e207ae0db015d327e636ae17389f92', class: "material-icons", "aria-hidden": "true" }, "chevron_right"), h("span", { key: 'c01b0c0287f48d10dd02247f9f6d1197efb0fb72', class: "visually-hidden" }, "Next slide"))), h("div", { key: 'a511bbecbce9f0bd61a3c4c275134c9207dbe461', class: "dda-mouse-scroll" }, h("dda-scroll-icon", { key: '20252228187fc9a9795b8703e51e1bea49c743dd', scroll_icon_size: "sm", scroll_icon_color: "white", custom_class: "", component_mode: "", class: "hydrated", "aria-hidden": "true" }))))));
194
+ const hasMultipleSlides = this.slides.length > 1;
195
+ return (h(Host, { key: '6d49434287317b90ab4f3d07ce3ad839cdce9fb3' }, h("div", { key: '37f724da3f9197c53046365f89765b5beda5583b', class: "dda-home-banner", role: "region", "aria-label": "Homepage banner with slides" }, h("div", { key: 'e7bacf7d2bb56a2d2317877577c7f45d0d553fc4', class: "dda-home-slides", role: "list", "aria-live": "polite", "aria-atomic": "true" }, h("slot", { key: '047b8e02aee6ad81f8fb9c8b208b5328bc8ae221' })), h("div", { key: 'a9644a5013e870ee1e3af3516a38ecb36b94cd11', class: "dda-home-banner-slider-nav" }, hasMultipleSlides && (h("div", { key: '37c3d24ce94851c5b41536d711cb93b444697e78', class: "dda-home-banner-slider-nav-content" }, h("button", { key: '9b48cc861bc760c5309f0816b062622ad80562bb', type: "button", class: "dda-home-banner-prev", onClick: () => this.prevSlide() }, h("i", { key: '09f0362f0e7475aa27d72fae72da4ef42f9ba12b', class: "material-icons", "aria-hidden": "true" }, "chevron_left"), h("span", { key: 'bc681d9f54cca2aab657c5c7080735b36e40e821', class: "visually-hidden" }, "Previous slide")), h("button", { key: '5083b1653405c62a0f4a81c7047d9507a1bfcec7', type: "button", class: "dda-home-banner-Pause", onClick: () => this.toggleAutoplay(), "aria-pressed": this.autoPlayActive ? 'true' : 'false', "aria-label": this.autoPlayActive ? 'Pause slideshow autoplay' : 'Play slideshow autoplay' }, h("span", { key: '0f7c7fbc870ee42c3edd32a03afc5143e538876c' }, h("svg", { key: '618ec4c1ed650ca31e41e028f9a30306624aad52', class: "main-circle", width: "25", height: "26", viewBox: "0 0 25 26", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { key: '8233d9df1044bd665aba9ffb8d09af6d3b365285', class: "circle-loader", d: "M8.61616 4.62474C9.35885 4.35949 10.4729 3.92017 12.146 3.92017C16.7619 3.92017 21.1489 7.55969 21.1489 12.9247C20.9849 18.8126 16.4271 21.9202 12.146 21.9202C7.78471 21.9202 3.16382 18.5036 3.16382 12.9601C3.16382 11.8748 3.2148 11.4931 3.48806 10.4602", stroke: "white", "stroke-width": "2", "stroke-linecap": "round" }), h("circle", { key: 'e972a42bebb33765304c65ce489cc0b5f6858edc', class: "dott", cx: "5.17456", cy: "6.92017", r: "1.44751", fill: "white" })), this.autoPlayActive ? (h("svg", { class: "nav-pause-icon", width: "7", height: "7", viewBox: "0 0 7 7", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M0.482666 0.548584H2.48267V6.54858H0.482666V0.548584Z", fill: "white" }), h("path", { d: "M4.47974 0.548584H6.47974V6.54858H4.47974V0.548584Z", fill: "white" }))) : (h("svg", { class: "nav-play-icon", width: "9", height: "9", viewBox: "0 0 9 9", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M7.9682 3.68255C8.63487 4.06745 8.63487 5.0297 7.9682 5.4146L2.31372 8.67922C1.64705 9.06412 0.813721 8.58299 0.813721 7.81319L0.813721 1.28396C0.813721 0.51416 1.64705 0.0330374 2.31372 0.417938L7.9682 3.68255Z", fill: "white" }))))), h("ul", { key: 'adddb6104fd2ba0c9c86de3e222016c50c441924', "aria-label": "Select slide" }, this.slides.map((_, index) => (h("li", { key: index }, h("button", { type: "button", class: this.currentSlide === index ? 'dots active' : 'dots', onClick: () => this.setSlide(index), "aria-label": `Go to slide ${index + 1}`, "aria-current": this.currentSlide === index ? 'true' : 'false' }))))), h("button", { key: '6d67a6af87386354b62bed2cbfa065260877ac04', type: "button", class: "dda-home-banner-next", onClick: () => this.nextSlide(), "aria-label": "Next slide" }, h("i", { key: '3632b6248cd7d68381820c2c95ee1549c80e60c8', class: "material-icons", "aria-hidden": "true" }, "chevron_right"), h("span", { key: 'fae1952c104e8ecd95395df92fd31e7a445b05a2', class: "visually-hidden" }, "Next slide")))), h("div", { key: '7bad9578f986c285da80baf3cf04eedfe97fccb2', class: "dda-mouse-scroll" }, h("dda-scroll-icon", { key: '477ff1157d58ae5da3b6d8815b6279aa00143e0a', scroll_icon_size: "sm", scroll_icon_color: "white", custom_class: "", component_mode: "", class: "hydrated", "aria-hidden": "true" }))))));
167
196
  }
168
197
  static get is() { return "dda-home-banner"; }
169
198
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"dda-home-banner.js","sourceRoot":"","sources":["../../../src/components/dda-home-banner/dda-home-banner.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Host, Component, h, State, Element, Prop, Watch } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-home-banner',\r\n styleUrls: ['home-banner.css'],\r\n shadow: false,\r\n})\r\nexport class DdaHomeBanner {\r\n @Element() el: HTMLElement;\r\n\r\n /** Props */\r\n @Prop() autoplay: boolean = true;\r\n @Prop() interval: number = 3000;\r\n\r\n /** States */\r\n @State() currentSlide: number = 0;\r\n @State() slides: HTMLElement[] = [];\r\n @State() autoPlayActive: boolean = true;\r\n\r\n private autoPlayInterval: any;\r\n private pausedProgressOffset: number = 0;\r\n private animationFrameId: number | null = null;\r\n\r\n componentDidLoad() {\r\n this.updateSlides();\r\n const slot = this.el.querySelector('slot');\r\n slot?.addEventListener('slotchange', () => this.updateSlides());\r\n\r\n this.autoPlayActive = this.autoplay;\r\n this.playVideoInCurrentSlide();\r\n this.startAutoplay();\r\n this.animateProgress(); // Initial animation\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopAutoplay();\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n this.slides.forEach((slide, index) => {\r\n slide.classList.toggle('active', index === this.currentSlide);\r\n });\r\n }\r\n\r\n updateSlides() {\r\n this.slides = Array.from(this.el.querySelectorAll('.dda-home-banner-slide'));\r\n if (this.slides.length > 0) {\r\n this.currentSlide = 0;\r\n }\r\n }\r\n\r\n startAutoplay() {\r\n this.stopAutoplay();\r\n\r\n if (this.autoPlayActive) {\r\n const slide = this.slides[this.currentSlide];\r\n const video = slide?.querySelector('video') as HTMLVideoElement;\r\n\r\n const setupTimer = (durationMs: number) => {\r\n this.autoPlayInterval = setInterval(() => {\r\n this.nextSlide();\r\n }, durationMs);\r\n this.animateProgress(1); // animate full ring\r\n };\r\n\r\n if (video) {\r\n if (video.readyState >= 1) {\r\n setupTimer(video.duration * 1000);\r\n } else {\r\n video.addEventListener('loadedmetadata', () => {\r\n setupTimer(video.duration * 1000);\r\n }, { once: true });\r\n }\r\n } else {\r\n setupTimer(this.interval);\r\n }\r\n }\r\n }\r\n\r\n stopAutoplay() {\r\n if (this.autoPlayInterval) {\r\n clearInterval(this.autoPlayInterval);\r\n this.autoPlayInterval = null;\r\n }\r\n }\r\n\r\n toggleAutoplay() {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n const video = this.slides[this.currentSlide]?.querySelector('video') as HTMLVideoElement;\r\n\r\n this.autoPlayActive = !this.autoPlayActive;\r\n\r\n if (this.autoPlayActive) {\r\n this.startAutoplay();\r\n\r\n const offset = this.pausedProgressOffset;\r\n const totalLength = circle?.getTotalLength() || 1;\r\n const startRatio = offset / totalLength;\r\n\r\n if (video) video.play();\r\n this.animateProgress(startRatio);\r\n } else {\r\n this.stopAutoplay();\r\n\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n this.animationFrameId = null;\r\n }\r\n\r\n if (circle) {\r\n const style = window.getComputedStyle(circle);\r\n const strokeDashoffset = parseFloat(style.strokeDashoffset || '0');\r\n this.pausedProgressOffset = strokeDashoffset;\r\n }\r\n\r\n if (video) video.pause();\r\n }\r\n }\r\n\r\n playVideoInCurrentSlide() {\r\n this.slides.forEach((slide, index) => {\r\n const video = slide.querySelector('video') as HTMLVideoElement;\r\n if (video) {\r\n if (index === this.currentSlide) {\r\n video.currentTime = 0;\r\n video.play();\r\n } else {\r\n video.pause();\r\n }\r\n }\r\n });\r\n }\r\n\r\n nextSlide() {\r\n this.currentSlide = (this.currentSlide + 1) % this.slides.length;\r\n }\r\n\r\n prevSlide() {\r\n this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length;\r\n }\r\n\r\n setSlide(index: number) {\r\n this.currentSlide = index;\r\n }\r\n\r\n @Watch('currentSlide')\r\n onSlideChanged() {\r\n this.animateProgress();\r\n this.playVideoInCurrentSlide();\r\n this.startAutoplay(); // restart with correct duration\r\n }\r\n\r\n animateProgress(startRatio = 1) {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n if (!circle) return;\r\n\r\n const length = circle.getTotalLength();\r\n const slide = this.slides[this.currentSlide];\r\n const video = slide?.querySelector('video') as HTMLVideoElement;\r\n const duration = (video && video.duration ? video.duration * 1000 : this.interval) * startRatio;\r\n const start = performance.now();\r\n this.pausedProgressOffset = length * startRatio;\r\n\r\n circle.style.strokeDasharray = `${length}`;\r\n circle.style.strokeDashoffset = `${this.pausedProgressOffset}`;\r\n circle.style.transition = 'none';\r\n\r\n const animate = (now: number) => {\r\n const elapsed = now - start;\r\n const progress = Math.min(elapsed / duration, 1);\r\n const newOffset = length * (1 - progress) * startRatio;\r\n circle.style.strokeDashoffset = `${newOffset}`;\r\n\r\n if (progress < 1) {\r\n this.animationFrameId = requestAnimationFrame(animate);\r\n }\r\n };\r\n\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n }\r\n this.animationFrameId = requestAnimationFrame(animate);\r\n }\r\n\r\n resetProgress() {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n if (circle) {\r\n const length = circle.getTotalLength();\r\n circle.style.transition = 'none';\r\n circle.style.strokeDashoffset = `${length}`;\r\n this.pausedProgressOffset = length;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"dda-home-banner\" role=\"region\" aria-label=\"Homepage banner with slides\">\r\n <div class=\"dda-home-slides\" role=\"list\" aria-live=\"polite\" aria-atomic=\"true\">\r\n <slot></slot>\r\n </div>\r\n\r\n <div class=\"dda-home-banner-slider-nav\">\r\n <div class=\"dda-home-banner-slider-nav-content\">\r\n <button type=\"button\" class=\"dda-home-banner-prev\" onClick={() => this.prevSlide()}>\r\n <i class=\"material-icons\" aria-hidden=\"true\">chevron_left</i>\r\n <span class=\"visually-hidden\">Previous slide</span>\r\n </button>\r\n\r\n <button \r\n type=\"button\" \r\n class=\"dda-home-banner-Pause\" \r\n onClick={() => this.toggleAutoplay()}\r\n aria-pressed={this.autoPlayActive ? 'true' : 'false'}\r\n aria-label={this.autoPlayActive ? 'Pause slideshow autoplay' : 'Play slideshow autoplay'}\r\n >\r\n <span>\r\n <svg class=\"main-circle\" width=\"25\" height=\"26\" viewBox=\"0 0 25 26\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\r\n <path class=\"circle-loader\" d=\"M8.61616 4.62474C9.35885 4.35949 10.4729 3.92017 12.146 3.92017C16.7619 3.92017 21.1489 7.55969 21.1489 12.9247C20.9849 18.8126 16.4271 21.9202 12.146 21.9202C7.78471 21.9202 3.16382 18.5036 3.16382 12.9601C3.16382 11.8748 3.2148 11.4931 3.48806 10.4602\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <circle class=\"dott\" cx=\"5.17456\" cy=\"6.92017\" r=\"1.44751\" fill=\"white\" />\r\n </svg>\r\n {this.autoPlayActive ? (\r\n <svg class=\"nav-pause-icon\" width=\"7\" height=\"7\" viewBox=\"0 0 7 7\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\r\n <path d=\"M0.482666 0.548584H2.48267V6.54858H0.482666V0.548584Z\" fill=\"white\"/>\r\n <path d=\"M4.47974 0.548584H6.47974V6.54858H4.47974V0.548584Z\" fill=\"white\"/>\r\n </svg>\r\n ) : (\r\n <svg class=\"nav-play-icon\" width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\r\n <path d=\"M7.9682 3.68255C8.63487 4.06745 8.63487 5.0297 7.9682 5.4146L2.31372 8.67922C1.64705 9.06412 0.813721 8.58299 0.813721 7.81319L0.813721 1.28396C0.813721 0.51416 1.64705 0.0330374 2.31372 0.417938L7.9682 3.68255Z\" fill=\"white\"/>\r\n </svg>\r\n )}\r\n </span>\r\n </button>\r\n\r\n <ul aria-label=\"Select slide\">\r\n {this.slides.map((_, index) => (\r\n <li key={index}>\r\n <button\r\n type=\"button\"\r\n class={this.currentSlide === index ? 'dots active' : 'dots'}\r\n onClick={() => this.setSlide(index)}\r\n aria-label={`Go to slide ${index + 1}`}\r\n aria-current={this.currentSlide === index ? 'true' : 'false'}\r\n \r\n ></button>\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <button type=\"button\" class=\"dda-home-banner-next\" onClick={() => this.nextSlide()} aria-label=\"Next slide\">\r\n <i class=\"material-icons\" aria-hidden=\"true\">chevron_right</i>\r\n <span class=\"visually-hidden\">Next slide</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"dda-mouse-scroll\">\r\n <dda-scroll-icon\r\n scroll_icon_size=\"sm\"\r\n scroll_icon_color=\"white\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n class=\"hydrated\"\r\n aria-hidden=\"true\"\r\n ></dda-scroll-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"dda-home-banner.js","sourceRoot":"","sources":["../../../src/components/dda-home-banner/dda-home-banner.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Host, Component, h, State, Element, Prop, Watch } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-home-banner',\r\n styleUrls: ['home-banner.css'],\r\n shadow: false,\r\n})\r\nexport class DdaHomeBanner {\r\n @Element() el: HTMLElement;\r\n\r\n /** Props */\r\n @Prop() autoplay: boolean = true;\r\n @Prop() interval: number = 3000;\r\n\r\n /** States */\r\n @State() currentSlide: number = 0;\r\n @State() slides: HTMLElement[] = [];\r\n @State() autoPlayActive: boolean = true;\r\n\r\n private autoPlayInterval: any;\r\n private pausedProgressOffset: number = 0;\r\n private animationFrameId: number | null = null;\r\n\r\n // componentDidLoad() {\r\n // this.updateSlides();\r\n // const slot = this.el.querySelector('slot');\r\n // slot?.addEventListener('slotchange', () => this.updateSlides());\r\n\r\n // this.autoPlayActive = this.autoplay && this.slides.length > 1;\r\n // this.playVideoInCurrentSlide();\r\n\r\n // if (this.autoPlayActive) {\r\n // this.startAutoplay();\r\n // this.animateProgress(); // Initial animation\r\n // }\r\n // }\r\n\r\n componentDidLoad() {\r\n this.updateSlides();\r\n const slot = this.el.querySelector('slot');\r\n slot?.addEventListener('slotchange', () => this.updateSlides());\r\n\r\n this.autoPlayActive = this.autoplay && this.slides.length > 1;\r\n this.playVideoInCurrentSlide();\r\n\r\n // ✅ Wait for the DOM to fully render slides before animating\r\n if (this.autoPlayActive) {\r\n const tryStart = () => {\r\n const circle = this.el.querySelector('.circle-loader');\r\n if (circle) {\r\n this.startAutoplay();\r\n this.animateProgress();\r\n } else {\r\n requestAnimationFrame(tryStart);\r\n }\r\n };\r\n tryStart();\r\n }\r\n}\r\n\r\n disconnectedCallback() {\r\n this.stopAutoplay();\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n this.slides.forEach((slide, index) => {\r\n slide.classList.toggle('active', index === this.currentSlide);\r\n });\r\n }\r\n\r\n updateSlides() {\r\n this.slides = Array.from(this.el.querySelectorAll('.dda-home-banner-slide'));\r\n if (this.slides.length > 0) {\r\n this.currentSlide = 0;\r\n }\r\n\r\n // Disable autoplay if there's only one slide\r\n if (this.slides.length <= 1) {\r\n this.autoPlayActive = false;\r\n this.stopAutoplay();\r\n }\r\n }\r\n\r\n startAutoplay() {\r\n this.stopAutoplay();\r\n\r\n if (this.autoPlayActive && this.slides.length > 1) {\r\n const slide = this.slides[this.currentSlide];\r\n const video = slide?.querySelector('video') as HTMLVideoElement;\r\n\r\n const setupTimer = (durationMs: number) => {\r\n this.autoPlayInterval = setInterval(() => {\r\n this.nextSlide();\r\n }, durationMs);\r\n this.animateProgress(1); // animate full ring\r\n };\r\n\r\n if (video) {\r\n if (video.readyState >= 1) {\r\n setupTimer(video.duration * 1000);\r\n } else {\r\n video.addEventListener(\r\n 'loadedmetadata',\r\n () => {\r\n setupTimer(video.duration * 1000);\r\n },\r\n { once: true }\r\n );\r\n }\r\n } else {\r\n setupTimer(this.interval);\r\n }\r\n }\r\n }\r\n\r\n stopAutoplay() {\r\n if (this.autoPlayInterval) {\r\n clearInterval(this.autoPlayInterval);\r\n this.autoPlayInterval = null;\r\n }\r\n }\r\n\r\n toggleAutoplay() {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n const video = this.slides[this.currentSlide]?.querySelector('video') as HTMLVideoElement;\r\n\r\n this.autoPlayActive = !this.autoPlayActive;\r\n\r\n if (this.autoPlayActive) {\r\n this.startAutoplay();\r\n\r\n const offset = this.pausedProgressOffset;\r\n const totalLength = circle?.getTotalLength() || 1;\r\n const startRatio = offset / totalLength;\r\n\r\n if (video) video.play();\r\n this.animateProgress(startRatio);\r\n } else {\r\n this.stopAutoplay();\r\n\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n this.animationFrameId = null;\r\n }\r\n\r\n if (circle) {\r\n const style = window.getComputedStyle(circle);\r\n const strokeDashoffset = parseFloat(style.strokeDashoffset || '0');\r\n this.pausedProgressOffset = strokeDashoffset;\r\n }\r\n\r\n if (video) video.pause();\r\n }\r\n }\r\n\r\n playVideoInCurrentSlide() {\r\n this.slides.forEach((slide, index) => {\r\n const video = slide.querySelector('video') as HTMLVideoElement;\r\n if (video) {\r\n if (index === this.currentSlide) {\r\n video.currentTime = 0;\r\n video.play();\r\n } else {\r\n video.pause();\r\n }\r\n }\r\n });\r\n }\r\n\r\n nextSlide() {\r\n this.currentSlide = (this.currentSlide + 1) % this.slides.length;\r\n }\r\n\r\n prevSlide() {\r\n this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length;\r\n }\r\n\r\n setSlide(index: number) {\r\n this.currentSlide = index;\r\n }\r\n\r\n @Watch('currentSlide')\r\n onSlideChanged() {\r\n this.animateProgress();\r\n this.playVideoInCurrentSlide();\r\n this.startAutoplay(); // restart with correct duration\r\n }\r\n\r\n animateProgress(startRatio = 1) {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n if (!circle) return;\r\n\r\n const length = circle.getTotalLength();\r\n const slide = this.slides[this.currentSlide];\r\n const video = slide?.querySelector('video') as HTMLVideoElement;\r\n const duration = (video && video.duration ? video.duration * 1000 : this.interval) * startRatio;\r\n const start = performance.now();\r\n this.pausedProgressOffset = length * startRatio;\r\n\r\n circle.style.strokeDasharray = `${length}`;\r\n circle.style.strokeDashoffset = `${this.pausedProgressOffset}`;\r\n circle.style.transition = 'none';\r\n\r\n const animate = (now: number) => {\r\n const elapsed = now - start;\r\n const progress = Math.min(elapsed / duration, 1);\r\n const newOffset = length * (1 - progress) * startRatio;\r\n circle.style.strokeDashoffset = `${newOffset}`;\r\n\r\n if (progress < 1) {\r\n this.animationFrameId = requestAnimationFrame(animate);\r\n }\r\n };\r\n\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n }\r\n this.animationFrameId = requestAnimationFrame(animate);\r\n }\r\n\r\n resetProgress() {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n if (circle) {\r\n const length = circle.getTotalLength();\r\n circle.style.transition = 'none';\r\n circle.style.strokeDashoffset = `${length}`;\r\n this.pausedProgressOffset = length;\r\n }\r\n }\r\n\r\n render() {\r\n const hasMultipleSlides = this.slides.length > 1;\r\n\r\n return (\r\n <Host>\r\n <div class=\"dda-home-banner\" role=\"region\" aria-label=\"Homepage banner with slides\">\r\n <div class=\"dda-home-slides\" role=\"list\" aria-live=\"polite\" aria-atomic=\"true\">\r\n <slot></slot>\r\n </div>\r\n\r\n <div class=\"dda-home-banner-slider-nav\">\r\n {hasMultipleSlides && (\r\n <div class=\"dda-home-banner-slider-nav-content\">\r\n <button\r\n type=\"button\"\r\n class=\"dda-home-banner-prev\"\r\n onClick={() => this.prevSlide()}\r\n >\r\n <i class=\"material-icons\" aria-hidden=\"true\">chevron_left</i>\r\n <span class=\"visually-hidden\">Previous slide</span>\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"dda-home-banner-Pause\"\r\n onClick={() => this.toggleAutoplay()}\r\n aria-pressed={this.autoPlayActive ? 'true' : 'false'}\r\n aria-label={this.autoPlayActive ? 'Pause slideshow autoplay' : 'Play slideshow autoplay'}\r\n >\r\n <span>\r\n <svg\r\n class=\"main-circle\"\r\n width=\"25\"\r\n height=\"26\"\r\n viewBox=\"0 0 25 26\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n class=\"circle-loader\"\r\n d=\"M8.61616 4.62474C9.35885 4.35949 10.4729 3.92017 12.146 3.92017C16.7619 3.92017 21.1489 7.55969 21.1489 12.9247C20.9849 18.8126 16.4271 21.9202 12.146 21.9202C7.78471 21.9202 3.16382 18.5036 3.16382 12.9601C3.16382 11.8748 3.2148 11.4931 3.48806 10.4602\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n />\r\n <circle class=\"dott\" cx=\"5.17456\" cy=\"6.92017\" r=\"1.44751\" fill=\"white\" />\r\n </svg>\r\n {this.autoPlayActive ? (\r\n <svg\r\n class=\"nav-pause-icon\"\r\n width=\"7\"\r\n height=\"7\"\r\n viewBox=\"0 0 7 7\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path d=\"M0.482666 0.548584H2.48267V6.54858H0.482666V0.548584Z\" fill=\"white\" />\r\n <path d=\"M4.47974 0.548584H6.47974V6.54858H4.47974V0.548584Z\" fill=\"white\" />\r\n </svg>\r\n ) : (\r\n <svg\r\n class=\"nav-play-icon\"\r\n width=\"9\"\r\n height=\"9\"\r\n viewBox=\"0 0 9 9\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n d=\"M7.9682 3.68255C8.63487 4.06745 8.63487 5.0297 7.9682 5.4146L2.31372 8.67922C1.64705 9.06412 0.813721 8.58299 0.813721 7.81319L0.813721 1.28396C0.813721 0.51416 1.64705 0.0330374 2.31372 0.417938L7.9682 3.68255Z\"\r\n fill=\"white\"\r\n />\r\n </svg>\r\n )}\r\n </span>\r\n </button>\r\n\r\n <ul aria-label=\"Select slide\">\r\n {this.slides.map((_, index) => (\r\n <li key={index}>\r\n <button\r\n type=\"button\"\r\n class={this.currentSlide === index ? 'dots active' : 'dots'}\r\n onClick={() => this.setSlide(index)}\r\n aria-label={`Go to slide ${index + 1}`}\r\n aria-current={this.currentSlide === index ? 'true' : 'false'}\r\n ></button>\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"dda-home-banner-next\"\r\n onClick={() => this.nextSlide()}\r\n aria-label=\"Next slide\"\r\n >\r\n <i class=\"material-icons\" aria-hidden=\"true\">chevron_right</i>\r\n <span class=\"visually-hidden\">Next slide</span>\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div class=\"dda-mouse-scroll\">\r\n <dda-scroll-icon\r\n scroll_icon_size=\"sm\"\r\n scroll_icon_color=\"white\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n class=\"hydrated\"\r\n aria-hidden=\"true\"\r\n ></dda-scroll-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -119,24 +119,14 @@ export class Ddaselect {
119
119
  render() {
120
120
  const labelId = `${this.button_id}-label`;
121
121
  const valueId = `${this.button_id}-value`;
122
- return (h(Host, { key: '1695d610ca724cf642bf21a10e5fd449719e7148' }, h("div", { key: '262e8921a9993aaae454624119a6b5382e15b7bf', class: `
122
+ return (h(Host, { key: 'ecf43cd602ef0f98974d1c76cfd50ac7357b6a08' }, h("div", { key: '4c15c3048ad62d235b7259cbf3f39921909ce5e5', class: `
123
123
  dda-input-container ${this.custom_class}
124
124
  ${this.component_mode}
125
125
  ${this.disabled ? 'dda-input-disabled' : ''}
126
126
  dda-input-size-${this.size} dda-validation-${this.validation_type}
127
- ` }, this.label && (h("span", { key: '3de023aee88b99523b18072bdd523232b4541203', id: labelId, class: "dda-input-label" }, this.label)), h("div", { key: 'e47bc1b665903cdda4432c59aea76fa33350de9c', class: "dda-dropdown-container" }, h("button", { key: '31ee45ed59da1db07ba971e3fee6b0766a96762b', name: this.toggle_button_name, id: this.button_id, type: "button", class: "dda-input-field dda-select-header", "aria-labelledby": `${labelId} ${this.button_id}`, disabled: this.disabled, onClick: () => this.toggleSelect(), onBlur: this.handleBlur }, h("span", { key: '50c26dcecd11aa6c98ee98cf0cba349a430b3bd2', id: valueId, class: "dda-select-button-label" }, this.selectedText || this.placeholder), h("i", { key: 'aceb250923afa0e5e18ca7622d96a192c04a8a7c', class: "material-icons", "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (h("div", { key: '9e7514e189fa2f61c5b6b45f03e9d11b64b1aeea', class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index) => (h("button", { name: `option${this.numberToWord(index + 1)}`, type: "button", class: `dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`, role: "option", "aria-selected": this.selectedId === option.id ? 'true' : 'false', onClick: () => this.selectOption(option) }, option.text)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.validation_type === 'error' && this.error_message ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
127
+ ` }, this.label && (h("span", { key: 'e58cda1941ef732a951dc06f7c01f7d904a1c8c3', id: labelId, class: "dda-input-label" }, this.label)), h("div", { key: '6885ef524717d3b8f9850b3995f56ae5194e748a', class: "dda-dropdown-container" }, h("button", { key: 'a4e6e30acdf55e12aa4742f9dc824c9e1eec0b57', name: this.toggle_button_name, id: this.button_id, type: "button", class: "dda-input-field dda-select-header", "aria-labelledby": `${labelId} ${this.button_id}`, disabled: this.disabled, onClick: () => this.toggleSelect(), onBlur: this.handleBlur }, h("span", { key: '8f67e50593affdb2b558200091c2aecd53e9c387', id: valueId, class: "dda-select-button-label" }, this.selectedText || this.placeholder), h("i", { key: '423ca7dcd2b51118ffa5e5cddaa86d05ae981e5d', class: "material-icons", "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (h("div", { key: 'ffcefb669f4400f26ffff871092cf22ac977a2d4', class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index) => (h("button", { name: `option${this.numberToWord(index + 1)}`, type: "button", class: `dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`, role: "option", "aria-selected": this.selectedId === option.id ? 'true' : 'false', onClick: () => this.selectOption(option) }, option.text)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.validation_type === 'error' && this.error_message ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
128
128
  }
129
129
  static get is() { return "dda-select"; }
130
- static get originalStyleUrls() {
131
- return {
132
- "$": ["../../global/input.css", "../../global/global.css"]
133
- };
134
- }
135
- static get styleUrls() {
136
- return {
137
- "$": ["../../global/input.css", "../../global/global.css"]
138
- };
139
- }
140
130
  static get properties() {
141
131
  return {
142
132
  "label": {
@@ -1 +1 @@
1
- {"version":3,"file":"dda-select.js","sourceRoot":"","sources":["../../../src/components/dda-select/dda-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h, Host, Element, Event, EventEmitter, Watch, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-select',\r\n styleUrls: ['../../global/input.css', '../../global/global.css'],\r\n shadow: false,\r\n})\r\nexport class Ddaselect {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() options: string;\r\n @Prop() selected: string; // can be id or text\r\n @Prop() disabled: boolean = false;\r\n @Prop() error?: string;\r\n @Prop() error_message: string;\r\n @Prop() helper_text: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id: string;\r\n @Prop() toggle_button_name: string;\r\n @Prop() option_select_button_name: string;\r\n @Prop() placeholder: string = '';\r\n @Prop() main_aria_label: string = '';\r\n @Prop() input_name: string = '';\r\n\r\n @State() is_open: boolean = false;\r\n @State() selectedId: number;\r\n @State() selectedText: string;\r\n\r\n @Event() selectChanged: EventEmitter<{ id: number; text: string }>;\r\n @Event() onChanged: EventEmitter<any>;\r\n\r\n @Event() selectBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<any>;\r\n\r\n private get parsedOptions(): { id: number; text: string }[] {\r\n try {\r\n return JSON.parse(this.options);\r\n } catch {\r\n return [];\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === this.selected || opt.text === this.selected);\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n }\r\n if (this.selected) {\r\n this.watchSelected(this.selected);\r\n }\r\n }\r\n\r\n toggleSelect() {\r\n if (!this.disabled) {\r\n this.is_open = !this.is_open;\r\n }\r\n }\r\n\r\n selectOption(option: { id: any; text: string }) {\r\n if (!this.disabled) {\r\n this.selectedId = option.id;\r\n this.selectedText = option.text;\r\n this.is_open = false;\r\n this.selectChanged.emit(option);\r\n this.onChanged.emit(option.id);\r\n\r\n this.el.dispatchEvent(\r\n new InputEvent('input', {\r\n bubbles: true,\r\n composed: true,\r\n data: option.id,\r\n inputType: 'select',\r\n }),\r\n );\r\n }\r\n }\r\n\r\n handleClickOutside = (event: MouseEvent) => {\r\n if (this.is_open && !this.el.contains(event.target as Node)) {\r\n this.is_open = false;\r\n }\r\n };\r\n\r\n handleBlur = () => {\r\n this.selectBlurred.emit({\r\n name: this.input_name || this.button_id,\r\n value: this.selectedText || '',\r\n });\r\n this.onBlurred.emit(this.selectedId);\r\n\r\n this.el.dispatchEvent(\r\n new FocusEvent('blur', {\r\n bubbles: true,\r\n composed: true,\r\n }),\r\n );\r\n };\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Method()\r\n async setSelected(value: string | number) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n this.selected = selectedOption.id.toString();\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n this.selected = '';\r\n }\r\n }\r\n\r\n async setValue(value: string | number) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n this.selected = selectedOption.id.toString();\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n this.selected = '';\r\n }\r\n }\r\n\r\n @Method()\r\n async getSelectedText() {\r\n return this.selectedText;\r\n }\r\n\r\n async getValue() {\r\n return this.selectedText || '';\r\n }\r\n\r\n @Watch('selected')\r\n watchSelected(newVal: string) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === newVal || opt.text === newVal);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n }\r\n }\r\n\r\n private numberToWord(num: number): string {\r\n const words = ['One', 'Two', 'Three', 'Four', 'Five'];\r\n return words[num - 1] || num.toString();\r\n }\r\n\r\n render() {\r\n const labelId = `${this.button_id}-label`;\r\n const valueId = `${this.button_id}-value`;\r\n\r\n return (\r\n <Host>\r\n <div\r\n class={`\r\n dda-input-container ${this.custom_class} \r\n ${this.component_mode} \r\n ${this.disabled ? 'dda-input-disabled' : ''} \r\n dda-input-size-${this.size} dda-validation-${this.validation_type}\r\n `}\r\n >\r\n {this.label && (\r\n <span id={labelId} class=\"dda-input-label\">\r\n {this.label}\r\n </span>\r\n )}\r\n <div class=\"dda-dropdown-container\">\r\n <button\r\n name={this.toggle_button_name}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-input-field dda-select-header\"\r\n aria-labelledby={`${labelId} ${this.button_id}`}\r\n disabled={this.disabled}\r\n onClick={() => this.toggleSelect()}\r\n onBlur={this.handleBlur}\r\n >\r\n <span id={valueId} class=\"dda-select-button-label\">\r\n {this.selectedText || this.placeholder}\r\n </span>\r\n <i class=\"material-icons\" aria-hidden=\"true\">\r\n {this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}\r\n </i>\r\n </button>\r\n\r\n {this.is_open && (\r\n <div class=\"dda-input-dropdown-list dda-select-list\">\r\n {this.parsedOptions.length > 0 ? (\r\n this.parsedOptions.map((option, index) => (\r\n <button\r\n name={`option${this.numberToWord(index + 1)}`}\r\n type=\"button\"\r\n class={`dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`}\r\n role=\"option\"\r\n aria-selected={this.selectedId === option.id ? 'true' : 'false'}\r\n onClick={() => this.selectOption(option)}\r\n >\r\n {option.text}\r\n </button>\r\n ))\r\n ) : (\r\n <div class=\"dda-input-dropdown-item\">No options available</div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\">\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"dda-select.js","sourceRoot":"","sources":["../../../src/components/dda-select/dda-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h, Host, Element, Event, EventEmitter, Watch, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-select',\r\n // styleUrls: ['../../global/input.css', '../../global/global.css'],\r\n shadow: false,\r\n})\r\nexport class Ddaselect {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() options: string;\r\n @Prop() selected: string; // can be id or text\r\n @Prop() disabled: boolean = false;\r\n @Prop() error?: string;\r\n @Prop() error_message: string;\r\n @Prop() helper_text: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id: string;\r\n @Prop() toggle_button_name: string;\r\n @Prop() option_select_button_name: string;\r\n @Prop() placeholder: string = '';\r\n @Prop() main_aria_label: string = '';\r\n @Prop() input_name: string = '';\r\n\r\n @State() is_open: boolean = false;\r\n @State() selectedId: number;\r\n @State() selectedText: string;\r\n\r\n @Event() selectChanged: EventEmitter<{ id: number; text: string }>;\r\n @Event() onChanged: EventEmitter<any>;\r\n\r\n @Event() selectBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<any>;\r\n\r\n private get parsedOptions(): { id: number; text: string }[] {\r\n try {\r\n return JSON.parse(this.options);\r\n } catch {\r\n return [];\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === this.selected || opt.text === this.selected);\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n }\r\n if (this.selected) {\r\n this.watchSelected(this.selected);\r\n }\r\n }\r\n\r\n toggleSelect() {\r\n if (!this.disabled) {\r\n this.is_open = !this.is_open;\r\n }\r\n }\r\n\r\n selectOption(option: { id: any; text: string }) {\r\n if (!this.disabled) {\r\n this.selectedId = option.id;\r\n this.selectedText = option.text;\r\n this.is_open = false;\r\n this.selectChanged.emit(option);\r\n this.onChanged.emit(option.id);\r\n\r\n this.el.dispatchEvent(\r\n new InputEvent('input', {\r\n bubbles: true,\r\n composed: true,\r\n data: option.id,\r\n inputType: 'select',\r\n }),\r\n );\r\n }\r\n }\r\n\r\n handleClickOutside = (event: MouseEvent) => {\r\n if (this.is_open && !this.el.contains(event.target as Node)) {\r\n this.is_open = false;\r\n }\r\n };\r\n\r\n handleBlur = () => {\r\n this.selectBlurred.emit({\r\n name: this.input_name || this.button_id,\r\n value: this.selectedText || '',\r\n });\r\n this.onBlurred.emit(this.selectedId);\r\n\r\n this.el.dispatchEvent(\r\n new FocusEvent('blur', {\r\n bubbles: true,\r\n composed: true,\r\n }),\r\n );\r\n };\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Method()\r\n async setSelected(value: string | number) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n this.selected = selectedOption.id.toString();\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n this.selected = '';\r\n }\r\n }\r\n\r\n async setValue(value: string | number) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n this.selected = selectedOption.id.toString();\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n this.selected = '';\r\n }\r\n }\r\n\r\n @Method()\r\n async getSelectedText() {\r\n return this.selectedText;\r\n }\r\n\r\n async getValue() {\r\n return this.selectedText || '';\r\n }\r\n\r\n @Watch('selected')\r\n watchSelected(newVal: string) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === newVal || opt.text === newVal);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n }\r\n }\r\n\r\n private numberToWord(num: number): string {\r\n const words = ['One', 'Two', 'Three', 'Four', 'Five'];\r\n return words[num - 1] || num.toString();\r\n }\r\n\r\n render() {\r\n const labelId = `${this.button_id}-label`;\r\n const valueId = `${this.button_id}-value`;\r\n\r\n return (\r\n <Host>\r\n <div\r\n class={`\r\n dda-input-container ${this.custom_class} \r\n ${this.component_mode} \r\n ${this.disabled ? 'dda-input-disabled' : ''} \r\n dda-input-size-${this.size} dda-validation-${this.validation_type}\r\n `}\r\n >\r\n {this.label && (\r\n <span id={labelId} class=\"dda-input-label\">\r\n {this.label}\r\n </span>\r\n )}\r\n <div class=\"dda-dropdown-container\">\r\n <button\r\n name={this.toggle_button_name}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-input-field dda-select-header\"\r\n aria-labelledby={`${labelId} ${this.button_id}`}\r\n disabled={this.disabled}\r\n onClick={() => this.toggleSelect()}\r\n onBlur={this.handleBlur}\r\n >\r\n <span id={valueId} class=\"dda-select-button-label\">\r\n {this.selectedText || this.placeholder}\r\n </span>\r\n <i class=\"material-icons\" aria-hidden=\"true\">\r\n {this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}\r\n </i>\r\n </button>\r\n\r\n {this.is_open && (\r\n <div class=\"dda-input-dropdown-list dda-select-list\">\r\n {this.parsedOptions.length > 0 ? (\r\n this.parsedOptions.map((option, index) => (\r\n <button\r\n name={`option${this.numberToWord(index + 1)}`}\r\n type=\"button\"\r\n class={`dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`}\r\n role=\"option\"\r\n aria-selected={this.selectedId === option.id ? 'true' : 'false'}\r\n onClick={() => this.selectOption(option)}\r\n >\r\n {option.text}\r\n </button>\r\n ))\r\n ) : (\r\n <div class=\"dda-input-dropdown-item\">No options available</div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\">\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -652,13 +652,20 @@
652
652
  .dda-file-name {
653
653
  width: 100%;
654
654
  font-size: var(--font-caption);
655
+ white-space: nowrap;
655
656
  overflow-x: auto;
656
657
  -ms-overflow-style: none;
657
658
  scrollbar-width: none;
659
+ position: relative;
660
+ text-overflow: ellipsis
658
661
  }
659
662
  .dda-file-name::-webkit-scrollbar {
660
- display: none; /* Chrome, Safari, Opera */
663
+ display: none;
661
664
  }
665
+
666
+
667
+
668
+
662
669
  .dda-remove-file {
663
670
  font-size: 20px;
664
671
  background: transparent;
@@ -16,6 +16,9 @@ const icnOneNoteSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0
16
16
 
17
17
  const icnDefaultSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMSIgZmlsbD0iIzNGNDk0OCIgdmlld0JveD0iMCAwIDI1NiAyNTYiPjxwYXRoIGQ9Ik0yMTAuODMsODUuMTdsLTU2LTU2QTQsNCwwLDAsMCwxNTIsMjhINTZBMTIsMTIsMCwwLDAsNDQsNDBWMjE2YTEyLDEyLDAsMCwwLDEyLDEySDIwMGExMiwxMiwwLDAsMCwxMi0xMlY4OEE0LDQsMCwwLDAsMjEwLjgzLDg1LjE3Wk0xNTYsNDEuNjUsMTk4LjM0LDg0SDE1NlpNMjAwLDIyMEg1NmE0LDQsMCwwLDEtNC00VjQwYTQsNCwwLDAsMSw0LTRoOTJWODhhNCw0LDAsMCwwLDQsNGg1MlYyMTZBNCw0LDAsMCwxLDIwMCwyMjBaIj48L3BhdGg+PC9zdmc+';
18
18
 
19
+ const inputCss = ".dda-input-container{display:flex;flex-direction:column;gap:8px;position:relative}.dda-input-label{font-size:var(--font-body);color:var(--dda-on-surface-0);line-height:24px;font-weight:var(--font-weight-regular)}.light-mode .dda-input-label{color:var(--dda-neutral-0)}.dda-input-field-wrapper{position:relative}.dda-field-group-input{height:32px;background-color:transparent;flex:1;font-size:var(--font-caption);font-weight:var(--dda-fw-400);padding:0px;color:var(--dda-on-surface-0);border:none;outline:none}.light-mode .dda-field-group-input{color:var(--dda-neutral-0)}.dda-input-field-group{width:100%;height:55px;padding:8px 16px;background:var(--dda-surface-100);border:1px solid var(--dda-surface-90);border-radius:8px;font-size:var(--font-caption);color:var(--dda-on-surface-0);position:relative;display:flex;align-items:center;gap:10px}.light-mode .dda-input-field-group{background:var(--dda-neutral-100);border:1px solid var(--dda-neutral-90);color:var(--dda-neutral-0)}.dda-input-field{width:100%;height:55px;padding:8px 16px;background:var(--dda-surface-100);border:1px solid var(--dda-surface-90);border-radius:8px;font-size:var(--font-body);color:var(--dda-on-surface-0);font-weight:var(--dda-fw-400)}.dda-date-picker input{color:var(--dda-on-surface-40)}.dda-date-picker input[type=\"date\"]::-webkit-calendar-picker-indicator{color:var(--dda-on-surface-40)}.dda-date-picker input[type=\"date\"]::-moz-calendar-picker-indicator{}.dda-date-picker input[type=\"date\"].has-value{color:var(--dda-on-surface-0)}.light-mode .dda-input-field{background:var(--dda-neutral-100);border:1px solid var(--dda-neutral-90);color:var(--dda-neutral-0)}.dda-input-size-small .dda-input-field-group,.dda-input-size-small .dda-input-field{height:48px;padding:8px 12px}.dda-input-focus-filled .dda-phone-field,.dda-input-focus .dda-input-field-group,.dda-input-field:focus{border-color:var(--dda-color-primary-40);box-shadow:0px 0px 0px 3px var(--dda-primary-variant-95)}.dda-input-field:focus-visible{outline:1px solid var(--dda-color-primary-40);outline-offset:-1px}.light-mode.dda-input-focus-filled .dda-phone-field,.light-mode.dda-input-focus .dda-input-field-group,.light-mode .dda-input-field:focus{outline:none;border-color:var(--dda-primary-40);box-shadow:0px 0px 0px 3px var(--dda-primary-95)}.dda-input-dropdown-btn{min-width:110px;position:relative;display:inline-block;padding:0}.dda-dropdown-select{width:100%;height:32px;display:flex;justify-content:space-between;background:transparent;border:transparent;font-size:var(--font-caption);color:var(--dda-on-surface-0);padding:0;align-items:center;cursor:pointer;gap:6px}.dda-dropdown-select:focus-visible{outline:1px solid var(--dda-color-primary-40);outline-offset:1px}.light-mode .dda-dropdown-select{color:var(--dda-neutral-0)}.dda-dropdown-select img{width:24px}.dda-dropdown-container{position:relative;width:auto;}.dda-dropdown-container.bg-transparent .dda-dropdown-header{padding:0px;height:auto;background:transparent;border:transparent;box-shadow:none}.dda-dropdown-header{width:auto;display:flex;align-items:center;gap:15px}.dda-dropdown-header .three-dots{font-size:25px;color:var(--dda-neutral-variant-60)}.dda-dropdown-header .three-dots path{fill:var(--dda-neutral-variant-60)}.dda-dropdown-header .dda-dropdown-text{flex:1;display:flex;justify-content:space-between;gap:15px}.dda-dropdown-header .dda-dropdown-text span{color:var(--dda-on-surface-variant-30);display:flex;align-items:center}.light-mode .dda-dropdown-text span{color:var(--dda-neutral-variant-30)}.dda-dropdown-header .dda-dropdown-text i{font-size:31px}.dda-dropdown-header .dda-dropdown-text path{fill:var(--dda-on-surface-variant-30)}.light-mode .dda-dropdown-header .dda-dropdown-text path{fill:var(--dda-neutral-variant-30)}.dda-dropdown-header:focus .three-dots path{fill:var(--dda-on-surface-variant-30)}.dda-input-dropdown-list{width:100%;min-width:150px;max-height:200px;background-color:var(--dda-neutral-100);border:1px solid var(--dda-neutral-90);border-radius:8px;overflow-y:auto;position:absolute;top:100%;margin-top:1px;inset-inline-start:0px;z-index:9999;box-shadow:0px 8px 10px -6px #1018281A}.dda-input-dropdown-list::-webkit-scrollbar-track{border-radius:4px}.dda-input-dropdown-list::-webkit-scrollbar{width:4px}.dda-input-dropdown-list::-webkit-scrollbar-thumb{border-radius:4px;background-color:var(--dda-neutral-variant-30)}.dda-input-dropdown-item{display:flex;align-items:center;gap:7px;width:100%;font-size:var(--font-caption);background:transparent;border:transparent;padding:10px;cursor:pointer}.dda-input-dropdown-item:focus-visible,.dda-input-dropdown-item:hover,.dda-input-dropdown-item.selected{background-color:var(--dda-neutral-variant-95);outline:0}.dda-input-dropdown-list .country-select img{width:20px}.dda-helper-text{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-caption);color:var(--dda-on-surface-variant-30)}.light-mode .dda-helper-text{color:var(--dda-neutral-30)}.dda-error-message{display:flex;justify-content:space-between;font-size:var(--font-caption);color:var(--dda-color-error-40)}.dda-helper-text i,.dda-helper-text svg,.dda-error-message i,.dda-error-message svg{font-size:21px}.dda-success-text{display:flex;justify-content:space-between;font-size:var(--font-caption);color:var(--dda-color-success-40)}.dda-validation-error .dda-input-field-group,.dda-validation-error .dda-input-field{color:var(--dda-color-error-40);border-color:var(--dda-color-error-40);box-shadow:none}.light-mode.dda-validation-error .dda-input-field-group,.light-mode.dda-validation-error .dda-input-field{color:var(--dda-error-40);border-color:var(--dda-error-40);box-shadow:none}.dda-validation-error .icon-close,.dda-validation-error .dda-error-message,.dda-validation-error .dda-field-group-input,.dda-validation-error .dda-file-input span{color:var(--dda-color-error-40) !important}.light-mode.dda-validation-error .icon-close,.light-mode.dda-validation-error .dda-error-message,.light-mode.dda-validation-error .dda-field-group-input,.light-mode.dda-validation-error .dda-file-input span{color:var(--dda-error-40) !important}.dda-validation-error .dda-input-field::-ms-input-placeholder,.dda-validation-error .dda-field-group-input::-ms-input-placeholder{color:var(--dda-color-error-40)}.light-mode.dda-validation-error .dda-input-field::-ms-input-placeholder,.light-mode.dda-validation-error .dda-field-group-input::-ms-input-placeholder{color:var(--dda-error-40)}.dda-validation-error .dda-input-field::placeholder,.dda-validation-error .dda-field-group-input::placeholder{color:var(--dda-color-error-40)}.light-mode.dda-validation-error .dda-input-field::placeholder,.light-mode.dda-validation-error .dda-field-group-input::placeholder{color:var(--dda-error-40)}.dda-input-disabled .dda-input-label,.dda-input-disabled .dda-helper-text,.dda-input-disabled .dda-error-message,.dda-input-disabled i,.dda-input-disabled .dda-dropdown-select,.dda-input-disabled .dda-file-input span,.dda-input-disabled .dda-file-choose{color:var(--dda-neutral-60) !important}.dda-input-disabled .dda-input-field-group,.dda-input-disabled .dda-input-field{background:var(--dda-neutral-92);border-color:var(--dda-neutral-90);color:var(--dda-neutral-60) !important;box-shadow:none;pointer-events:none;outline:none}.dda-input-disabled i{color:var(--dda-neutral-variant-60)}.dda-input-disabled svg path{fill:var(--dda-neutral-variant-60)}.dda-input-disabled .dda-input-field::-ms-input-placeholder{color:var(--dda-neutral-60)}.dda-input-disabled .dda-input-field::placeholder{color:var(--dda-neutral-60)}.dda-input-disabled .dda-btn{background-color:var(--dda-neutral-70) !important;border-color:var(--dda-neutral-70) !important}.dda-input-disabled .dda-dropdown-select img,.dda-input-disabled .dda-input-field-wrapper img{filter:grayscale(1)}.dda-number-field .dda-field-group-input{padding-inline-end:10px;border-inline-end:solid 1px var(--dda-neutral-90)}.dda-number-field .dda-field-group-input:focus,.dda-phone-field .dda-field-group-input:focus{border-inline-start:solid 1px var(--dda-color-primary-40)}.dda-number-field .dda-field-group-input:focus-visible,.dda-phone-field .dda-field-group-input:focus-visible{outline:1px solid var(--dda-surface-100);outline-offset:-1px}.dda-number-field .dda-input-dropdown-btn{min-width:80px}.dda-number-field .dda-input-dropdown-list{top:44px}.dda-input-size-small .dda-number-field .dda-input-dropdown-list{top:41px}.dda-input-textarea{height:auto;min-height:120px;resize:vertical}.dda-search-area{position:relative}.dda-search-area .icon-left{position:absolute;top:16px;inset-inline-start:15px;font-size:24px;color:var(--dda-on-surface-variant-30)}.light-mode .dda-search-area .icon-left{color:var(--dda-neutral-variant-30)}.dda-input-size-small .dda-search-area .icon-left{top:14px}.dda-search-area .dda-search-btngroup{height:40px;position:absolute;top:7px;inset-inline-end:7px;display:inline-flex;align-items:center;gap:5px}.dda-input-size-small .dda-search-btngroup{top:4px}.dda-search-area .dda-search-close-icon{display:flex;color:var(--dda-on-surface-variant-30);font-size:20px;margin:0px;padding:0px;background:none;border:0;cursor:pointer}.light-mode .dda-search-area .dda-search-close-icon{color:var(--dda-neutral-variant-30)}.dda-search-field{padding:8px 26px 8px 40px}.dda-search-action .dda-search-field{padding-top:8px;padding-bottom:8px;padding-inline-start:40px}.dda-search-action .dda-search-field.has-search-button{padding-inline-end:110px}.dda-search-sm .icon-left{top:14px}.dda-search-sm .dda-search-btngroup{top:4px}.dda-phone-field-group{display:flex;justify-content:space-between;align-items:center}.dda-phone-field-group.dda-phone-field-small{height:48px}.dda-phone-field-group.focused,.dda-phone-field-group.filled{outline:none;border-color:var(--dda-color-primary-40);box-shadow:0px 0px 0px 3px var(--dda-primary-variant-95)}.dda-phone-field-group.error{border-color:var(--dda-color-error-40);box-shadow:none}.phone-field-country-code{border:none;background:none;margin-inline-end:0.5rem;font-size:1rem;color:var(--dda-on-surface-0)}.phone-field-country-code:focus-within{outline:0}.dda-phone-field .dda-input-dropdown-list{top:44px}.dda-input-size-small .dda-phone-field .dda-input-dropdown-list{top:41px}.dda-credit-card-field .dda-creditcard-icon{width:40px;position:absolute;top:14px;inset-inline-start:15px}.dda-input-size-small .dda-creditcard-icon{top:11px}.dda-credit-card-field .dda-input-field{padding:8px 16px 8px 65px}[dir=\"rtl\"] .dda-credit-card-field .dda-input-field{padding:8px 65px 8px 16px}.dda-select-header{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}.dda-select-header i{font-size:28px;color:var(--dda-on-surface-variant-30)}.dda-select-header .dda-select-button-label:empty{flex-grow:1}.dda-input-container.dda-richtext-editor{gap:0px}.dda-richtext-editor .dda-input-label{margin-bottom:8px}.dda-richtext-editor .dda-helper-text,.dda-richtext-editor .dda-error-message{margin-top:8px}.dda-richtext-editor .ql-toolbar.ql-snow{border:1px solid var(--dda-neutral-90) !important;border-radius:8px 8px 0 0}.dda-richeditor-field{border:1px solid var(--dda-neutral-90) !important;border-radius:0 0 8px 8px}.dda-richeditor-field .ql-editor{height:100px;font-size:var(--font-caption)}.dda-input-field-group.dda-attach-file{padding-inline-end:6px}.dda-file-input{width:100%;display:flex;justify-content:space-between;align-items:center}.dda-file-input span{font-size:var(--font-caption);color:var(--dda-on-surface-variant-30)}.light-mode .dda-file-input span{color:var(--dda-neutral-variant-30)}.dda-file-choose{height:40px;background-color:var(--dda-neutral-100);border:solid 1px var(--dda-neutral-90);color:var(--dda-color-primary-40);font-weight:var(--dda-fw-500);padding:8px 16px;border-radius:8px;cursor:pointer}.dda-file-choose:focus{outline:solid 1px var(--dda-color-primary-40);outline-offset:-1px}.light-mode .dda-file-choose{color:var(--dda-primary-40)}.dda-input-disabled .dda-file-choose{background-color:var(--dda-neutral-95)}.dda-file-choose input{display:none}.dda-file-details{width:100%;display:flex;align-items:center;justify-content:space-between;padding-inline-end:10px}.dda-file-icon{width:34px;height:34px}.dda-items{width:calc(100% - 30px);display:flex;align-items:center;gap:8px}.dda-file-details .remove-file{margin:0;padding:0;background:transparent;border:transparent}.dda-file-details .remove-file svg{font-size:var(--font-caption)}.dda-file-name{width:100%;font-size:var(--font-caption);white-space:nowrap;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;position:relative;text-overflow:ellipsis}.dda-file-name::-webkit-scrollbar{display:none}.dda-remove-file{font-size:20px;background:transparent;border:transparent;color:var(--dda-on-surface-variant-30);cursor:pointer;padding:0px}input[type=\"date\"]::-webkit-input-placeholder{color:transparent}input[type=\"date\"]::-moz-placeholder{color:transparent}input[type=\"date\"]::placeholder{color:transparent}";
20
+ const DdaAttachFileStyle0 = inputCss;
21
+
19
22
  const DdaAttachFile$1 = /*@__PURE__*/ proxyCustomElement(class DdaAttachFile extends H {
20
23
  constructor() {
21
24
  super();
@@ -101,8 +104,9 @@ const DdaAttachFile$1 = /*@__PURE__*/ proxyCustomElement(class DdaAttachFile ext
101
104
  this.component_mode,
102
105
  ].filter(Boolean).join(' ');
103
106
  const shouldShowError = this.validation_type === 'error' && (this.internalErrorMessage || this.error_message);
104
- return (h(Host, { key: 'a3af07f7c3cf84bbddd821adeb10c409dd00d049' }, h("div", { key: '08e612545cd7728e2c022b36e6b30334d5d8e07c', class: inputClass }, this.label && (h("span", { key: '95739b39f9672aac5bfdda980cafa85771c51d5a', class: "dda-input-label", id: `${this.input_id}-label` }, this.label)), h("div", { key: '167789dcacf1bdccb85148168f63d81785e780c9', class: "dda-input-field-group dda-attach-file" }, this.file ? (h("div", { class: "dda-file-details" }, h("div", { class: "dda-items" }, h("img", { src: this.getFileIcon(this.file.name), alt: "File Icon", class: "dda-file-icon" }), h("span", { class: "dda-file-name" }, this.file.name)), h("button", { type: "button", class: "remove-file", name: this.button_name, id: this.delete_button_id, role: "button", tabIndex: 0, "aria-label": this.button_aria_label || 'Remove file', onClick: () => this.removeFile(), disabled: this.disabled }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))) : (h("div", { class: "dda-file-input" }, h("span", null, this.place_holder || 'No File Selected'), h("button", { type: "button", class: "dda-file-choose", name: this.button_name, id: this.button_id, tabIndex: 0, "aria-labelledby": `${this.button_id}-label`, onClick: () => { var _a; return (_a = this.fileInputRef) === null || _a === void 0 ? void 0 : _a.click(); }, disabled: this.disabled }, this.upload_button_text || 'Choose File'), h("span", { id: `${this.button_id}-label`, class: "visually-hidden" }, this.upload_button_text || 'Choose File'), h("label", { htmlFor: this.input_id, class: "visually-hidden" }, this.label), h("input", { id: this.input_id, name: this.input_name, type: "file", accept: this.accept, disabled: this.disabled, hidden: true, ref: (el) => (this.fileInputRef = el), onInput: (event) => this.handleFileInput(event) })))), shouldShowError ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert", "aria-live": "assertive" }, h("span", { class: "dda-d-flex dda-align-items-start dda-gap-2" }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), h("span", null, this.internalErrorMessage || this.error_message)))) : this.isFileUploaded && this.success_text ? (h("span", { class: "dda-success-text", id: this.validation_id, role: "status", "aria-live": "polite" }, h("span", { class: "dda-d-flex dda-align-items-start dda-gap-2" }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "check"), h("span", null, this.success_text)))) : this.helper_text ? (h("span", { class: "dda-helper-text", id: this.validation_id }, h("span", { class: "dda-d-flex dda-align-items-start dda-gap-2" }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), h("span", null, this.helper_text)))) : null)));
107
+ return (h(Host, { key: '8812bfa5646ae5d21174169a27875982bbe9ba0f' }, h("div", { key: 'b97d929e83b405979b6f4f2a546dc216a85a758c', class: inputClass }, this.label && (h("span", { key: '3b2e1d9567a3edff51e363854eecb5ed2279482f', class: "dda-input-label", id: `${this.input_id}-label` }, this.label)), h("div", { key: '593f8bf572c819b8ead52968cf878a49719fdb84', class: "dda-input-field-group dda-attach-file" }, this.file ? (h("div", { class: "dda-file-details" }, h("div", { class: "dda-items" }, h("img", { src: this.getFileIcon(this.file.name), alt: "File Icon", class: "dda-file-icon" }), h("span", { class: "dda-file-name", title: this.file.name }, this.file.name)), h("button", { type: "button", class: "remove-file", name: this.button_name, id: this.delete_button_id, role: "button", tabIndex: 0, "aria-label": this.button_aria_label || 'Remove file', onClick: () => this.removeFile(), disabled: this.disabled }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))) : (h("div", { class: "dda-file-input" }, h("span", null, this.place_holder || 'No File Selected'), h("button", { type: "button", class: "dda-file-choose", name: this.button_name, id: this.button_id, tabIndex: 0, "aria-labelledby": `${this.button_id}-label`, onClick: () => { var _a; return (_a = this.fileInputRef) === null || _a === void 0 ? void 0 : _a.click(); }, disabled: this.disabled }, this.upload_button_text || 'Choose File'), h("span", { id: `${this.button_id}-label`, class: "visually-hidden" }, this.upload_button_text || 'Choose File'), h("label", { htmlFor: this.input_id, class: "visually-hidden" }, this.label), h("input", { id: this.input_id, name: this.input_name, type: "file", accept: this.accept, disabled: this.disabled, hidden: true, ref: (el) => (this.fileInputRef = el), onInput: (event) => this.handleFileInput(event) })))), shouldShowError ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert", "aria-live": "assertive" }, h("span", { class: "dda-d-flex dda-align-items-start dda-gap-2" }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), h("span", null, this.internalErrorMessage || this.error_message)))) : this.isFileUploaded && this.success_text ? (h("span", { class: "dda-success-text", id: this.validation_id, role: "status", "aria-live": "polite" }, h("span", { class: "dda-d-flex dda-align-items-start dda-gap-2" }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "check"), h("span", null, this.success_text)))) : this.helper_text ? (h("span", { class: "dda-helper-text", id: this.validation_id }, h("span", { class: "dda-d-flex dda-align-items-start dda-gap-2" }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), h("span", null, this.helper_text)))) : null)));
105
108
  }
109
+ static get style() { return DdaAttachFileStyle0; }
106
110
  }, [0, "dda-attach-file", {
107
111
  "label": [1],
108
112
  "place_holder": [1],
@@ -1 +1 @@
1
- {"file":"dda-attach-file.js","mappings":"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","names":["DdaAttachFile","pdfIcon","pptIcon","wordIcon","excelIcon","imageIcon","videoIcon","onenoteIcon","defaultIcon"],"sources":["src/assets/img/icn/file_icons/icn-PDF.svg","src/assets/img/icn/file_icons/icn-PowerPoint.svg","src/assets/img/icn/file_icons/icn-Word.svg","src/assets/img/icn/file_icons/icn-Excel.svg","src/assets/img/icn/file_icons/icn-Image.svg","src/assets/img/icn/file_icons/icn-Video.svg","src/assets/img/icn/file_icons/icn-OneNote.svg","src/assets/img/icn/file_icons/icn-default.svg","src/components/dda-attach-file/dda-attach-file.tsx"],"sourcesContent":["<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M16 7.44336H13.5C12.673 7.44336 12 6.77036 12 5.94336V2.44336H4V18.4434H16V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M16 6.44336V6.15036L13 3.15036V5.94336C13 6.21836 13.225 6.44336 13.5 6.44336H16Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.707 5.44336L13 1.73636C12.8125 1.54881 12.5582 1.44342 12.293 1.44336H4C3.44772 1.44336 3 1.89107 3 2.44336V18.4434C3 18.9956 3.44772 19.4434 4 19.4434H16C16.5523 19.4434 17 18.9956 17 18.4434V6.15036C16.9999 5.88516 16.8945 5.63085 16.707 5.44336ZM16 6.15036V6.44336H13.5C13.2241 6.44281 13.0006 6.21927 13 5.94336V3.15036L16 6.15036ZM4 2.64336V18.2434C4 18.3538 4.08954 18.4434 4.2 18.4434H15.8C15.9105 18.4434 16 18.3538 16 18.2434V7.44336H13.5C12.6716 7.44336 12 6.77179 12 5.94336V2.44336H4.2C4.09 2.44336 4 2.53336 4 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M14.5 10.4434H5.5C5.22386 10.4434 5 10.2195 5 9.94336C5 9.66722 5.22386 9.44336 5.5 9.44336H14.5C14.7761 9.44336 15 9.66722 15 9.94336C15 10.2195 14.7761 10.4434 14.5 10.4434Z\" fill=\"#E0E3E2\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 16.4434V12.4434C6 11.8911 6.44772 11.4434 7 11.4434H13C13.5523 11.4434 14 11.8911 14 12.4434V16.4434C14 16.9956 13.5523 17.4434 13 17.4434H7C6.44772 17.4434 6 16.9956 6 16.4434ZM7.2 16.4434H12.794C12.8468 16.445 12.898 16.425 12.9358 16.388C12.9735 16.351 12.9946 16.3002 12.994 16.2474C12.988 15.5694 12.996 13.3154 13 12.6374C13 12.5274 12.91 12.4434 12.8 12.4434H7.2C7.09 12.4434 7 12.5334 7 12.6434V16.2434C7 16.3538 7.08954 16.4434 7.2 16.4434ZM4.75 16.4434H3C2.44772 16.4434 2 15.9956 2 15.4434V13.4434C2 12.8911 2.44772 12.4434 3 12.4434H4.75C4.88807 12.4434 5 12.5553 5 12.6934V16.1934C5 16.3314 4.88807 16.4434 4.75 16.4434ZM15.25 16.4434H17C17.5523 16.4434 18 15.9956 18 15.4434V13.4434C18 12.8911 17.5523 12.4434 17 12.4434H15.25C15.1119 12.4434 15 12.5553 15 12.6934V16.1934C15 16.3314 15.1119 16.4434 15.25 16.4434Z\" fill=\"#DD6B51\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M15.95 11.4434H14L13 10.4434L12 11.4434V13.9324C12.419 14.2484 12.935 14.4434 13.5 14.4434C14.2508 14.4435 14.9619 14.1062 15.4368 13.5247C15.9118 12.9432 16.1002 12.179 15.95 11.4434Z\" fill=\"#DD6B51\"/>\r\n<path d=\"M13.5 9.44336C12.9578 9.44449 12.4309 9.62328 12 9.95236V11.4434H14V9.49336C13.8354 9.46001 13.6679 9.44326 13.5 9.44336V9.44336Z\" fill=\"#FFEBE6\"/>\r\n<path d=\"M15 10.4434H17C16.7939 9.43641 16.0069 8.6495 15 8.44336V10.4434H15Z\" fill=\"#FFEBE6\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#DD6B51\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.50496 8.92436C7.17596 8.60336 6.69996 8.44336 6.07996 8.44336H4.01196V14.4434H4.99996V12.3224H6.01496C6.37901 12.33 6.73878 12.2428 7.05896 12.0694C7.35996 11.9004 7.59096 11.6644 7.75496 11.3594C7.91896 11.0554 7.99996 10.7074 7.99996 10.3174C7.99996 9.71036 7.83496 9.24536 7.50496 8.92436ZM5.89896 11.4434H4.99996V9.43136H5.93096C6.35896 9.43136 6.99996 9.43536 6.99996 10.4434C6.99996 11.3414 6.40596 11.4434 5.89896 11.4434Z\" fill=\"#E0E3E2\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M16.5 12.4434H12V13.4434H16.5C16.7761 13.4434 17 13.2195 17 12.9434C17 12.6672 16.7761 12.4434 16.5 12.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M16.5 10.4434H12V11.4434H16.5C16.7761 11.4434 17 11.2195 17 10.9434C17 10.6672 16.7761 10.4434 16.5 10.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M16.5 8.44336H12V9.44336H16.5C16.7761 9.44336 17 9.2195 17 8.94336C17 8.66722 16.7761 8.44336 16.5 8.44336Z\" fill=\"#006687\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M7.21 14.3794L6 9.93935L4.794 14.3794H3.918L2.755 8.53735H3.641L4.449 12.3634L5.523 8.53735H6.389L7.54201 12.4534L8.34401 8.53735H9.229L8.085 14.3794H7.21Z\" fill=\"white\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#0D6D2D\"/>\r\n<path d=\"M4.60602 14.4434L8.31302 8.44336H7.15002L3.39502 14.4434H4.60602Z\" fill=\"white\"/>\r\n<path d=\"M7.37299 14.4434L3.66699 8.44336H4.82899L8.58299 14.4434H7.37299Z\" fill=\"white\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.084 14.3254H17V10.5834C17 9.15636 16.327 8.44336 14.982 8.44336C14.6146 8.45162 14.2501 8.51085 13.899 8.61936C13.493 8.73636 13.206 8.85836 13.039 8.98536V9.92336C13.594 9.45836 14.216 9.22536 14.904 9.22536C15.691 9.22536 16.084 9.70936 16.084 10.6784L14.369 10.9184C13.109 11.0974 12.479 11.7184 12.479 12.7834C12.479 13.2914 12.646 13.6934 12.977 13.9934C13.308 14.2934 13.751 14.4434 14.301 14.4434C15.075 14.4434 15.663 14.0994 16.061 13.4104H16.084V14.3254ZM14.698 11.6054L16.084 11.4104V11.9794C16.084 12.4604 15.935 12.8614 15.639 13.1814C15.344 13.5014 14.968 13.6614 14.514 13.6614C14.193 13.6614 13.93 13.5754 13.725 13.4024C13.52 13.2284 13.418 12.9984 13.418 12.7124C13.418 12.3574 13.513 12.1024 13.703 11.9434C13.893 11.7854 14.225 11.6724 14.698 11.6054Z\" fill=\"#0D6D2D\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3.5 17.4434H16.5C16.775 17.4434 17 17.2184 17 16.9434V3.94336C17 3.66836 16.775 3.44336 16.5 3.44336H3.5C3.225 3.44336 3 3.66836 3 3.94336V16.9434C3 17.2184 3.225 17.4434 3.5 17.4434Z\" fill=\"white\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.691 11.1004L10.813 12.3864L9.12599 10.0604C8.93788 9.80101 8.63689 9.64749 8.31649 9.64749C7.9961 9.64749 7.6951 9.80101 7.50699 10.0604L5.11699 13.3564C4.89632 13.6607 4.86498 14.0631 5.03589 14.398C5.20679 14.7328 5.55105 14.9435 5.92699 14.9434H14.073C14.4438 14.9435 14.7843 14.7383 14.9575 14.4104C15.1307 14.0825 15.1082 13.6856 14.899 13.3794L13.343 11.0994C13.1567 10.8264 12.8475 10.663 12.517 10.663C12.1865 10.663 11.8773 10.8264 11.691 11.0994V11.1004Z\" stroke=\"#E0E3E2\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.5 7.94336C14.0523 7.94336 14.5 7.49564 14.5 6.94336C14.5 6.39107 14.0523 5.94336 13.5 5.94336C12.9477 5.94336 12.5 6.39107 12.5 6.94336C12.5 7.49564 12.9477 7.94336 13.5 7.94336Z\" stroke=\"#835400\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.5 18.4434H16.5C17.327 18.4434 18 17.7704 18 16.9434V3.94336C18 3.11636 17.327 2.44336 16.5 2.44336H3.5C2.673 2.44336 2 3.11636 2 3.94336V16.9434C2 17.7704 2.673 18.4434 3.5 18.4434ZM3 3.94336C3 3.66722 3.22386 3.44336 3.5 3.44336H16.5C16.7761 3.44336 17 3.66722 17 3.94336V16.9434C17 17.2195 16.7761 17.4434 16.5 17.4434H3.5C3.22386 17.4434 3 17.2195 3 16.9434V3.94336Z\" fill=\"#3F4948\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3.5 17.4434H16.5C16.775 17.4434 17 17.2184 17 16.9434V3.94336C17 3.66836 16.775 3.44336 16.5 3.44336H3.5C3.225 3.44336 3 3.66836 3 3.94336V16.9434C3 17.2184 3.225 17.4434 3.5 17.4434Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.5 18.4434H16.5C17.327 18.4434 18 17.7704 18 16.9434V3.94336C18 3.11636 17.327 2.44336 16.5 2.44336H3.5C2.673 2.44336 2 3.11636 2 3.94336V16.9434C2 17.7704 2.673 18.4434 3.5 18.4434ZM3 3.94336C3 3.66722 3.22386 3.44336 3.5 3.44336H16.5C16.7761 3.44336 17 3.66722 17 3.94336V16.9434C17 17.2195 16.7761 17.4434 16.5 17.4434H3.5C3.22386 17.4434 3 17.2195 3 16.9434V3.94336Z\" fill=\"#3F4948\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5 10.4434L8.5 7.94336V12.9434L12.5 10.4434Z\" stroke=\"#006687\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5 19.4434H16.5C17.327 19.4434 18 18.7704 18 17.9434V7.44336C18.5523 7.44336 19 6.99564 19 6.44336V3.44336C19 2.89107 18.5523 2.44336 18 2.44336H17.914C17.708 1.86136 17.152 1.44336 16.5 1.44336H6.5C5.673 1.44336 5 2.11636 5 2.94336V17.9434C5 18.7704 5.673 19.4434 6.5 19.4434ZM6 2.94336C6 2.66722 6.22386 2.44336 6.5 2.44336H16.5C16.7761 2.44336 17 2.66722 17 2.94336V3.44336H18V6.44336H17V17.9434C17 18.2195 16.7761 18.4434 16.5 18.4434H6.5C6.22386 18.4434 6 18.2195 6 17.9434V2.94336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M18 3.44336H17V2.94336C17 2.66722 16.7761 2.44336 16.5 2.44336H6.5C6.22386 2.44336 6 2.66722 6 2.94336V17.9434C6 18.2195 6.22386 18.4434 6.5 18.4434H16.5C16.7761 18.4434 17 18.2195 17 17.9434V6.44336H18V3.44336Z\" fill=\"white\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#904EDB\"/>\r\n<path d=\"M9 14.4434H7.604C7.604 14.4434 3.995 9.76036 4 9.75536V14.4434H3V8.44336H4.27C4.27 8.44336 7.898 13.1054 8 13.2714V8.44336H9V14.4434Z\" fill=\"white\"/>\r\n</svg>\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" fill=\"#3F4948\" viewBox=\"0 0 256 256\"><path d=\"M210.83,85.17l-56-56A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40V216a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12V88A4,4,0,0,0,210.83,85.17ZM156,41.65,198.34,84H156ZM200,220H56a4,4,0,0,1-4-4V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52V216A4,4,0,0,1,200,220Z\"></path></svg>","import { Component, Prop, State, Event, EventEmitter, Method, h, Host } from '@stencil/core';\r\nimport pdfIcon from '../../assets/img/icn/file_icons/icn-PDF.svg';\r\nimport pptIcon from '../../assets/img/icn/file_icons/icn-PowerPoint.svg';\r\nimport wordIcon from '../../assets/img/icn/file_icons/icn-Word.svg';\r\nimport excelIcon from '../../assets/img/icn/file_icons/icn-Excel.svg';\r\nimport imageIcon from '../../assets/img/icn/file_icons/icn-Image.svg';\r\nimport videoIcon from '../../assets/img/icn/file_icons/icn-Video.svg';\r\nimport onenoteIcon from '../../assets/img/icn/file_icons/icn-OneNote.svg';\r\nimport defaultIcon from '../../assets/img/icn/file_icons/icn-default.svg';\r\n\r\n@Component({\r\n tag: 'dda-attach-file',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaAttachFile {\r\n @Prop() label: string;\r\n @Prop() place_holder: string;\r\n @Prop() upload_button_text: string;\r\n @Prop() helper_text: string;\r\n @Prop() success_text: string;\r\n @Prop() error_message: string;\r\n @Prop() size?: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() input_type?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() aria_label?: string = '';\r\n @Prop() button_aria_label?: string = '';\r\n @Prop() input_id: string;\r\n @Prop() input_name?: string;\r\n @Prop() button_id: string;\r\n @Prop() delete_button_id: string;\r\n @Prop() button_name?: string;\r\n @Prop() accept?: string;\r\n @Prop() disabled: boolean = false;\r\n\r\n @Prop() max_file_size: number = 5; // in MB\r\n @Prop() file_size_error_message: string = 'File size should not exceed {max} MB';\r\n \r\n @State() file: File | null = null;\r\n @State() isFileUploaded: boolean = false;\r\n @State() internalErrorMessage: string = '';\r\n\r\n private fileInputRef: HTMLInputElement;\r\n\r\n @Event() fileChanged: EventEmitter<File | null>;\r\n\r\n @Method()\r\n async getFile(): Promise<File | null> {\r\n return this.file;\r\n }\r\n\r\n private fileIcons = {\r\n pdf: pdfIcon,\r\n pptx: pptIcon,\r\n docx: wordIcon,\r\n xlsx: excelIcon,\r\n png: imageIcon,\r\n jpg: imageIcon,\r\n jpeg: imageIcon,\r\n mp4: videoIcon,\r\n mkv: videoIcon,\r\n one: onenoteIcon,\r\n };\r\n\r\n handleFileInput(event: Event) {\r\n console.log(this.fileInputRef.value);\r\n \r\n const files = (event.target as HTMLInputElement)?.files;\r\n if (files && files.length > 0) {\r\n const selectedFile = files[0];\r\n const fileSizeInMB = selectedFile.size / (1024 * 1024);\r\n\r\n if (this.max_file_size && fileSizeInMB > this.max_file_size) {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n this.internalErrorMessage = this.file_size_error_message.replace('{max}', this.max_file_size.toString());\r\n this.validation_type = 'error';\r\n this.fileChanged.emit(null);\r\n return;\r\n }\r\n\r\n this.file = selectedFile;\r\n this.isFileUploaded = true;\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(this.file);\r\n } else {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(null);\r\n }\r\n }\r\n\r\n removeFile() {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n if (this.fileInputRef) {\r\n this.fileInputRef.value = null;\r\n}\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(null);\r\n }\r\n\r\n getFileIcon(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n return this.fileIcons[extension] || defaultIcon;\r\n }\r\n\r\n render() {\r\n const inputClass = [\r\n 'dda-input-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-input-size-${this.size}` : '',\r\n this.input_type ? `dda-input-${this.input_type}` : '',\r\n this.custom_class,\r\n this.component_mode,\r\n ].filter(Boolean).join(' ');\r\n\r\n const shouldShowError = this.validation_type === 'error' && (this.internalErrorMessage || this.error_message);\r\n\r\n return (\r\n <Host>\r\n <div class={inputClass}>\r\n {this.label && (\r\n <span class=\"dda-input-label\" id={`${this.input_id}-label`}>\r\n {this.label}\r\n </span>\r\n )}\r\n\r\n <div class=\"dda-input-field-group dda-attach-file\">\r\n {this.file ? (\r\n <div class=\"dda-file-details\">\r\n <div class=\"dda-items\">\r\n <img src={this.getFileIcon(this.file.name)} alt=\"File Icon\" class=\"dda-file-icon\" />\r\n <span class=\"dda-file-name\">{this.file.name}</span>\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"remove-file\"\r\n name={this.button_name}\r\n id={this.delete_button_id}\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-label={this.button_aria_label || 'Remove file'}\r\n onClick={() => this.removeFile()}\r\n disabled={this.disabled}\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">close</i>\r\n </button>\r\n </div>\r\n ) : (\r\n <div class=\"dda-file-input\">\r\n <span>{this.place_holder || 'No File Selected'}</span>\r\n <button\r\n type=\"button\"\r\n class=\"dda-file-choose\"\r\n name={this.button_name}\r\n id={this.button_id}\r\n tabIndex={0}\r\n aria-labelledby={`${this.button_id}-label`}\r\n onClick={() => this.fileInputRef?.click()}\r\n disabled={this.disabled}\r\n >\r\n {this.upload_button_text || 'Choose File'}\r\n </button>\r\n <span id={`${this.button_id}-label`} class=\"visually-hidden\">\r\n {this.upload_button_text || 'Choose File'}\r\n </span>\r\n\r\n <label htmlFor={this.input_id} class=\"visually-hidden\">\r\n {this.label}\r\n </label>\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n type=\"file\"\r\n accept={this.accept}\r\n disabled={this.disabled}\r\n hidden\r\n ref={(el) => (this.fileInputRef = el as HTMLInputElement)}\r\n onInput={(event) => this.handleFileInput(event)}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {shouldShowError ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\" aria-live=\"assertive\">\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">info</i>\r\n <span>{this.internalErrorMessage || this.error_message}</span>\r\n </span>\r\n </span>\r\n ) : this.isFileUploaded && this.success_text ? (\r\n <span class=\"dda-success-text\" id={this.validation_id} role=\"status\" aria-live=\"polite\">\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">check</i>\r\n <span>{this.success_text}</span>\r\n </span>\r\n </span>\r\n ) : this.helper_text ? (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">info</i>\r\n <span>{this.helper_text}</span>\r\n </span>\r\n </span>\r\n ) : null}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dda-attach-file.js","mappings":"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","names":["DdaAttachFile","pdfIcon","pptIcon","wordIcon","excelIcon","imageIcon","videoIcon","onenoteIcon","defaultIcon"],"sources":["src/assets/img/icn/file_icons/icn-PDF.svg","src/assets/img/icn/file_icons/icn-PowerPoint.svg","src/assets/img/icn/file_icons/icn-Word.svg","src/assets/img/icn/file_icons/icn-Excel.svg","src/assets/img/icn/file_icons/icn-Image.svg","src/assets/img/icn/file_icons/icn-Video.svg","src/assets/img/icn/file_icons/icn-OneNote.svg","src/assets/img/icn/file_icons/icn-default.svg","src/global/input.css?tag=dda-attach-file","src/components/dda-attach-file/dda-attach-file.tsx"],"sourcesContent":["<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M16 7.44336H13.5C12.673 7.44336 12 6.77036 12 5.94336V2.44336H4V18.4434H16V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M16 6.44336V6.15036L13 3.15036V5.94336C13 6.21836 13.225 6.44336 13.5 6.44336H16Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.707 5.44336L13 1.73636C12.8125 1.54881 12.5582 1.44342 12.293 1.44336H4C3.44772 1.44336 3 1.89107 3 2.44336V18.4434C3 18.9956 3.44772 19.4434 4 19.4434H16C16.5523 19.4434 17 18.9956 17 18.4434V6.15036C16.9999 5.88516 16.8945 5.63085 16.707 5.44336ZM16 6.15036V6.44336H13.5C13.2241 6.44281 13.0006 6.21927 13 5.94336V3.15036L16 6.15036ZM4 2.64336V18.2434C4 18.3538 4.08954 18.4434 4.2 18.4434H15.8C15.9105 18.4434 16 18.3538 16 18.2434V7.44336H13.5C12.6716 7.44336 12 6.77179 12 5.94336V2.44336H4.2C4.09 2.44336 4 2.53336 4 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M14.5 10.4434H5.5C5.22386 10.4434 5 10.2195 5 9.94336C5 9.66722 5.22386 9.44336 5.5 9.44336H14.5C14.7761 9.44336 15 9.66722 15 9.94336C15 10.2195 14.7761 10.4434 14.5 10.4434Z\" fill=\"#E0E3E2\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 16.4434V12.4434C6 11.8911 6.44772 11.4434 7 11.4434H13C13.5523 11.4434 14 11.8911 14 12.4434V16.4434C14 16.9956 13.5523 17.4434 13 17.4434H7C6.44772 17.4434 6 16.9956 6 16.4434ZM7.2 16.4434H12.794C12.8468 16.445 12.898 16.425 12.9358 16.388C12.9735 16.351 12.9946 16.3002 12.994 16.2474C12.988 15.5694 12.996 13.3154 13 12.6374C13 12.5274 12.91 12.4434 12.8 12.4434H7.2C7.09 12.4434 7 12.5334 7 12.6434V16.2434C7 16.3538 7.08954 16.4434 7.2 16.4434ZM4.75 16.4434H3C2.44772 16.4434 2 15.9956 2 15.4434V13.4434C2 12.8911 2.44772 12.4434 3 12.4434H4.75C4.88807 12.4434 5 12.5553 5 12.6934V16.1934C5 16.3314 4.88807 16.4434 4.75 16.4434ZM15.25 16.4434H17C17.5523 16.4434 18 15.9956 18 15.4434V13.4434C18 12.8911 17.5523 12.4434 17 12.4434H15.25C15.1119 12.4434 15 12.5553 15 12.6934V16.1934C15 16.3314 15.1119 16.4434 15.25 16.4434Z\" fill=\"#DD6B51\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M15.95 11.4434H14L13 10.4434L12 11.4434V13.9324C12.419 14.2484 12.935 14.4434 13.5 14.4434C14.2508 14.4435 14.9619 14.1062 15.4368 13.5247C15.9118 12.9432 16.1002 12.179 15.95 11.4434Z\" fill=\"#DD6B51\"/>\r\n<path d=\"M13.5 9.44336C12.9578 9.44449 12.4309 9.62328 12 9.95236V11.4434H14V9.49336C13.8354 9.46001 13.6679 9.44326 13.5 9.44336V9.44336Z\" fill=\"#FFEBE6\"/>\r\n<path d=\"M15 10.4434H17C16.7939 9.43641 16.0069 8.6495 15 8.44336V10.4434H15Z\" fill=\"#FFEBE6\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#DD6B51\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.50496 8.92436C7.17596 8.60336 6.69996 8.44336 6.07996 8.44336H4.01196V14.4434H4.99996V12.3224H6.01496C6.37901 12.33 6.73878 12.2428 7.05896 12.0694C7.35996 11.9004 7.59096 11.6644 7.75496 11.3594C7.91896 11.0554 7.99996 10.7074 7.99996 10.3174C7.99996 9.71036 7.83496 9.24536 7.50496 8.92436ZM5.89896 11.4434H4.99996V9.43136H5.93096C6.35896 9.43136 6.99996 9.43536 6.99996 10.4434C6.99996 11.3414 6.40596 11.4434 5.89896 11.4434Z\" fill=\"#E0E3E2\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M16.5 12.4434H12V13.4434H16.5C16.7761 13.4434 17 13.2195 17 12.9434C17 12.6672 16.7761 12.4434 16.5 12.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M16.5 10.4434H12V11.4434H16.5C16.7761 11.4434 17 11.2195 17 10.9434C17 10.6672 16.7761 10.4434 16.5 10.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M16.5 8.44336H12V9.44336H16.5C16.7761 9.44336 17 9.2195 17 8.94336C17 8.66722 16.7761 8.44336 16.5 8.44336Z\" fill=\"#006687\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M7.21 14.3794L6 9.93935L4.794 14.3794H3.918L2.755 8.53735H3.641L4.449 12.3634L5.523 8.53735H6.389L7.54201 12.4534L8.34401 8.53735H9.229L8.085 14.3794H7.21Z\" fill=\"white\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#0D6D2D\"/>\r\n<path d=\"M4.60602 14.4434L8.31302 8.44336H7.15002L3.39502 14.4434H4.60602Z\" fill=\"white\"/>\r\n<path d=\"M7.37299 14.4434L3.66699 8.44336H4.82899L8.58299 14.4434H7.37299Z\" fill=\"white\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.084 14.3254H17V10.5834C17 9.15636 16.327 8.44336 14.982 8.44336C14.6146 8.45162 14.2501 8.51085 13.899 8.61936C13.493 8.73636 13.206 8.85836 13.039 8.98536V9.92336C13.594 9.45836 14.216 9.22536 14.904 9.22536C15.691 9.22536 16.084 9.70936 16.084 10.6784L14.369 10.9184C13.109 11.0974 12.479 11.7184 12.479 12.7834C12.479 13.2914 12.646 13.6934 12.977 13.9934C13.308 14.2934 13.751 14.4434 14.301 14.4434C15.075 14.4434 15.663 14.0994 16.061 13.4104H16.084V14.3254ZM14.698 11.6054L16.084 11.4104V11.9794C16.084 12.4604 15.935 12.8614 15.639 13.1814C15.344 13.5014 14.968 13.6614 14.514 13.6614C14.193 13.6614 13.93 13.5754 13.725 13.4024C13.52 13.2284 13.418 12.9984 13.418 12.7124C13.418 12.3574 13.513 12.1024 13.703 11.9434C13.893 11.7854 14.225 11.6724 14.698 11.6054Z\" fill=\"#0D6D2D\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3.5 17.4434H16.5C16.775 17.4434 17 17.2184 17 16.9434V3.94336C17 3.66836 16.775 3.44336 16.5 3.44336H3.5C3.225 3.44336 3 3.66836 3 3.94336V16.9434C3 17.2184 3.225 17.4434 3.5 17.4434Z\" fill=\"white\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.691 11.1004L10.813 12.3864L9.12599 10.0604C8.93788 9.80101 8.63689 9.64749 8.31649 9.64749C7.9961 9.64749 7.6951 9.80101 7.50699 10.0604L5.11699 13.3564C4.89632 13.6607 4.86498 14.0631 5.03589 14.398C5.20679 14.7328 5.55105 14.9435 5.92699 14.9434H14.073C14.4438 14.9435 14.7843 14.7383 14.9575 14.4104C15.1307 14.0825 15.1082 13.6856 14.899 13.3794L13.343 11.0994C13.1567 10.8264 12.8475 10.663 12.517 10.663C12.1865 10.663 11.8773 10.8264 11.691 11.0994V11.1004Z\" stroke=\"#E0E3E2\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.5 7.94336C14.0523 7.94336 14.5 7.49564 14.5 6.94336C14.5 6.39107 14.0523 5.94336 13.5 5.94336C12.9477 5.94336 12.5 6.39107 12.5 6.94336C12.5 7.49564 12.9477 7.94336 13.5 7.94336Z\" stroke=\"#835400\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.5 18.4434H16.5C17.327 18.4434 18 17.7704 18 16.9434V3.94336C18 3.11636 17.327 2.44336 16.5 2.44336H3.5C2.673 2.44336 2 3.11636 2 3.94336V16.9434C2 17.7704 2.673 18.4434 3.5 18.4434ZM3 3.94336C3 3.66722 3.22386 3.44336 3.5 3.44336H16.5C16.7761 3.44336 17 3.66722 17 3.94336V16.9434C17 17.2195 16.7761 17.4434 16.5 17.4434H3.5C3.22386 17.4434 3 17.2195 3 16.9434V3.94336Z\" fill=\"#3F4948\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3.5 17.4434H16.5C16.775 17.4434 17 17.2184 17 16.9434V3.94336C17 3.66836 16.775 3.44336 16.5 3.44336H3.5C3.225 3.44336 3 3.66836 3 3.94336V16.9434C3 17.2184 3.225 17.4434 3.5 17.4434Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.5 18.4434H16.5C17.327 18.4434 18 17.7704 18 16.9434V3.94336C18 3.11636 17.327 2.44336 16.5 2.44336H3.5C2.673 2.44336 2 3.11636 2 3.94336V16.9434C2 17.7704 2.673 18.4434 3.5 18.4434ZM3 3.94336C3 3.66722 3.22386 3.44336 3.5 3.44336H16.5C16.7761 3.44336 17 3.66722 17 3.94336V16.9434C17 17.2195 16.7761 17.4434 16.5 17.4434H3.5C3.22386 17.4434 3 17.2195 3 16.9434V3.94336Z\" fill=\"#3F4948\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5 10.4434L8.5 7.94336V12.9434L12.5 10.4434Z\" stroke=\"#006687\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5 19.4434H16.5C17.327 19.4434 18 18.7704 18 17.9434V7.44336C18.5523 7.44336 19 6.99564 19 6.44336V3.44336C19 2.89107 18.5523 2.44336 18 2.44336H17.914C17.708 1.86136 17.152 1.44336 16.5 1.44336H6.5C5.673 1.44336 5 2.11636 5 2.94336V17.9434C5 18.7704 5.673 19.4434 6.5 19.4434ZM6 2.94336C6 2.66722 6.22386 2.44336 6.5 2.44336H16.5C16.7761 2.44336 17 2.66722 17 2.94336V3.44336H18V6.44336H17V17.9434C17 18.2195 16.7761 18.4434 16.5 18.4434H6.5C6.22386 18.4434 6 18.2195 6 17.9434V2.94336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M18 3.44336H17V2.94336C17 2.66722 16.7761 2.44336 16.5 2.44336H6.5C6.22386 2.44336 6 2.66722 6 2.94336V17.9434C6 18.2195 6.22386 18.4434 6.5 18.4434H16.5C16.7761 18.4434 17 18.2195 17 17.9434V6.44336H18V3.44336Z\" fill=\"white\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#904EDB\"/>\r\n<path d=\"M9 14.4434H7.604C7.604 14.4434 3.995 9.76036 4 9.75536V14.4434H3V8.44336H4.27C4.27 8.44336 7.898 13.1054 8 13.2714V8.44336H9V14.4434Z\" fill=\"white\"/>\r\n</svg>\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" fill=\"#3F4948\" viewBox=\"0 0 256 256\"><path d=\"M210.83,85.17l-56-56A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40V216a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12V88A4,4,0,0,0,210.83,85.17ZM156,41.65,198.34,84H156ZM200,220H56a4,4,0,0,1-4-4V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52V216A4,4,0,0,1,200,220Z\"></path></svg>",".dda-input-container {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n position: relative;\r\n}\r\n\r\n.dda-input-label {\r\n font-size: var(--font-body);\r\n color: var(--dda-on-surface-0);\r\n line-height: 24px;\r\n font-weight: var(--font-weight-regular);\r\n}\r\n.light-mode .dda-input-label {\r\n color: var(--dda-neutral-0);\r\n}\r\n.dda-input-field-wrapper {\r\n position: relative;\r\n}\r\n\r\n.dda-field-group-input {\r\n height: 32px;\r\n background-color: transparent;\r\n flex: 1;\r\n font-size: var(--font-caption);\r\n font-weight: var(--dda-fw-400);\r\n padding: 0px;\r\n color: var(--dda-on-surface-0);\r\n border: none;\r\n outline: none;\r\n}\r\n.light-mode .dda-field-group-input{\r\n color: var(--dda-neutral-0);\r\n} \r\n.dda-input-field-group {\r\n width: 100%;\r\n height: 55px;\r\n padding: 8px 16px;\r\n background: var(--dda-surface-100);\r\n border: 1px solid var(--dda-surface-90);\r\n border-radius: 8px;\r\n font-size: var(--font-caption);\r\n color: var(--dda-on-surface-0);\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n}\r\n.light-mode .dda-input-field-group{\r\n background: var(--dda-neutral-100);\r\n border: 1px solid var(--dda-neutral-90);\r\n color: var(--dda-neutral-0);\r\n}\r\n.dda-input-field {\r\n width: 100%;\r\n height: 55px;\r\n padding: 8px 16px;\r\n background: var(--dda-surface-100);\r\n border: 1px solid var(--dda-surface-90);\r\n border-radius: 8px;\r\n font-size: var(--font-body);\r\n color: var(--dda-on-surface-0);\r\n font-weight: var(--dda-fw-400);\r\n}\r\n.dda-date-picker input{\r\n color: var(--dda-on-surface-40)\r\n}\r\n.dda-date-picker input[type=\"date\"]::-webkit-calendar-picker-indicator {\r\n color: var(--dda-on-surface-40);\r\n}\r\n.dda-date-picker input[type=\"date\"]::-moz-calendar-picker-indicator {\r\n /* filter: invert(20%) sepia(90%) saturate(300%) hue-rotate(180deg); */\r\n}\r\n.dda-date-picker input[type=\"date\"].has-value {\r\n color: var(--dda-on-surface-0);\r\n}\r\n.light-mode .dda-input-field{\r\n background: var(--dda-neutral-100);\r\n border: 1px solid var(--dda-neutral-90);\r\n color: var(--dda-neutral-0);\r\n}\r\n.dda-input-size-small .dda-input-field-group,\r\n.dda-input-size-small .dda-input-field {\r\n height: 48px;\r\n padding: 8px 12px;\r\n}\r\n\r\n.dda-input-focus-filled .dda-phone-field, \r\n.dda-input-focus .dda-input-field-group,\r\n.dda-input-field:focus {\r\n /* outline: none; */\r\n border-color: var(--dda-color-primary-40);\r\n box-shadow: 0px 0px 0px 3px var(--dda-primary-variant-95);\r\n}\r\n.dda-input-field:focus-visible {\r\n outline: 1px solid var(--dda-color-primary-40);\r\n outline-offset: -1px;\r\n}\r\n.light-mode.dda-input-focus-filled .dda-phone-field,\r\n.light-mode.dda-input-focus .dda-input-field-group,\r\n.light-mode .dda-input-field:focus {\r\n outline: none;\r\n border-color: var(--dda-primary-40);\r\n box-shadow: 0px 0px 0px 3px var(--dda-primary-95);\r\n}\r\n\r\n.dda-input-dropdown-btn {\r\n min-width: 110px;\r\n position: relative;\r\n display: inline-block;\r\n padding: 0;\r\n}\r\n\r\n.dda-dropdown-select {\r\n width: 100%;\r\n height: 32px;\r\n display: flex;\r\n justify-content: space-between;\r\n background: transparent;\r\n border: transparent;\r\n font-size: var(--font-caption);\r\n color: var(--dda-on-surface-0);\r\n padding: 0;\r\n align-items: center;\r\n cursor: pointer;\r\n gap: 6px;\r\n}\r\n.dda-dropdown-select:focus-visible{\r\n outline: 1px solid var(--dda-color-primary-40);\r\n outline-offset: 1px;\r\n}\r\n.light-mode .dda-dropdown-select{\r\n color: var(--dda-neutral-0);\r\n}\r\n\r\n.dda-dropdown-select img {\r\n width: 24px;\r\n}\r\n\r\n\r\n.dda-dropdown-container {\r\n position: relative;\r\n width: auto;\r\n /* min-width: 140px; */\r\n}\r\n.dda-dropdown-container.bg-transparent .dda-dropdown-header{\r\n padding: 0px;\r\n height: auto;\r\n background: transparent;\r\n border: transparent;\r\n box-shadow: none;\r\n}\r\n.dda-dropdown-header {\r\n width: auto;\r\n display: flex;\r\n align-items: center;\r\n gap: 15px;\r\n}\r\n.dda-dropdown-header .three-dots{\r\n font-size: 25px;\r\n color: var(--dda-neutral-variant-60);\r\n}\r\n.dda-dropdown-header .three-dots path{\r\n fill: var(--dda-neutral-variant-60);\r\n}\r\n.dda-dropdown-header .dda-dropdown-text{\r\n flex: 1;\r\n display: flex;\r\n justify-content: space-between;\r\n gap: 15px;\r\n}\r\n.dda-dropdown-header .dda-dropdown-text span{\r\n color: var(--dda-on-surface-variant-30);\r\n display: flex;\r\n align-items: center;\r\n}\r\n.light-mode .dda-dropdown-text span{\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n.dda-dropdown-header .dda-dropdown-text i{\r\n font-size: 31px;\r\n}\r\n.dda-dropdown-header .dda-dropdown-text path{\r\n fill: var(--dda-on-surface-variant-30);\r\n}\r\n.light-mode .dda-dropdown-header .dda-dropdown-text path{\r\n fill: var(--dda-neutral-variant-30);\r\n}\r\n.dda-dropdown-header:focus .three-dots path{\r\n fill: var(--dda-on-surface-variant-30);\r\n}\r\n.dda-input-dropdown-list {\r\n width: 100%;\r\n min-width: 150px;\r\n max-height: 200px;\r\n background-color: var(--dda-neutral-100);\r\n border: 1px solid var(--dda-neutral-90);\r\n border-radius: 8px;\r\n overflow-y: auto;\r\n position: absolute;\r\n top: 100%;\r\n margin-top: 1px;\r\n inset-inline-start: 0px;\r\n z-index: 9999;\r\n box-shadow: 0px 8px 10px -6px #1018281A;\r\n}\r\n\r\n.dda-input-dropdown-list::-webkit-scrollbar-track {\r\n border-radius: 4px;\r\n}\r\n\r\n.dda-input-dropdown-list::-webkit-scrollbar {\r\n width: 4px;\r\n}\r\n\r\n.dda-input-dropdown-list::-webkit-scrollbar-thumb {\r\n border-radius: 4px;\r\n background-color: var(--dda-neutral-variant-30);\r\n}\r\n\r\n.dda-input-dropdown-item {\r\n display: flex;\r\n align-items: center;\r\n gap: 7px;\r\n width: 100%;\r\n font-size: var(--font-caption);\r\n background: transparent;\r\n border: transparent;\r\n padding: 10px;\r\n cursor: pointer;\r\n}\r\n\r\n.dda-input-dropdown-item:focus-visible,\r\n.dda-input-dropdown-item:hover,\r\n.dda-input-dropdown-item.selected {\r\n background-color: var(--dda-neutral-variant-95);\r\n outline: 0;\r\n}\r\n.dda-input-dropdown-list .country-select img{\r\n width: 20px;\r\n}\r\n\r\n.dda-helper-text {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n font-size: var(--font-caption);\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n.light-mode .dda-helper-text{\r\n color: var(--dda-neutral-30);\r\n}\r\n.dda-error-message {\r\n display: flex;\r\n justify-content: space-between;\r\n font-size: var(--font-caption);\r\n color: var(--dda-color-error-40);\r\n}\r\n\r\n.dda-helper-text i,\r\n.dda-helper-text svg,\r\n.dda-error-message i,\r\n.dda-error-message svg {\r\n font-size: 21px;\r\n}\r\n\r\n.dda-success-text {\r\n display: flex;\r\n justify-content: space-between;\r\n font-size: var(--font-caption);\r\n color: var(--dda-color-success-40);\r\n}\r\n\r\n.dda-validation-error .dda-input-field-group,\r\n.dda-validation-error .dda-input-field {\r\n color: var(--dda-color-error-40);\r\n border-color: var(--dda-color-error-40);\r\n box-shadow: none;\r\n}\r\n\r\n.light-mode.dda-validation-error .dda-input-field-group,\r\n.light-mode.dda-validation-error .dda-input-field {\r\n color: var(--dda-error-40);\r\n border-color: var(--dda-error-40);\r\n box-shadow: none;\r\n}\r\n\r\n.dda-validation-error .icon-close,\r\n.dda-validation-error .dda-error-message,\r\n.dda-validation-error .dda-field-group-input,\r\n.dda-validation-error .dda-file-input span {\r\n color: var(--dda-color-error-40) !important;\r\n}\r\n\r\n.light-mode.dda-validation-error .icon-close,\r\n.light-mode.dda-validation-error .dda-error-message,\r\n.light-mode.dda-validation-error .dda-field-group-input,\r\n.light-mode.dda-validation-error .dda-file-input span {\r\n color: var(--dda-error-40) !important;\r\n}\r\n\r\n.dda-validation-error .dda-input-field::-ms-input-placeholder,\r\n.dda-validation-error .dda-field-group-input::-ms-input-placeholder {\r\n color: var(--dda-color-error-40);\r\n}\r\n\r\n.light-mode.dda-validation-error .dda-input-field::-ms-input-placeholder,\r\n.light-mode.dda-validation-error .dda-field-group-input::-ms-input-placeholder {\r\n color: var(--dda-error-40);\r\n}\r\n\r\n.dda-validation-error .dda-input-field::placeholder,\r\n.dda-validation-error .dda-field-group-input::placeholder {\r\n color: var(--dda-color-error-40);\r\n}\r\n\r\n.light-mode.dda-validation-error .dda-input-field::placeholder,\r\n.light-mode.dda-validation-error .dda-field-group-input::placeholder {\r\n color: var(--dda-error-40);\r\n}\r\n\r\n.dda-input-disabled .dda-input-label,\r\n.dda-input-disabled .dda-helper-text,\r\n.dda-input-disabled .dda-error-message,\r\n.dda-input-disabled i,\r\n.dda-input-disabled .dda-dropdown-select,\r\n.dda-input-disabled .dda-file-input span,\r\n.dda-input-disabled .dda-file-choose {\r\n color: var(--dda-neutral-60) !important;\r\n}\r\n\r\n.dda-input-disabled .dda-input-field-group,\r\n.dda-input-disabled .dda-input-field {\r\n background: var(--dda-neutral-92);\r\n border-color: var(--dda-neutral-90);\r\n color: var(--dda-neutral-60) !important;\r\n box-shadow: none;\r\n pointer-events: none;\r\n outline: none;\r\n}\r\n.dda-input-disabled i{\r\n color: var(--dda-neutral-variant-60);\r\n}\r\n.dda-input-disabled svg path{\r\n fill: var(--dda-neutral-variant-60);\r\n}\r\n.dda-input-disabled .dda-input-field::-ms-input-placeholder {\r\n color: var(--dda-neutral-60);\r\n}\r\n\r\n.dda-input-disabled .dda-input-field::placeholder {\r\n color: var(--dda-neutral-60);\r\n}\r\n\r\n.dda-input-disabled .dda-btn {\r\n background-color: var(--dda-neutral-70) !important;\r\n border-color: var(--dda-neutral-70) !important;\r\n}\r\n\r\n.dda-input-disabled .dda-dropdown-select img,\r\n.dda-input-disabled .dda-input-field-wrapper img {\r\n filter: grayscale(1);\r\n}\r\n\r\n/*Specifications*/\r\n\r\n/*Number Field*/\r\n.dda-number-field .dda-field-group-input {\r\n padding-inline-end: 10px;\r\n border-inline-end: solid 1px var(--dda-neutral-90);\r\n}\r\n\r\n.dda-number-field .dda-field-group-input:focus,\r\n.dda-phone-field .dda-field-group-input:focus {\r\n border-inline-start: solid 1px var(--dda-color-primary-40);\r\n} \r\n.dda-number-field .dda-field-group-input:focus-visible,\r\n.dda-phone-field .dda-field-group-input:focus-visible {\r\n outline: 1px solid var(--dda-surface-100);\r\n outline-offset: -1px;\r\n}\r\n.dda-number-field .dda-input-dropdown-btn {\r\n min-width: 80px;\r\n}\r\n\r\n.dda-number-field .dda-input-dropdown-list {\r\n top: 44px;\r\n}\r\n\r\n.dda-input-size-small .dda-number-field .dda-input-dropdown-list {\r\n top: 41px;\r\n}\r\n\r\n/*text ares*/\r\n.dda-input-textarea {\r\n height: auto;\r\n min-height: 120px;\r\n resize: vertical;\r\n}\r\n\r\n/*Search Field*/\r\n.dda-search-area {\r\n position: relative;\r\n}\r\n\r\n.dda-search-area .icon-left {\r\n position: absolute;\r\n top: 16px;\r\n inset-inline-start: 15px;\r\n font-size: 24px;\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n\r\n.light-mode .dda-search-area .icon-left{\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n\r\n.dda-input-size-small .dda-search-area .icon-left {\r\n top: 14px;\r\n}\r\n\r\n.dda-search-area .dda-search-btngroup {\r\n height: 40px;\r\n position: absolute;\r\n top: 7px;\r\n inset-inline-end: 7px;\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 5px;\r\n}\r\n\r\n.dda-input-size-small .dda-search-btngroup {\r\n top: 4px;\r\n}\r\n\r\n.dda-search-area .dda-search-close-icon {\r\n display: flex;\r\n color: var(--dda-on-surface-variant-30);\r\n font-size: 20px;\r\n margin: 0px;\r\n padding: 0px;\r\n background: none;\r\n border: 0;\r\n cursor: pointer;\r\n}\r\n\r\n.light-mode .dda-search-area .dda-search-close-icon{\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n\r\n.dda-search-field {\r\n padding: 8px 26px 8px 40px;\r\n}\r\n\r\n.dda-search-action .dda-search-field {\r\n padding-top: 8px;\r\n padding-bottom: 8px;\r\n padding-inline-start: 40px;\r\n}\r\n.dda-search-action .dda-search-field.has-search-button{\r\n padding-inline-end: 110px;\r\n}\r\n.dda-search-sm .icon-left {\r\n top: 14px;\r\n}\r\n\r\n.dda-search-sm .dda-search-btngroup {\r\n top: 4px;\r\n}\r\n\r\n/*Phone Field*/\r\n.dda-phone-field-group {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.dda-phone-field-group.dda-phone-field-small {\r\n height: 48px;\r\n}\r\n\r\n.dda-phone-field-group.focused,\r\n.dda-phone-field-group.filled {\r\n outline: none;\r\n border-color: var(--dda-color-primary-40);\r\n box-shadow: 0px 0px 0px 3px var(--dda-primary-variant-95);\r\n}\r\n\r\n.dda-phone-field-group.error {\r\n border-color: var(--dda-color-error-40);\r\n box-shadow: none;\r\n}\r\n\r\n.phone-field-country-code {\r\n border: none;\r\n background: none;\r\n margin-inline-end: 0.5rem;\r\n font-size: 1rem;\r\n color: var(--dda-on-surface-0);\r\n}\r\n\r\n.phone-field-country-code:focus-within {\r\n outline: 0;\r\n}\r\n\r\n.dda-phone-field .dda-input-dropdown-list {\r\n top: 44px;\r\n}\r\n\r\n.dda-input-size-small .dda-phone-field .dda-input-dropdown-list {\r\n top: 41px;\r\n}\r\n\r\n/*Credit Card Field*/\r\n.dda-credit-card-field .dda-creditcard-icon {\r\n width: 40px;\r\n position: absolute;\r\n top: 14px;\r\n inset-inline-start: 15px;\r\n}\r\n\r\n.dda-input-size-small .dda-creditcard-icon {\r\n top: 11px;\r\n}\r\n\r\n.dda-credit-card-field .dda-input-field {\r\n padding: 8px 16px 8px 65px;\r\n}\r\n[dir=\"rtl\"] .dda-credit-card-field .dda-input-field {\r\n padding: 8px 65px 8px 16px;\r\n}\r\n/*Select Field*/\r\n.dda-select-header {\r\n cursor: pointer;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 10px;\r\n}\r\n\r\n.dda-select-header i {\r\n font-size: 28px;\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n.dda-select-header .dda-select-button-label:empty {\r\n flex-grow: 1;\r\n}\r\n/*Rich Text Editor*/\r\n.dda-input-container.dda-richtext-editor {\r\n gap: 0px;\r\n}\r\n\r\n.dda-richtext-editor .dda-input-label {\r\n margin-bottom: 8px;\r\n}\r\n\r\n.dda-richtext-editor .dda-helper-text,\r\n.dda-richtext-editor .dda-error-message {\r\n margin-top: 8px;\r\n}\r\n\r\n.dda-richtext-editor .ql-toolbar.ql-snow {\r\n border: 1px solid var(--dda-neutral-90) !important;\r\n border-radius: 8px 8px 0 0;\r\n}\r\n\r\n.dda-richeditor-field {\r\n border: 1px solid var(--dda-neutral-90) !important;\r\n border-radius: 0 0 8px 8px;\r\n}\r\n\r\n.dda-richeditor-field .ql-editor {\r\n height: 100px;\r\n font-size: var(--font-caption);\r\n}\r\n\r\n/*Attach Files*/\r\n\r\n.dda-input-field-group.dda-attach-file {\r\n padding-inline-end: 6px;\r\n}\r\n\r\n.dda-file-input {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.dda-file-input span {\r\n font-size: var(--font-caption);\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n.light-mode .dda-file-input span{\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n.dda-file-choose {\r\n height: 40px;\r\n background-color: var(--dda-neutral-100);\r\n border: solid 1px var(--dda-neutral-90);\r\n color: var(--dda-color-primary-40);\r\n font-weight: var(--dda-fw-500);\r\n padding: 8px 16px;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n}\r\n.dda-file-choose:focus{\r\n outline: solid 1px var(--dda-color-primary-40);\r\n outline-offset: -1px;\r\n}\r\n\r\n.light-mode .dda-file-choose {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-input-disabled .dda-file-choose {\r\n background-color: var(--dda-neutral-95);\r\n}\r\n\r\n.dda-file-choose input {\r\n display: none;\r\n}\r\n\r\n.dda-file-details {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding-inline-end: 10px;\r\n}\r\n\r\n.dda-file-icon {\r\n width: 34px;\r\n height: 34px;\r\n}\r\n\r\n.dda-items {\r\n width: calc(100% - 30px);\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n}\r\n.dda-file-details .remove-file{\r\n margin: 0;\r\n padding: 0;\r\n background: transparent;\r\n border: transparent;\r\n}\r\n.dda-file-details .remove-file svg{\r\n font-size: var(--font-caption);\r\n}\r\n.dda-file-name {\r\n width: 100%;\r\n font-size: var(--font-caption);\r\n white-space: nowrap;\r\n overflow-x: auto;\r\n -ms-overflow-style: none;\r\n scrollbar-width: none;\r\n position: relative;\r\n text-overflow: ellipsis\r\n}\r\n.dda-file-name::-webkit-scrollbar {\r\n display: none;\r\n}\r\n\r\n\r\n\r\n\r\n.dda-remove-file {\r\n font-size: 20px;\r\n background: transparent;\r\n border: transparent;\r\n color: var(--dda-on-surface-variant-30);\r\n cursor: pointer;\r\n padding: 0px;\r\n}\r\n\r\ninput[type=\"date\"]::-webkit-input-placeholder {\r\n color: transparent;\r\n}\r\n\r\ninput[type=\"date\"]::-moz-placeholder {\r\n color: transparent;\r\n}\r\n\r\ninput[type=\"date\"]::placeholder {\r\n color: transparent;\r\n}\r\n","import { Component, Prop, State, Event, EventEmitter, Method, h, Host } from '@stencil/core';\r\nimport pdfIcon from '../../assets/img/icn/file_icons/icn-PDF.svg';\r\nimport pptIcon from '../../assets/img/icn/file_icons/icn-PowerPoint.svg';\r\nimport wordIcon from '../../assets/img/icn/file_icons/icn-Word.svg';\r\nimport excelIcon from '../../assets/img/icn/file_icons/icn-Excel.svg';\r\nimport imageIcon from '../../assets/img/icn/file_icons/icn-Image.svg';\r\nimport videoIcon from '../../assets/img/icn/file_icons/icn-Video.svg';\r\nimport onenoteIcon from '../../assets/img/icn/file_icons/icn-OneNote.svg';\r\nimport defaultIcon from '../../assets/img/icn/file_icons/icn-default.svg';\r\n\r\n@Component({\r\n tag: 'dda-attach-file',\r\n styleUrls: ['../../global/input.css'],\r\n shadow: false,\r\n})\r\nexport class DdaAttachFile {\r\n @Prop() label: string;\r\n @Prop() place_holder: string;\r\n @Prop() upload_button_text: string;\r\n @Prop() helper_text: string;\r\n @Prop() success_text: string;\r\n @Prop() error_message: string;\r\n @Prop() size?: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() input_type?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() aria_label?: string = '';\r\n @Prop() button_aria_label?: string = '';\r\n @Prop() input_id: string;\r\n @Prop() input_name?: string;\r\n @Prop() button_id: string;\r\n @Prop() delete_button_id: string;\r\n @Prop() button_name?: string;\r\n @Prop() accept?: string;\r\n @Prop() disabled: boolean = false;\r\n\r\n @Prop() max_file_size: number = 5; // in MB\r\n @Prop() file_size_error_message: string = 'File size should not exceed {max} MB';\r\n \r\n @State() file: File | null = null;\r\n @State() isFileUploaded: boolean = false;\r\n @State() internalErrorMessage: string = '';\r\n\r\n private fileInputRef: HTMLInputElement;\r\n\r\n @Event() fileChanged: EventEmitter<File | null>;\r\n\r\n @Method()\r\n async getFile(): Promise<File | null> {\r\n return this.file;\r\n }\r\n\r\n private fileIcons = {\r\n pdf: pdfIcon,\r\n pptx: pptIcon,\r\n docx: wordIcon,\r\n xlsx: excelIcon,\r\n png: imageIcon,\r\n jpg: imageIcon,\r\n jpeg: imageIcon,\r\n mp4: videoIcon,\r\n mkv: videoIcon,\r\n one: onenoteIcon,\r\n };\r\n\r\n handleFileInput(event: Event) {\r\n console.log(this.fileInputRef.value);\r\n \r\n const files = (event.target as HTMLInputElement)?.files;\r\n if (files && files.length > 0) {\r\n const selectedFile = files[0];\r\n const fileSizeInMB = selectedFile.size / (1024 * 1024);\r\n\r\n if (this.max_file_size && fileSizeInMB > this.max_file_size) {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n this.internalErrorMessage = this.file_size_error_message.replace('{max}', this.max_file_size.toString());\r\n this.validation_type = 'error';\r\n this.fileChanged.emit(null);\r\n return;\r\n }\r\n\r\n this.file = selectedFile;\r\n this.isFileUploaded = true;\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(this.file);\r\n } else {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(null);\r\n }\r\n }\r\n\r\n removeFile() {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n if (this.fileInputRef) {\r\n this.fileInputRef.value = null;\r\n}\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(null);\r\n }\r\n\r\n getFileIcon(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n return this.fileIcons[extension] || defaultIcon;\r\n }\r\n\r\n render() {\r\n const inputClass = [\r\n 'dda-input-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-input-size-${this.size}` : '',\r\n this.input_type ? `dda-input-${this.input_type}` : '',\r\n this.custom_class,\r\n this.component_mode,\r\n ].filter(Boolean).join(' ');\r\n\r\n const shouldShowError = this.validation_type === 'error' && (this.internalErrorMessage || this.error_message);\r\n\r\n return (\r\n <Host>\r\n <div class={inputClass}>\r\n {this.label && (\r\n <span class=\"dda-input-label\" id={`${this.input_id}-label`}>\r\n {this.label}\r\n </span>\r\n )}\r\n\r\n <div class=\"dda-input-field-group dda-attach-file\">\r\n {this.file ? (\r\n <div class=\"dda-file-details\">\r\n <div class=\"dda-items\">\r\n <img src={this.getFileIcon(this.file.name)} alt=\"File Icon\" class=\"dda-file-icon\" />\r\n <span class=\"dda-file-name\" title={this.file.name}>{this.file.name}</span>\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"remove-file\"\r\n name={this.button_name}\r\n id={this.delete_button_id}\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-label={this.button_aria_label || 'Remove file'}\r\n onClick={() => this.removeFile()}\r\n disabled={this.disabled}\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">close</i>\r\n </button>\r\n </div>\r\n ) : (\r\n <div class=\"dda-file-input\">\r\n <span>{this.place_holder || 'No File Selected'}</span>\r\n <button\r\n type=\"button\"\r\n class=\"dda-file-choose\"\r\n name={this.button_name}\r\n id={this.button_id}\r\n tabIndex={0}\r\n aria-labelledby={`${this.button_id}-label`}\r\n onClick={() => this.fileInputRef?.click()}\r\n disabled={this.disabled}\r\n >\r\n {this.upload_button_text || 'Choose File'}\r\n </button>\r\n <span id={`${this.button_id}-label`} class=\"visually-hidden\">\r\n {this.upload_button_text || 'Choose File'}\r\n </span>\r\n\r\n <label htmlFor={this.input_id} class=\"visually-hidden\">\r\n {this.label}\r\n </label>\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n type=\"file\"\r\n accept={this.accept}\r\n disabled={this.disabled}\r\n hidden\r\n ref={(el) => (this.fileInputRef = el as HTMLInputElement)}\r\n onInput={(event) => this.handleFileInput(event)}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {shouldShowError ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\" aria-live=\"assertive\">\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">info</i>\r\n <span>{this.internalErrorMessage || this.error_message}</span>\r\n </span>\r\n </span>\r\n ) : this.isFileUploaded && this.success_text ? (\r\n <span class=\"dda-success-text\" id={this.validation_id} role=\"status\" aria-live=\"polite\">\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">check</i>\r\n <span>{this.success_text}</span>\r\n </span>\r\n </span>\r\n ) : this.helper_text ? (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">info</i>\r\n <span>{this.helper_text}</span>\r\n </span>\r\n </span>\r\n ) : null}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}