@trendyol/baklava 3.4.0-beta.9 → 3.4.0

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 (118) hide show
  1. package/dist/baklava-react.d.ts +262 -307
  2. package/dist/baklava-react.d.ts.map +1 -1
  3. package/dist/baklava-react.js +1 -1
  4. package/dist/baklava-react.js.map +3 -3
  5. package/dist/baklava-svelte.d.ts +807 -0
  6. package/dist/baklava-vue.d.ts +26 -24
  7. package/dist/baklava.d.ts +22 -19
  8. package/dist/baklava.d.ts.map +1 -1
  9. package/dist/baklava.js +1 -1
  10. package/dist/chunk-3IZAFXL6.js +59 -0
  11. package/dist/chunk-3IZAFXL6.js.map +7 -0
  12. package/dist/chunk-5NSAJ3SX.js +23 -0
  13. package/dist/chunk-5NSAJ3SX.js.map +7 -0
  14. package/dist/{chunk-YLNOOPBO.js → chunk-5QGKDF4O.js} +2 -2
  15. package/dist/chunk-7N7YHRPA.js +22 -0
  16. package/dist/chunk-7N7YHRPA.js.map +7 -0
  17. package/dist/chunk-BDTCJ2JC.js +16 -0
  18. package/dist/chunk-BDTCJ2JC.js.map +7 -0
  19. package/dist/{chunk-4BO66Y63.js → chunk-C2UDBDKV.js} +7 -6
  20. package/dist/chunk-C2UDBDKV.js.map +7 -0
  21. package/dist/chunk-HCSEQTUP.js +37 -0
  22. package/dist/chunk-HCSEQTUP.js.map +7 -0
  23. package/dist/chunk-IEFQ6PGY.js +80 -0
  24. package/dist/chunk-IEFQ6PGY.js.map +7 -0
  25. package/dist/chunk-IR2QY2VG.js +24 -0
  26. package/dist/chunk-IR2QY2VG.js.map +7 -0
  27. package/dist/chunk-JN5BKKQZ.js +14 -0
  28. package/dist/chunk-JN5BKKQZ.js.map +7 -0
  29. package/dist/{chunk-KIQZ3N7J.js → chunk-JTNWYMYZ.js} +2 -2
  30. package/dist/{chunk-2Q566BEQ.js → chunk-KYLWO3YR.js} +14 -14
  31. package/dist/chunk-KYLWO3YR.js.map +7 -0
  32. package/dist/{chunk-6PSDYX3J.js → chunk-LZ6VDMPM.js} +2 -2
  33. package/dist/chunk-M4E4CVZ4.js +18 -0
  34. package/dist/{chunk-M54AQSC3.js.map → chunk-M4E4CVZ4.js.map} +2 -2
  35. package/dist/components/accordion-group/accordion/bl-accordion.d.ts +1 -0
  36. package/dist/components/accordion-group/accordion/bl-accordion.d.ts.map +1 -1
  37. package/dist/components/accordion-group/accordion/bl-accordion.js +1 -1
  38. package/dist/components/accordion-group/bl-accordion-group.test.d.ts.map +1 -1
  39. package/dist/components/calendar/bl-calendar.d.ts.map +1 -1
  40. package/dist/components/calendar/bl-calendar.js +1 -1
  41. package/dist/components/calendar/bl-calendar.test.d.ts.map +1 -1
  42. package/dist/components/datepicker/bl-datepicker.d.ts.map +1 -1
  43. package/dist/components/datepicker/bl-datepicker.js +1 -1
  44. package/dist/components/dialog/bl-dialog.stories.js +1 -1
  45. package/dist/components/input/bl-input.js +1 -1
  46. package/dist/components/link/bl-link.d.ts +77 -0
  47. package/dist/components/link/bl-link.d.ts.map +1 -0
  48. package/dist/components/link/bl-link.js +2 -0
  49. package/dist/components/link/bl-link.js.map +7 -0
  50. package/dist/components/link/bl-link.stories.d.ts +31 -0
  51. package/dist/components/link/bl-link.stories.d.ts.map +1 -0
  52. package/dist/components/link/bl-link.stories.js +63 -0
  53. package/dist/components/link/bl-link.stories.js.map +7 -0
  54. package/dist/components/link/bl-link.test.d.ts +2 -0
  55. package/dist/components/link/bl-link.test.d.ts.map +1 -0
  56. package/dist/components/notification/bl-notification.stories.js +1 -1
  57. package/dist/components/pagination/bl-pagination.js +1 -1
  58. package/dist/components/select/bl-select.d.ts.map +1 -1
  59. package/dist/components/select/bl-select.js +1 -1
  60. package/dist/components/select/option/bl-select-option.d.ts +5 -0
  61. package/dist/components/select/option/bl-select-option.d.ts.map +1 -1
  62. package/dist/components/select/option/bl-select-option.js +1 -1
  63. package/dist/components/stepper/bl-stepper-item.d.ts +107 -0
  64. package/dist/components/stepper/bl-stepper-item.d.ts.map +1 -0
  65. package/dist/components/stepper/bl-stepper-item.js +2 -0
  66. package/dist/components/stepper/bl-stepper-item.js.map +7 -0
  67. package/dist/components/stepper/bl-stepper-item.test.d.ts +2 -0
  68. package/dist/components/stepper/bl-stepper-item.test.d.ts.map +1 -0
  69. package/dist/components/stepper/bl-stepper.d.ts +46 -0
  70. package/dist/components/stepper/bl-stepper.d.ts.map +1 -0
  71. package/dist/components/stepper/bl-stepper.js +2 -0
  72. package/dist/components/stepper/bl-stepper.js.map +7 -0
  73. package/dist/components/stepper/bl-stepper.stories.d.ts +23 -0
  74. package/dist/components/stepper/bl-stepper.stories.d.ts.map +1 -0
  75. package/dist/components/stepper/bl-stepper.stories.js +100 -0
  76. package/dist/components/stepper/bl-stepper.stories.js.map +7 -0
  77. package/dist/components/stepper/bl-stepper.test.d.ts +2 -0
  78. package/dist/components/stepper/bl-stepper.test.d.ts.map +1 -0
  79. package/dist/components/table/table-body/bl-table-body.d.ts +5 -1
  80. package/dist/components/table/table-body/bl-table-body.d.ts.map +1 -1
  81. package/dist/components/table/table-body/bl-table-body.js +1 -1
  82. package/dist/components/table/table-cell/bl-table-cell.js +1 -1
  83. package/dist/components/table/table-header-cell/bl-table-header-cell.js +1 -1
  84. package/dist/components/table/table-row/bl-table-row.js +1 -1
  85. package/dist/custom-elements.json +10157 -2901
  86. package/dist/generated/locales/ar.d.ts +2 -0
  87. package/dist/generated/locales/ar.d.ts.map +1 -1
  88. package/dist/generated/locales/ar.js +1 -1
  89. package/dist/generated/locales/ar.js.map +2 -2
  90. package/dist/generated/locales/ro.d.ts +2 -0
  91. package/dist/generated/locales/ro.d.ts.map +1 -1
  92. package/dist/generated/locales/ro.js +1 -1
  93. package/dist/generated/locales/ro.js.map +2 -2
  94. package/dist/generated/locales/tr.d.ts +2 -0
  95. package/dist/generated/locales/tr.d.ts.map +1 -1
  96. package/dist/generated/locales/tr.js +1 -1
  97. package/dist/generated/locales/tr.js.map +2 -2
  98. package/dist/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.d.ts +4 -0
  99. package/dist/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.d.ts.map +1 -1
  100. package/dist/utilities/format-to-date-array.d.ts +1 -1
  101. package/dist/utilities/format-to-date-array.d.ts.map +1 -1
  102. package/package.json +3 -5
  103. package/dist/chunk-2P3LD4HV.js +0 -80
  104. package/dist/chunk-2P3LD4HV.js.map +0 -7
  105. package/dist/chunk-2Q566BEQ.js.map +0 -7
  106. package/dist/chunk-4BO66Y63.js.map +0 -7
  107. package/dist/chunk-7KND5OUR.js +0 -59
  108. package/dist/chunk-7KND5OUR.js.map +0 -7
  109. package/dist/chunk-EXUCTLBU.js +0 -24
  110. package/dist/chunk-EXUCTLBU.js.map +0 -7
  111. package/dist/chunk-H6EUN6QV.js +0 -22
  112. package/dist/chunk-H6EUN6QV.js.map +0 -7
  113. package/dist/chunk-HEB5ZFIH.js +0 -2
  114. package/dist/chunk-HEB5ZFIH.js.map +0 -7
  115. package/dist/chunk-M54AQSC3.js +0 -7
  116. /package/dist/{chunk-YLNOOPBO.js.map → chunk-5QGKDF4O.js.map} +0 -0
  117. /package/dist/{chunk-KIQZ3N7J.js.map → chunk-JTNWYMYZ.js.map} +0 -0
  118. /package/dist/{chunk-6PSDYX3J.js.map → chunk-LZ6VDMPM.js.map} +0 -0
@@ -6,6 +6,8 @@ export declare const templates: {
6
6
  s761665218da1556a: string;
7
7
  s76ddb3a843ed8e06: string;
8
8
  s859e1270b0736efc: string;
9
+ s8bf9dd3eac79af25: string;
10
+ sa26d7a273074cbf9: string;
9
11
  sb1ba2131b9a7c7b0: string;
10
12
  sbaace8219b5f4612: string;
11
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/ar.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;CAUrB,CAAC"}
1
+ {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/ar.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYrB,CAAC"}
@@ -1,2 +1,2 @@
1
- import"../../chunk-BWWXE4SL.js";var a={s144508ac0e146c46:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A",s3f9c368cd44f682b:"\u062D\u062F\u062B \u062E\u0637\u0623",s5d929ff1619ac0c9:"\u0628\u062D\u062B",s716a6024e3fe999c:"\u0639\u0631\u0636",s761665218da1556a:"\u0641\u062A\u062D \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062F\u0644\u0629",s76ddb3a843ed8e06:"\u0645\u0633\u062D \u0627\u0644\u0628\u062D\u062B",s859e1270b0736efc:"\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062F\u0644\u0629",sb1ba2131b9a7c7b0:"\u0627\u0630\u0647\u0628 \u0625\u0644\u0649",sbaace8219b5f4612:"\u0627\u062E\u062A\u0631 \u0627\u0644\u0643\u0644"};export{a as templates};
1
+ import"../../chunk-BWWXE4SL.js";var a={s144508ac0e146c46:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A",s3f9c368cd44f682b:"\u062D\u062F\u062B \u062E\u0637\u0623",s5d929ff1619ac0c9:"\u0628\u062D\u062B",s716a6024e3fe999c:"\u0639\u0631\u0636",s761665218da1556a:"\u0641\u062A\u062D \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062F\u0644\u0629",s76ddb3a843ed8e06:"\u0645\u0633\u062D \u0627\u0644\u0628\u062D\u062B",s859e1270b0736efc:"\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062F\u0644\u0629",s8bf9dd3eac79af25:"\u0644\u0627 \u062A\u0648\u062C\u062F \u062D\u0627\u0644\u064A\u064B\u0627 \u0633\u062C\u0644\u0627\u062A \u0644\u0644\u0639\u0631\u0636.",sa26d7a273074cbf9:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0628\u064A\u0627\u0646\u0627\u062A \u0645\u062A\u0627\u062D\u0629",sb1ba2131b9a7c7b0:"\u0627\u0630\u0647\u0628 \u0625\u0644\u0649",sbaace8219b5f4612:"\u0627\u062E\u062A\u0631 \u0627\u0644\u0643\u0644"};export{a as templates};
2
2
  //# sourceMappingURL=ar.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/generated/locales/ar.ts"],
4
- "sourcesContent": ["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's144508ac0e146c46': `\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A`,\n's3f9c368cd44f682b': `\u062D\u062F\u062B \u062E\u0637\u0623`,\n's5d929ff1619ac0c9': `\u0628\u062D\u062B`,\n's716a6024e3fe999c': `\u0639\u0631\u0636`,\n's761665218da1556a': `\u0641\u062A\u062D \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062F\u0644\u0629`,\n's76ddb3a843ed8e06': `\u0645\u0633\u062D \u0627\u0644\u0628\u062D\u062B`,\n's859e1270b0736efc': `\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062F\u0644\u0629`,\n'sb1ba2131b9a7c7b0': `\u0627\u0630\u0647\u0628 \u0625\u0644\u0649`,\n'sbaace8219b5f4612': `\u0627\u062E\u062A\u0631 \u0627\u0644\u0643\u0644`,\n };\n "],
5
- "mappings": "gCAUW,IAAMA,EAAY,CACvB,kBAAqB,+HAC3B,kBAAqB,wCACrB,kBAAqB,qBACrB,kBAAqB,qBACrB,kBAAqB,iHACrB,kBAAqB,oDACrB,kBAAqB,6HACrB,kBAAqB,8CACrB,kBAAqB,mDACjB",
4
+ "sourcesContent": ["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's144508ac0e146c46': `\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A`,\n's3f9c368cd44f682b': `\u062D\u062F\u062B \u062E\u0637\u0623`,\n's5d929ff1619ac0c9': `\u0628\u062D\u062B`,\n's716a6024e3fe999c': `\u0639\u0631\u0636`,\n's761665218da1556a': `\u0641\u062A\u062D \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062F\u0644\u0629`,\n's76ddb3a843ed8e06': `\u0645\u0633\u062D \u0627\u0644\u0628\u062D\u062B`,\n's859e1270b0736efc': `\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062F\u0644\u0629`,\n's8bf9dd3eac79af25': `\u0644\u0627 \u062A\u0648\u062C\u062F \u062D\u0627\u0644\u064A\u064B\u0627 \u0633\u062C\u0644\u0627\u062A \u0644\u0644\u0639\u0631\u0636.`,\n'sa26d7a273074cbf9': `\u0644\u0627 \u062A\u0648\u062C\u062F \u0628\u064A\u0627\u0646\u0627\u062A \u0645\u062A\u0627\u062D\u0629`,\n'sb1ba2131b9a7c7b0': `\u0627\u0630\u0647\u0628 \u0625\u0644\u0649`,\n'sbaace8219b5f4612': `\u0627\u062E\u062A\u0631 \u0627\u0644\u0643\u0644`,\n };\n "],
5
+ "mappings": "gCAUW,IAAMA,EAAY,CACvB,kBAAqB,+HAC3B,kBAAqB,wCACrB,kBAAqB,qBACrB,kBAAqB,qBACrB,kBAAqB,iHACrB,kBAAqB,oDACrB,kBAAqB,6HACrB,kBAAqB,4IACrB,kBAAqB,4GACrB,kBAAqB,8CACrB,kBAAqB,mDACjB",
6
6
  "names": ["templates"]
7
7
  }
@@ -6,6 +6,8 @@ export declare const templates: {
6
6
  s761665218da1556a: string;
7
7
  s76ddb3a843ed8e06: string;
8
8
  s859e1270b0736efc: string;
9
+ s8bf9dd3eac79af25: string;
10
+ sa26d7a273074cbf9: string;
9
11
  sb1ba2131b9a7c7b0: string;
10
12
  sbaace8219b5f4612: string;
11
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/ro.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;CAUrB,CAAC"}
1
+ {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/ro.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYrB,CAAC"}
@@ -1,2 +1,2 @@
1
- import"../../chunk-BWWXE4SL.js";var e={s144508ac0e146c46:"Nu s-au g\u0103sit date",s3f9c368cd44f682b:"A ap\u0103rut o eroare",s5d929ff1619ac0c9:"C\u0103utare",s716a6024e3fe999c:"Arat\u0103",s761665218da1556a:"Deschide meniul derulant",s76ddb3a843ed8e06:"\u0218terge c\u0103utarea",s859e1270b0736efc:"\xCEnchide meniul derulant",sb1ba2131b9a7c7b0:"Mergi la",sbaace8219b5f4612:"Selecteaz\u0103 tot"};export{e as templates};
1
+ import"../../chunk-BWWXE4SL.js";var e={s144508ac0e146c46:"Nu s-au g\u0103sit date",s3f9c368cd44f682b:"A ap\u0103rut o eroare",s5d929ff1619ac0c9:"C\u0103utare",s716a6024e3fe999c:"Arat\u0103",s761665218da1556a:"Deschide meniul derulant",s76ddb3a843ed8e06:"\u0218terge c\u0103utarea",s859e1270b0736efc:"\xCEnchide meniul derulant",s8bf9dd3eac79af25:"\xCEn prezent nu exist\u0103 \xEEnregistr\u0103ri de afi\u0219at.",sa26d7a273074cbf9:"Nu exist\u0103 date disponibile",sb1ba2131b9a7c7b0:"Mergi la",sbaace8219b5f4612:"Selecteaz\u0103 tot"};export{e as templates};
2
2
  //# sourceMappingURL=ro.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/generated/locales/ro.ts"],
4
- "sourcesContent": ["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's144508ac0e146c46': `Nu s-au g\u0103sit date`,\n's3f9c368cd44f682b': `A ap\u0103rut o eroare`,\n's5d929ff1619ac0c9': `C\u0103utare`,\n's716a6024e3fe999c': `Arat\u0103`,\n's761665218da1556a': `Deschide meniul derulant`,\n's76ddb3a843ed8e06': `\u0218terge c\u0103utarea`,\n's859e1270b0736efc': `\u00CEnchide meniul derulant`,\n'sb1ba2131b9a7c7b0': `Mergi la`,\n'sbaace8219b5f4612': `Selecteaz\u0103 tot`,\n };\n "],
5
- "mappings": "gCAUW,IAAMA,EAAY,CACvB,kBAAqB,0BAC3B,kBAAqB,yBACrB,kBAAqB,eACrB,kBAAqB,aACrB,kBAAqB,2BACrB,kBAAqB,4BACrB,kBAAqB,6BACrB,kBAAqB,WACrB,kBAAqB,qBACjB",
4
+ "sourcesContent": ["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's144508ac0e146c46': `Nu s-au g\u0103sit date`,\n's3f9c368cd44f682b': `A ap\u0103rut o eroare`,\n's5d929ff1619ac0c9': `C\u0103utare`,\n's716a6024e3fe999c': `Arat\u0103`,\n's761665218da1556a': `Deschide meniul derulant`,\n's76ddb3a843ed8e06': `\u0218terge c\u0103utarea`,\n's859e1270b0736efc': `\u00CEnchide meniul derulant`,\n's8bf9dd3eac79af25': `\u00CEn prezent nu exist\u0103 \u00EEnregistr\u0103ri de afi\u0219at.`,\n'sa26d7a273074cbf9': `Nu exist\u0103 date disponibile`,\n'sb1ba2131b9a7c7b0': `Mergi la`,\n'sbaace8219b5f4612': `Selecteaz\u0103 tot`,\n };\n "],
5
+ "mappings": "gCAUW,IAAMA,EAAY,CACvB,kBAAqB,0BAC3B,kBAAqB,yBACrB,kBAAqB,eACrB,kBAAqB,aACrB,kBAAqB,2BACrB,kBAAqB,4BACrB,kBAAqB,6BACrB,kBAAqB,oEACrB,kBAAqB,kCACrB,kBAAqB,WACrB,kBAAqB,qBACjB",
6
6
  "names": ["templates"]
7
7
  }
@@ -6,6 +6,8 @@ export declare const templates: {
6
6
  s761665218da1556a: string;
7
7
  s76ddb3a843ed8e06: string;
8
8
  s859e1270b0736efc: string;
9
+ s8bf9dd3eac79af25: string;
10
+ sa26d7a273074cbf9: string;
9
11
  sb1ba2131b9a7c7b0: string;
10
12
  sbaace8219b5f4612: string;
11
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/tr.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;CAUrB,CAAC"}
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/tr.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYrB,CAAC"}
@@ -1,2 +1,2 @@
1
- import"../../chunk-BWWXE4SL.js";var a={s144508ac0e146c46:"Hi\xE7bir Sonu\xE7 Bulunamad\u0131",s3f9c368cd44f682b:"Bir hata olu\u015Ftu",s5d929ff1619ac0c9:"Arama",s716a6024e3fe999c:"G\xF6ster",s761665218da1556a:"A\xE7\u0131l\u0131r men\xFCy\xFC a\xE7",s76ddb3a843ed8e06:"Aramay\u0131 Temizle",s859e1270b0736efc:"A\xE7\u0131l\u0131r men\xFCy\xFC kapat",sb1ba2131b9a7c7b0:"Git",sbaace8219b5f4612:"T\xFCm\xFCn\xFC Se\xE7"};export{a as templates};
1
+ import"../../chunk-BWWXE4SL.js";var a={s144508ac0e146c46:"Hi\xE7bir Sonu\xE7 Bulunamad\u0131",s3f9c368cd44f682b:"Bir hata olu\u015Ftu",s5d929ff1619ac0c9:"Arama",s716a6024e3fe999c:"G\xF6ster",s761665218da1556a:"A\xE7\u0131l\u0131r men\xFCy\xFC a\xE7",s76ddb3a843ed8e06:"Aramay\u0131 Temizle",s859e1270b0736efc:"A\xE7\u0131l\u0131r men\xFCy\xFC kapat",s8bf9dd3eac79af25:"\u015Eu anda g\xF6r\xFCnt\xFClenecek kay\u0131t bulunmamaktad\u0131r.",sa26d7a273074cbf9:"Veri bulunamad\u0131",sb1ba2131b9a7c7b0:"Git",sbaace8219b5f4612:"T\xFCm\xFCn\xFC Se\xE7"};export{a as templates};
2
2
  //# sourceMappingURL=tr.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/generated/locales/tr.ts"],
4
- "sourcesContent": ["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's144508ac0e146c46': `Hi\u00E7bir Sonu\u00E7 Bulunamad\u0131`,\n's3f9c368cd44f682b': `Bir hata olu\u015Ftu`,\n's5d929ff1619ac0c9': `Arama`,\n's716a6024e3fe999c': `G\u00F6ster`,\n's761665218da1556a': `A\u00E7\u0131l\u0131r men\u00FCy\u00FC a\u00E7`,\n's76ddb3a843ed8e06': `Aramay\u0131 Temizle`,\n's859e1270b0736efc': `A\u00E7\u0131l\u0131r men\u00FCy\u00FC kapat`,\n'sb1ba2131b9a7c7b0': `Git`,\n'sbaace8219b5f4612': `T\u00FCm\u00FCn\u00FC Se\u00E7`,\n };\n "],
5
- "mappings": "gCAUW,IAAMA,EAAY,CACvB,kBAAqB,qCAC3B,kBAAqB,uBACrB,kBAAqB,QACrB,kBAAqB,YACrB,kBAAqB,yCACrB,kBAAqB,uBACrB,kBAAqB,yCACrB,kBAAqB,MACrB,kBAAqB,wBACjB",
4
+ "sourcesContent": ["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's144508ac0e146c46': `Hi\u00E7bir Sonu\u00E7 Bulunamad\u0131`,\n's3f9c368cd44f682b': `Bir hata olu\u015Ftu`,\n's5d929ff1619ac0c9': `Arama`,\n's716a6024e3fe999c': `G\u00F6ster`,\n's761665218da1556a': `A\u00E7\u0131l\u0131r men\u00FCy\u00FC a\u00E7`,\n's76ddb3a843ed8e06': `Aramay\u0131 Temizle`,\n's859e1270b0736efc': `A\u00E7\u0131l\u0131r men\u00FCy\u00FC kapat`,\n's8bf9dd3eac79af25': `\u015Eu anda g\u00F6r\u00FCnt\u00FClenecek kay\u0131t bulunmamaktad\u0131r.`,\n'sa26d7a273074cbf9': `Veri bulunamad\u0131`,\n'sb1ba2131b9a7c7b0': `Git`,\n'sbaace8219b5f4612': `T\u00FCm\u00FCn\u00FC Se\u00E7`,\n };\n "],
5
+ "mappings": "gCAUW,IAAMA,EAAY,CACvB,kBAAqB,qCAC3B,kBAAqB,uBACrB,kBAAqB,QACrB,kBAAqB,YACrB,kBAAqB,yCACrB,kBAAqB,uBACrB,kBAAqB,yCACrB,kBAAqB,wEACrB,kBAAqB,uBACrB,kBAAqB,MACrB,kBAAqB,wBACjB",
6
6
  "names": ["templates"]
7
7
  }
@@ -13,6 +13,10 @@ export default class DatepickerCalendarMixin extends LitElement {
13
13
  * Defines the calendar language
14
14
  */
15
15
  locale: string;
16
+ /**
17
+ * Enables month and year only selection mode
18
+ */
19
+ monthYearOnly: boolean;
16
20
  /**
17
21
  * Defines the unselectable dates for calendar
18
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker-calendar-mixin.d.ts","sourceRoot":"","sources":["../../../src/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAGtF,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D;;OAEG;IAEH,IAAI,EAAE,YAAY,CAAC;IACnB;;OAEG;IAEH,WAAW,EAAE,SAAS,CAAK;IAC3B;;OAEG;IAEH,MAAM,EAAE,MAAM,CAA4C;IAE1D;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAM;IAEtC,IAAI,aAAa,IAAI,IAAI,EAAE,CAE1B;IAED,IAII,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,EAe/C;IAED;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf,IAAI,OAAO,IAKU,IAAI,CAHxB;IAED,IACI,OAAO,CAAC,OAAO,EAAE,IAAI,EAWxB;IAED;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf,IAAI,OAAO,IAKU,IAAI,CAHxB;IAED,IACI,OAAO,CAAC,OAAO,EAAE,IAAI,EAWxB;IAED,IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,EAKtC;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAElC;IAED,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAM;CACrC"}
1
+ {"version":3,"file":"datepicker-calendar-mixin.d.ts","sourceRoot":"","sources":["../../../src/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAGtF,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D;;OAEG;IAEH,IAAI,EAAE,YAAY,CAAC;IACnB;;OAEG;IAEH,WAAW,EAAE,SAAS,CAAK;IAC3B;;OAEG;IAEH,MAAM,EAAE,MAAM,CAA4C;IAE1D;;OAEG;IAEH,aAAa,UAAS;IAEtB;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAM;IAEtC,IAAI,aAAa,IAAI,IAAI,EAAE,CAE1B;IAED,IAII,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,EAe/C;IAED;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf,IAAI,OAAO,IAKU,IAAI,CAHxB;IAED,IACI,OAAO,CAAC,OAAO,EAAE,IAAI,EAWxB;IAED;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf,IAAI,OAAO,IAKU,IAAI,CAHxB;IAED,IACI,OAAO,CAAC,OAAO,EAAE,IAAI,EAWxB;IAED,IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,EAKtC;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAElC;IAED,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAM;CACrC"}
@@ -1,2 +1,2 @@
1
- export declare function formatToDateArray(value: string | Date | Date[]): Date[];
1
+ export declare function formatToDateArray(value: string | Date | Date[] | undefined): Date[];
2
2
  //# sourceMappingURL=format-to-date-array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-to-date-array.d.ts","sourceRoot":"","sources":["../../src/utilities/format-to-date-array.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAQvE"}
1
+ {"version":3,"file":"format-to-date-array.d.ts","sourceRoot":"","sources":["../../src/utilities/format-to-date-array.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI,EAAE,CAWnF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@trendyol/baklava",
3
3
  "type": "module",
4
- "version": "3.4.0-beta.9",
4
+ "version": "3.4.0",
5
5
  "description": "Trendyol Baklava Design System",
6
6
  "main": "dist/baklava.js",
7
7
  "module": "dist/baklava.js",
@@ -28,7 +28,7 @@
28
28
  "start": "npm run storybook:dev",
29
29
  "analyze": "cem analyze",
30
30
  "commit": "commit",
31
- "build": "del-cli dist/ && npm run analyze && npm run generate-react-exports && tsc --emitDeclarationOnly && node scripts/build.js && npm run generate-vue-types && npm run localize:build",
31
+ "build": "del-cli dist/ && npm run analyze && tsc --emitDeclarationOnly && node scripts/build.js && npm run localize:build",
32
32
  "build-storybook": "NODE_ENV=production storybook build -o storybook-static",
33
33
  "build-storybook-docs": "storybook build --docs",
34
34
  "serve": "node scripts/build.js --serve",
@@ -54,8 +54,6 @@
54
54
  "test:watch": "web-test-runner --coverage --watch",
55
55
  "test:debug": "web-test-runner --coverage --watch --debug",
56
56
  "test:headless": "web-test-runner --coverage --watch --debug --headless",
57
- "generate-react-exports": "node scripts/generate-react-exports.js",
58
- "generate-vue-types": "node scripts/generate-vue-types.js",
59
57
  "localize:extract": "lit-localize extract",
60
58
  "localize:build": "lit-localize build"
61
59
  },
@@ -81,7 +79,7 @@
81
79
  "@commitlint/cli": "^16.2.4",
82
80
  "@commitlint/config-conventional": "^16.2.4",
83
81
  "@commitlint/prompt-cli": "^16.2.4",
84
- "@custom-elements-manifest/analyzer": "^0.6.3",
82
+ "@custom-elements-manifest/analyzer": "^0.10.4",
85
83
  "@lit/localize-tools": "^0.7.1",
86
84
  "@open-wc/testing": "^3.1.6",
87
85
  "@rollup/plugin-replace": "^4.0.0",
@@ -1,80 +0,0 @@
1
- import{a as V}from"./chunk-IPYZIIRV.js";import{a as Y,b as k}from"./chunk-WEEGH2F4.js";import{a as C}from"./chunk-6LT7O7T2.js";import{a as T}from"./chunk-GRL4DWKG.js";import{a as A}from"./chunk-HBPBDC7T.js";import{a as M,b as u,c as f}from"./chunk-5MOOXA2X.js";import{a as x,b as h,f as S}from"./chunk-4OT5AMS5.js";import{d as s}from"./chunk-BWWXE4SL.js";function v(m){let D=[],e=m.split(",");return e==null||e.forEach(t=>{let a=new Date(t.trim());isNaN(a.getTime())||D.push(a)}),D}var d=class extends S{constructor(){super(...arguments);this.startOfWeek=0;this.locale=document.documentElement.lang||"en-EN";this._disabledDates=[];this._value=[]}get disabledDates(){return this._disabledDates}set disabledDates(e){let t=[];typeof e=="string"?t=v(e):Array.isArray(e)&&(t=e.filter(a=>!isNaN(a.getTime()))),this.requestUpdate("disabledDates",t),this._disabledDates=t}get maxDate(){return this._maxDate}set maxDate(e){if(e&&isNaN(new Date(e).getTime())){console.warn("Invalid maxDate value.");return}this._minDate&&this._minDate>e?console.warn("maxDate cannot be smaller than minDate."):(this._maxDate=new Date(e),this.requestUpdate("maxDate",e))}get minDate(){return this._minDate}set minDate(e){if(e&&isNaN(new Date(e).getTime())){console.warn("Invalid minDate value.");return}this._maxDate&&this._maxDate<e?console.warn("minDate cannot be greater than maxDate."):(this._minDate=new Date(e),this.requestUpdate("minDate",e))}set value(e){let t=this._value;this._value=e,this.requestUpdate("value",t)}get value(){return this._value}};s([u()],d.prototype,"type",2),s([u({type:Number,attribute:"start-of-week",reflect:!0})],d.prototype,"startOfWeek",2),s([u()],d.prototype,"locale",2),s([u({attribute:"disabled-dates",reflect:!0})],d.prototype,"disabledDates",1),s([u({type:Date,attribute:"max-date",reflect:!0})],d.prototype,"maxDate",1),s([u({type:Date,attribute:"min-date",reflect:!0})],d.prototype,"minDate",1),s([u({attribute:"value",reflect:!0})],d.prototype,"value",1);function E(m){return typeof m=="string"?v(m):m instanceof Date?[m]:m}var N=x`.calendar{display:flex;flex-direction:column}.calendar-content{display:flex;padding:var(--bl-size-m);flex-direction:column;align-items:center;gap:var(--bl-size-m);border-radius:var(--bl-border-radius-s);width:fit-content;background:var(--bl-color-neutral-full)}.calendar-header{display:flex;justify-content:space-between;width:100%;align-items:center;padding-bottom:var(--bl-size-s)}.arrow{flex:1}:host([dir=rtl]) .arrow{transform:scale(-1)}.header-text{flex:3}.header-text-hover{background:var(--bl-color-neutral-lightest);border-radius:var(--bl-border-radius-s)}.days-wrapper{display:flex;flex-direction:column}.day-wrapper{display:flex;align-items:center;justify-content:center}.week-row{display:flex;align-items:center;flex-direction:row;padding-bottom:var(--bl-size-2xs)}.day{display:flex;align-items:center;width:40px;--bl-button-focus-border-color:#000;--bl-font-title-4-medium:var(--bl-font-weight-regular) var(--bl-font-size-m);--bl-size-xl:40px;--bl-border-radius-m:50%;--bl-border-radius-l:50%}.day.today-day{--bl-color-neutral-darker:var(--bl-color-primary);--bl-color-neutral-darkest:var(--bl-color-primary)}.day.other-month-day{--bl-color-neutral-darker:var(--bl-color-neutral-dark)}.day.other-month-day.selected-day{--bl-color-neutral-darker:var(--bl-color-neutral-full)}.day.selected-day{background:var(--bl-color-primary);border-radius:50%;--bl-button-focus-border-color:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full)}.range-day{background:var(--bl-color-primary-contrast);--bl-color-neutral-lightest:var(--bl-color-primary-contrast)}.range-end-day,.range-start-day,.selected-day{--bl-color-neutral-lightest:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full);--bl-color-neutral-darkest:var(--bl-color-neutral-full)!important}.range-start-day{background:var(--bl-color-primary-contrast);border-start-start-radius:50%;border-end-start-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-start-end-radius:50%;border-end-end-radius:50%}.weekday-text{color:var(--bl-color-neutral-dark);text-align:center;padding:var(--bl-size-2xs) 0;width:40px}.grid-content{display:grid;grid-template-columns:auto auto auto;text-align:center}.grid-item{width:93.33px;--bl-size-3xs:15px}.grid-item:not(:nth-last-child(-n + 3)){padding-bottom:var(--bl-size-2xs)}.calendar-text{font:var(--bl-font-title-3-regular)}`,$=N;var o=class extends d{constructor(){super(...arguments);this.today=new Date;this._calendarMonth=this.today.getMonth();this._calendarYear=this.today.getFullYear();this._calendarView="days";this._calendarYears=[];this._calendarDays=[];this._dates=[];this.handleClearSelectedDates=()=>{this._dates=[],this._onBlCalendarChange([]),this.clearRangePickerStyles()}}static get styles(){return[$]}connectedCallback(){super.connectedCallback(),V(this)}get months(){return[...Array(12).keys()].map(e=>({name:new Date(0,e+1,0).toLocaleString(this.locale,{month:"long"}),value:e}))}get days(){return[...Array(7).keys()].map(e=>({name:new Date(0,0,e).toLocaleString(this.locale,{weekday:"short"}),value:e}))}getDayNumInAMonth(e,t){return new Date(e,t+1,0).getDate()}getWeekDayOfDate(e,t){return new Date(e,t,1).getDay()}setPreviousCalendarView(){if(this.clearRangePickerStyles(),this._calendarView==="days")this._calendarMonth===0?(this._calendarMonth=11,this._calendarYear-=1):this._calendarMonth-=1;else if(this._calendarView==="months")this._calendarYear-=1;else if(this._calendarView==="years"){let e=this._calendarYears[0];this._calendarYears=Array.from({length:12},(t,a)=>e-(a+1))}this.type==="range"&&this.setHoverClass()}setNextCalendarView(){if(this.clearRangePickerStyles(),this._calendarView==="days")this._calendarMonth===11?(this._calendarMonth=0,this._calendarYear+=1):this._calendarMonth+=1;else if(this._calendarView==="months")this._calendarYear+=1;else if(this._calendarView==="years"){let e=this._calendarYears[11];this._calendarYears=Array.from({length:12},(t,a)=>e+(a+1))}this.setHoverClass()}setCurrentCalendarView(e){this._calendarView=this._calendarView!==e?e:"days",this.setHoverClass()}setMonthAndCalendarView(e){this._calendarMonth=e,this._calendarView="days",this.type==="range"&&this.setHoverClass()}setYearAndCalendarView(e){this._calendarYear=e,this._calendarView="days",this.type==="range"&&this.setHoverClass()}generateSurroundingYears(){this._calendarYears.length||(this._calendarYears=Array.from({length:12},(e,t)=>this._calendarYear-4+t))}clearRangePickerStyles(){var e;(e=this.shadowRoot)==null||e.querySelectorAll(".range-day, .range-start-day, .range-end-day").forEach(t=>t.classList.remove("range-day","range-start-day","range-end-day"))}handleDate(e){if(this.type!=="range"){let t=e.getFullYear()<this._calendarYear||e.getFullYear()===this._calendarYear&&e.getMonth()<this._calendarMonth,a=e.getFullYear()>this._calendarYear||e.getFullYear()===this._calendarYear&&e.getMonth()>this._calendarMonth;t?this.setPreviousCalendarView():a&&this.setNextCalendarView()}switch(this.type){case"single":this.handleSingleSelectCalendar(e);break;case"multiple":this.handleMultipleSelectCalendar(e);break;case"range":this.handleRangeSelectCalendar(e);break}this._onBlCalendarChange(this._dates),this.requestUpdate()}handleSingleSelectCalendar(e){this._dates=[e]}handleMultipleSelectCalendar(e){var a,l,r;((a=this._dates)==null?void 0:a.some(n=>n.getTime()===e.getTime()))?(r=this._dates)==null||r.splice((l=this._dates)==null?void 0:l.findIndex(n=>n.getTime()===e.getTime()),1):this._dates.push(e)}handleRangeSelectCalendar(e){if(!this._dates[0])this._dates[0]=e;else if(this._dates[1])this._dates=[],this._dates[0]=e;else if(e.getTime()>this._dates[0].getTime())this._dates[1]=e;else{let t=this._dates[0];this._dates[0]=e,this._dates[1]=t}this.setHoverClass()}checkIfSelectedDate(e){var t;return(t=this._dates)==null?void 0:t.some(a=>a.getFullYear()===e.getFullYear()&&a.getMonth()===e.getMonth()&&a.getDate()===e.getDate())}checkIfDateIsToday(e){let t=this.today;return t.getDate()===e.getDate()&&t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()}checkIfDateIsDisabled(e){var t,a,l;return e.getTime()<((t=this.minDate)==null?void 0:t.getTime())||e.getTime()>((a=this.maxDate)==null?void 0:a.getTime())?!0:this.disabledDates.length>0?(l=this.disabledDates)==null?void 0:l.some(r=>e.getDate()===r.getDate()&&e.getMonth()===r.getMonth()&&e.getFullYear()===r.getFullYear()):!1}setHoverClass(){this.clearRangePickerStyles(),this._dates[0]&&this._dates[1]&&setTimeout(()=>{var l,r,n,b,g,_,i,c,y;let e=(n=(r=this.shadowRoot)==null?void 0:r.getElementById(`${(l=this._dates[0])==null?void 0:l.getTime()}`))==null?void 0:n.parentElement;e==null||e.classList.add("range-start-day");let t=(_=(g=this.shadowRoot)==null?void 0:g.getElementById(`${(b=this._dates[1])==null?void 0:b.getTime()}`))==null?void 0:_.parentElement;t==null||t.classList.add("range-end-day");let a=[...this.createCalendarDays().values()].flat().filter(p=>p.getTime()>this._dates[0].getTime()&&p.getTime()<this._dates[1].getTime());for(let p=0;p<a.length;p++){let w=(c=(i=this.shadowRoot)==null?void 0:i.getElementById(`${a[p].getTime()}`))==null?void 0:c.parentElement;(y=w==null?void 0:w.classList)==null||y.add("range-day")}})}createCalendarDays(){var g,_;let e=new Map;this._calendarDays=this.days.slice(this.startOfWeek).concat(this.days.slice(0,this.startOfWeek));let t=this.getWeekDayOfDate(this._calendarYear,this._calendarMonth),a=t<this.startOfWeek?7-(this.startOfWeek-t):t-this.startOfWeek,l=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth-1),r=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth),n=this.startOfWeek;for(let i=a;i>0;i--){let c=n%7,y=new Date(this._calendarYear,this._calendarMonth-1,l-i+1);e.set(this.days[c].name,[y]),n+=1}for(let i=1;i<=r;i++){let c=n%7,y=new Date(this._calendarYear,this._calendarMonth,i);e.get(this.days[c].name)?(g=e.get(this.days[c].name))==null||g.push(y):e.set(this.days[c].name,[y]),n+=1}let b=this._calendarDays.findIndex(i=>i.value===n%7);if(b!==0)for(let i=1;i<=this._calendarDays.length-b;i++){let c=n%7,y=new Date(this._calendarYear,this._calendarMonth+1,i);(_=e.get(this.days[c].name))==null||_.push(y),n+=1}return e}updated(e){if(e.has("value")){let t=E(this._value);t!=null&&t.length?t==null||t.forEach(a=>{this.handleDate(a)}):this.handleClearSelectedDates()}}renderCalendarHeader(){let e=this._calendarView==="months"?"header-text-hover":"",t=this._calendarView==="years"?"header-text-hover":"";return h`
2
- <div class="calendar-header">
3
- <bl-button
4
- class="arrow"
5
- icon="arrow_left"
6
- variant="tertiary"
7
- kind="neutral"
8
- @click="${()=>this.setPreviousCalendarView()}"
9
- ></bl-button>
10
- <bl-button
11
- variant="tertiary"
12
- kind="neutral"
13
- class="header-text ${e}"
14
- @click="${()=>this.setCurrentCalendarView("months")}"
15
- >${this.months[this._calendarMonth].name}
16
- </bl-button>
17
- <bl-button
18
- variant="tertiary"
19
- kind="neutral"
20
- class="header-text ${t}"
21
- @click="${()=>this.setCurrentCalendarView("years")}"
22
- >${this._calendarYear}
23
- </bl-button>
24
- <bl-button
25
- class="arrow"
26
- icon="arrow_right"
27
- variant="tertiary"
28
- kind="neutral"
29
- @click="${()=>this.setNextCalendarView()}"
30
- ></bl-button>
31
- </div>
32
- `}renderCalendarDays(){let e=this.createCalendarDays(),t=Array.from(e.values());return h` <div class="week-row">
33
- ${[...e.keys()].map(a=>h` <div class="calendar-text weekday-text">${a}</div> `)}
34
- </div>
35
- <div class="days-wrapper">
36
- ${[...Array(t[0].length).keys()].map(a=>h` <div class="week-row">
37
- ${t.map(l=>{let r=l[a],n=this.checkIfSelectedDate(r),b=this.checkIfDateIsToday(r),g=this.checkIfDateIsDisabled(r),_=C({day:!0,"calendar-text":!0,"today-day":b,"selected-day":n,"other-month-day":l[a].getMonth()!==this._calendarMonth,"disabled-day":g});return h`<div class="day-wrapper">
38
- <bl-button
39
- id=${r.getTime()}
40
- variant="tertiary"
41
- kind="neutral"
42
- size="small"
43
- class=${_}
44
- ?disabled=${g}
45
- @click="${()=>!g&&this.handleDate(r)}"
46
- >
47
- ${this.dayRenderer?this.dayRenderer(r):r.getDate()}
48
- </bl-button>
49
- </div>`})}
50
- </div>`)}
51
- </div>`}renderCalendarMonths(){return h` <div class="grid-content">
52
- ${this.months.map((e,t)=>{let a=e.value===this._calendarMonth?"primary":"tertiary",l=e.value===this._calendarMonth?"default":"neutral";return h` <bl-button
53
- variant=${a}
54
- kind=${l}
55
- class="grid-item"
56
- size="small"
57
- @click="${()=>this.setMonthAndCalendarView(t)}"
58
- ><span class="calendar-text">${e.name}</span></bl-button
59
- >`})}
60
- </div>`}renderCalendarYears(){return this.generateSurroundingYears(),h` <div class="grid-content">
61
- ${this._calendarYears.map(e=>{let t=e===this._calendarYear?"primary":"tertiary",a=e===this._calendarYear?"default":"neutral";return h` <bl-button
62
- variant=${t}
63
- kind=${a}
64
- class="grid-item"
65
- @click="${()=>this.setYearAndCalendarView(e)}"
66
- ><span class="calendar-text">${e}</span></bl-button
67
- >`})}
68
- </div>`}render(){return h`
69
- <div>
70
- <div class="calendar-content">
71
- <div class="calendar">
72
- ${this.renderCalendarHeader()}
73
- ${this._calendarView==="days"?this.renderCalendarDays():""}
74
- ${this._calendarView==="months"?this.renderCalendarMonths():""}
75
- ${this._calendarView==="years"?this.renderCalendarYears():""}
76
- </div>
77
- </div>
78
- </div>
79
- `}};s([f()],o.prototype,"today",2),s([f()],o.prototype,"_calendarMonth",2),s([f()],o.prototype,"_calendarYear",2),s([f()],o.prototype,"_calendarView",2),s([f()],o.prototype,"_calendarYears",2),s([f()],o.prototype,"_calendarDays",2),s([f()],o.prototype,"_dates",2),s([u({attribute:!1})],o.prototype,"dayRenderer",2),s([T("bl-calendar-change")],o.prototype,"_onBlCalendarChange",2),o=s([M("bl-calendar"),A()],o);export{d as a,o as b};
80
- //# sourceMappingURL=chunk-2P3LD4HV.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/utilities/string-to-date-converter.ts", "../src/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.ts", "../src/utilities/format-to-date-array.ts", "../src/components/calendar/bl-calendar.css", "../src/components/calendar/bl-calendar.ts"],
4
- "sourcesContent": ["export function stringToDateArray(value: string): Date[] {\n const tempValue: Date[] = [];\n const splitDates = value.split(\",\");\n\n splitDates?.forEach(date => {\n const isDate = new Date(date.trim());\n\n if (!isNaN(isDate.getTime())) {\n tempValue.push(isDate);\n }\n });\n return tempValue;\n}\n", "import { LitElement } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { CalendarType, DayValues } from \"../../components/calendar/bl-calendar.types\";\nimport { stringToDateArray } from \"../../utilities/string-to-date-converter\";\n\nexport default class DatepickerCalendarMixin extends LitElement {\n /**\n * Defines the calendar types, available types are single, multiple and range\n */\n @property()\n type: CalendarType;\n /**\n * Defines the start day of the calendar (1 defines monday)\n */\n @property({ type: Number, attribute: \"start-of-week\", reflect: true })\n startOfWeek: DayValues = 0;\n /**\n * Defines the calendar language\n */\n @property()\n locale: string = document.documentElement.lang || \"en-EN\";\n\n /**\n * Defines the unselectable dates for calendar\n */\n protected _disabledDates: Date[] = [];\n\n get disabledDates(): Date[] {\n return this._disabledDates;\n }\n\n @property({\n attribute: \"disabled-dates\",\n reflect: true,\n })\n set disabledDates(disabledDates: Date[] | string) {\n // Now we are using 1.6.0 version of @lit/reactive-elements and in this version even if our property has property decorator it doesn't run request update inside.\n // We added similar implementations to update when there is a change.\n // When we update the lit to 2.0 or upper versions we can remove the requestUpdate here\n\n let newVal: Date[] = [];\n\n if (typeof disabledDates === \"string\") {\n newVal = stringToDateArray(disabledDates);\n } else if (Array.isArray(disabledDates)) {\n newVal = disabledDates.filter(d => !isNaN(d.getTime()));\n }\n\n this.requestUpdate(\"disabledDates\", newVal);\n this._disabledDates = newVal;\n }\n\n /**\n * Defines the maximum date value for the calendar\n */\n _maxDate: Date;\n\n get maxDate() {\n return this._maxDate;\n }\n\n @property({ type: Date, attribute: \"max-date\", reflect: true })\n set maxDate(maxDate: Date) {\n if (maxDate && isNaN(new Date(maxDate).getTime())) {\n console.warn(\"Invalid maxDate value.\");\n return;\n }\n if (this._minDate && this._minDate > maxDate) {\n console.warn(\"maxDate cannot be smaller than minDate.\");\n } else {\n this._maxDate = new Date(maxDate);\n this.requestUpdate(\"maxDate\", maxDate);\n }\n }\n\n /**\n * Defines the minimum date value for the calendar\n */\n _minDate: Date;\n\n get minDate() {\n return this._minDate;\n }\n\n @property({ type: Date, attribute: \"min-date\", reflect: true })\n set minDate(minDate: Date) {\n if (minDate && isNaN(new Date(minDate).getTime())) {\n console.warn(\"Invalid minDate value.\");\n return;\n }\n if (this._maxDate && this._maxDate < minDate) {\n console.warn(\"minDate cannot be greater than maxDate.\");\n } else {\n this._minDate = new Date(minDate);\n this.requestUpdate(\"minDate\", minDate);\n }\n }\n\n @property({ attribute: \"value\", reflect: true })\n set value(value: string | Date | Date[]) {\n const oldValue = this._value;\n\n this._value = value;\n this.requestUpdate(\"value\", oldValue);\n }\n\n get value(): string | Date | Date[] {\n return this._value;\n }\n\n _value: string | Date | Date[] = [];\n}\n", "import { stringToDateArray } from \"./string-to-date-converter\";\n\nexport function formatToDateArray(value: string | Date | Date[]): Date[] {\n if (typeof value === \"string\") {\n return stringToDateArray(value);\n } else if (value instanceof Date) {\n return [value];\n } else {\n return value;\n }\n}\n", "import {css} from 'lit';\nexport const styles = css`.calendar{display:flex;flex-direction:column}.calendar-content{display:flex;padding:var(--bl-size-m);flex-direction:column;align-items:center;gap:var(--bl-size-m);border-radius:var(--bl-border-radius-s);width:fit-content;background:var(--bl-color-neutral-full)}.calendar-header{display:flex;justify-content:space-between;width:100%;align-items:center;padding-bottom:var(--bl-size-s)}.arrow{flex:1}:host([dir=rtl]) .arrow{transform:scale(-1)}.header-text{flex:3}.header-text-hover{background:var(--bl-color-neutral-lightest);border-radius:var(--bl-border-radius-s)}.days-wrapper{display:flex;flex-direction:column}.day-wrapper{display:flex;align-items:center;justify-content:center}.week-row{display:flex;align-items:center;flex-direction:row;padding-bottom:var(--bl-size-2xs)}.day{display:flex;align-items:center;width:40px;--bl-button-focus-border-color:#000;--bl-font-title-4-medium:var(--bl-font-weight-regular) var(--bl-font-size-m);--bl-size-xl:40px;--bl-border-radius-m:50%;--bl-border-radius-l:50%}.day.today-day{--bl-color-neutral-darker:var(--bl-color-primary);--bl-color-neutral-darkest:var(--bl-color-primary)}.day.other-month-day{--bl-color-neutral-darker:var(--bl-color-neutral-dark)}.day.other-month-day.selected-day{--bl-color-neutral-darker:var(--bl-color-neutral-full)}.day.selected-day{background:var(--bl-color-primary);border-radius:50%;--bl-button-focus-border-color:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full)}.range-day{background:var(--bl-color-primary-contrast);--bl-color-neutral-lightest:var(--bl-color-primary-contrast)}.range-end-day,.range-start-day,.selected-day{--bl-color-neutral-lightest:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full);--bl-color-neutral-darkest:var(--bl-color-neutral-full)!important}.range-start-day{background:var(--bl-color-primary-contrast);border-start-start-radius:50%;border-end-start-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-start-end-radius:50%;border-end-end-radius:50%}.weekday-text{color:var(--bl-color-neutral-dark);text-align:center;padding:var(--bl-size-2xs) 0;width:40px}.grid-content{display:grid;grid-template-columns:auto auto auto;text-align:center}.grid-item{width:93.33px;--bl-size-3xs:15px}.grid-item:not(:nth-last-child(-n + 3)){padding-bottom:var(--bl-size-2xs)}.calendar-text{font:var(--bl-font-title-3-regular)}`;\nexport default styles;\n", "import { CSSResultGroup, html, PropertyValues, TemplateResult } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { localized } from \"@lit/localize\";\nimport DatepickerCalendarMixin from \"../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin\";\nimport { setDirectionProperty } from \"../../utilities/direction\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport { formatToDateArray } from \"../../utilities/format-to-date-array\";\nimport \"../button/bl-button\";\nimport \"../icon/bl-icon\";\nimport {\n CALENDAR_TYPES,\n CALENDAR_VIEWS,\n FIRST_MONTH_INDEX,\n LAST_MONTH_INDEX,\n} from \"./bl-calendar.constant\";\nimport style from \"./bl-calendar.css\";\nimport { Calendar, CalendarDay, CalendarView } from \"./bl-calendar.types\";\n\n/**\n * @tag bl-calendar\n * @summary Baklava Calendar component\n **/\n@customElement(\"bl-calendar\")\n@localized()\nexport default class BlCalendar extends DatepickerCalendarMixin {\n @state()\n today = new Date();\n @state()\n _calendarMonth: number = this.today.getMonth();\n @state()\n _calendarYear: number = this.today.getFullYear();\n @state()\n _calendarView: CalendarView = CALENDAR_VIEWS.DAYS;\n @state()\n _calendarYears: number[] = [];\n @state()\n _calendarDays: CalendarDay[] = [];\n @state()\n _dates: Date[] = [];\n\n /**\n * Custom function to render day cells.\n * It receives the date as an argument and should return a TemplateResult.\n */\n @property({ attribute: false })\n dayRenderer?: (date: Date) => TemplateResult;\n\n /**\n * Fires when date selection changes\n */\n @event(\"bl-calendar-change\") _onBlCalendarChange: EventDispatcher<Date[]>;\n\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n connectedCallback() {\n super.connectedCallback();\n setDirectionProperty(this);\n }\n\n get months() {\n return [...Array(12).keys()].map(month => ({\n name: new Date(0, month + 1, 0).toLocaleString(this.locale, { month: \"long\" }),\n value: month,\n }));\n }\n\n get days() {\n return [...Array(7).keys()].map(day => ({\n name: new Date(0, 0, day).toLocaleString(this.locale, { weekday: \"short\" }),\n value: day,\n }));\n }\n\n public handleClearSelectedDates = () => {\n this._dates = [];\n this._onBlCalendarChange([]);\n this.clearRangePickerStyles();\n };\n\n getDayNumInAMonth(year: number, month: number) {\n return new Date(year, month + 1, 0).getDate();\n }\n\n getWeekDayOfDate(year: number, month: number) {\n return new Date(year, month, 1).getDay();\n }\n\n setPreviousCalendarView() {\n this.clearRangePickerStyles();\n if (this._calendarView === CALENDAR_VIEWS.DAYS) {\n if (this._calendarMonth === FIRST_MONTH_INDEX) {\n this._calendarMonth = LAST_MONTH_INDEX;\n this._calendarYear -= 1;\n } else this._calendarMonth -= 1;\n } else if (this._calendarView === CALENDAR_VIEWS.MONTHS) {\n this._calendarYear -= 1;\n } else if (this._calendarView === CALENDAR_VIEWS.YEARS) {\n const fromYear = this._calendarYears[0];\n\n this._calendarYears = Array.from({ length: 12 }, (_, i) => fromYear - (i + 1));\n }\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n setNextCalendarView() {\n this.clearRangePickerStyles();\n if (this._calendarView === CALENDAR_VIEWS.DAYS) {\n if (this._calendarMonth === LAST_MONTH_INDEX) {\n this._calendarMonth = FIRST_MONTH_INDEX;\n this._calendarYear += 1;\n } else this._calendarMonth += 1;\n } else if (this._calendarView === CALENDAR_VIEWS.MONTHS) {\n this._calendarYear += 1;\n } else if (this._calendarView === CALENDAR_VIEWS.YEARS) {\n const fromYear = this._calendarYears[11];\n\n this._calendarYears = Array.from({ length: 12 }, (_, i) => fromYear + (i + 1));\n }\n this.setHoverClass();\n }\n\n setCurrentCalendarView(view: CalendarView) {\n this._calendarView = this._calendarView !== view ? view : CALENDAR_VIEWS.DAYS;\n this.setHoverClass();\n }\n\n setMonthAndCalendarView(month: number) {\n this._calendarMonth = month;\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n setYearAndCalendarView(year: number) {\n this._calendarYear = year;\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n generateSurroundingYears() {\n if (!this._calendarYears.length) {\n this._calendarYears = Array.from({ length: 12 }, (_, i) => this._calendarYear - 4 + i);\n }\n }\n\n clearRangePickerStyles() {\n this.shadowRoot\n ?.querySelectorAll(\".range-day, .range-start-day, .range-end-day\")\n .forEach(day => day.classList.remove(\"range-day\", \"range-start-day\", \"range-end-day\"));\n }\n\n handleDate(date: Date) {\n if (this.type !== CALENDAR_TYPES.RANGE) {\n const isDateBeforeThanCalendar =\n date.getFullYear() < this._calendarYear ||\n (date.getFullYear() === this._calendarYear && date.getMonth() < this._calendarMonth);\n\n const isDateAfterThanCalendar =\n date.getFullYear() > this._calendarYear ||\n (date.getFullYear() === this._calendarYear && date.getMonth() > this._calendarMonth);\n\n if (isDateBeforeThanCalendar) {\n this.setPreviousCalendarView();\n } else if (isDateAfterThanCalendar) {\n this.setNextCalendarView();\n }\n }\n\n switch (this.type) {\n case CALENDAR_TYPES.SINGLE:\n this.handleSingleSelectCalendar(date);\n break;\n case CALENDAR_TYPES.MULTIPLE:\n this.handleMultipleSelectCalendar(date);\n break;\n case CALENDAR_TYPES.RANGE:\n this.handleRangeSelectCalendar(date);\n break;\n }\n\n this._onBlCalendarChange(this._dates);\n this.requestUpdate();\n }\n\n handleSingleSelectCalendar(calendarDate: Date) {\n this._dates = [calendarDate];\n }\n\n handleMultipleSelectCalendar(calendarDate: Date) {\n const dateExist = this._dates?.some(d => d.getTime() === calendarDate.getTime());\n\n dateExist\n ? this._dates?.splice(\n this._dates?.findIndex(d => d.getTime() === calendarDate.getTime()),\n 1\n )\n : this._dates.push(calendarDate);\n }\n\n handleRangeSelectCalendar(calendarDate: Date) {\n if (!this._dates[0]) {\n this._dates[0] = calendarDate;\n } else if (!this._dates[1]) {\n if (calendarDate.getTime() > this._dates[0].getTime()) {\n this._dates[1] = calendarDate;\n } else {\n const tempEndDate = this._dates[0];\n\n this._dates[0] = calendarDate;\n this._dates[1] = tempEndDate;\n }\n } else {\n this._dates = [];\n this._dates[0] = calendarDate;\n }\n this.setHoverClass();\n }\n\n checkIfSelectedDate(calendarDate: Date) {\n return this._dates?.some(\n date =>\n date.getFullYear() === calendarDate.getFullYear() &&\n date.getMonth() === calendarDate.getMonth() &&\n date.getDate() === calendarDate.getDate()\n );\n }\n\n checkIfDateIsToday(calendarDate: Date) {\n const today = this.today;\n\n return (\n today.getDate() === calendarDate.getDate() &&\n today.getMonth() === calendarDate.getMonth() &&\n today.getFullYear() === calendarDate.getFullYear()\n );\n }\n\n checkIfDateIsDisabled(calendarDate: Date) {\n if (\n calendarDate.getTime() < this.minDate?.getTime() ||\n calendarDate.getTime() > this.maxDate?.getTime()\n ) {\n return true;\n }\n if (this.disabledDates.length > 0) {\n return this.disabledDates?.some(disabledDate => {\n return (\n calendarDate.getDate() === disabledDate.getDate() &&\n calendarDate.getMonth() === disabledDate.getMonth() &&\n calendarDate.getFullYear() === disabledDate.getFullYear()\n );\n });\n }\n return false;\n }\n\n setHoverClass() {\n this.clearRangePickerStyles();\n\n if (this._dates[0] && this._dates[1]) {\n setTimeout(() => {\n const startDateParentElement = this.shadowRoot?.getElementById(\n `${this._dates[0]?.getTime()}`\n )?.parentElement;\n\n startDateParentElement?.classList.add(\"range-start-day\");\n\n const endDateParentElement = this.shadowRoot?.getElementById(\n `${this._dates[1]?.getTime()}`\n )?.parentElement;\n\n endDateParentElement?.classList.add(\"range-end-day\");\n const rangeDays = [...this.createCalendarDays().values()]\n .flat()\n .filter(\n date =>\n date.getTime() > this._dates[0]!.getTime() &&\n date.getTime() < this._dates[1]!.getTime()\n );\n\n for (let i = 0; i < rangeDays.length; i++) {\n const element = this.shadowRoot?.getElementById(\n `${rangeDays[i].getTime()}`\n )?.parentElement;\n\n element?.classList?.add(\"range-day\");\n }\n });\n }\n }\n\n createCalendarDays() {\n const calendar: Calendar = new Map();\n\n this._calendarDays = this.days\n .slice(this.startOfWeek)\n .concat(this.days.slice(0, this.startOfWeek));\n\n const currentMonthStartWeekDay = this.getWeekDayOfDate(this._calendarYear, this._calendarMonth); // 1\n\n const lastMonthDaysCount =\n currentMonthStartWeekDay < this.startOfWeek\n ? 7 - (this.startOfWeek - currentMonthStartWeekDay)\n : currentMonthStartWeekDay - this.startOfWeek;\n\n const previousMonthDayCount = this.getDayNumInAMonth(\n this._calendarYear,\n this._calendarMonth - 1\n );\n\n const currentMonthDayCount = this.getDayNumInAMonth(this._calendarYear, this._calendarMonth);\n\n let dayOfTheWeek = this.startOfWeek; // from sunday\n\n for (\n let lastMonthDaysIterator = lastMonthDaysCount;\n lastMonthDaysIterator > 0;\n lastMonthDaysIterator--\n ) {\n const mod = dayOfTheWeek % 7;\n const date = new Date(\n this._calendarYear,\n this._calendarMonth - 1,\n previousMonthDayCount - lastMonthDaysIterator + 1\n );\n\n calendar.set(this.days[mod].name, [date]);\n\n dayOfTheWeek += 1;\n }\n for (\n let currentMonthDaysIterator = 1;\n currentMonthDaysIterator <= currentMonthDayCount;\n currentMonthDaysIterator++\n ) {\n const mod = dayOfTheWeek % 7;\n const day = new Date(this._calendarYear, this._calendarMonth, currentMonthDaysIterator);\n\n if (calendar.get(this.days[mod].name)) {\n calendar.get(this.days[mod].name)?.push(day);\n } else {\n calendar.set(this.days[mod].name, [day]);\n }\n dayOfTheWeek += 1;\n }\n\n const index = this._calendarDays.findIndex(day => day.value === dayOfTheWeek % 7);\n\n if (index !== 0) {\n for (\n let nextMonthDaysIterator = 1;\n nextMonthDaysIterator <= this._calendarDays.length - index;\n nextMonthDaysIterator++\n ) {\n const mod = dayOfTheWeek % 7;\n const date = new Date(this._calendarYear, this._calendarMonth + 1, nextMonthDaysIterator);\n\n calendar.get(this.days[mod].name)?.push(date);\n\n dayOfTheWeek += 1;\n }\n }\n return calendar;\n }\n\n updated(changedProperties: PropertyValues) {\n if (changedProperties.has(\"value\")) {\n const dates = formatToDateArray(this._value);\n\n if (!dates?.length) {\n this.handleClearSelectedDates();\n } else {\n dates?.forEach(date => {\n this.handleDate(date);\n });\n }\n }\n }\n\n renderCalendarHeader() {\n const showMonthSelected =\n this._calendarView === CALENDAR_VIEWS.MONTHS ? \"header-text-hover\" : \"\";\n const showYearSelected = this._calendarView === CALENDAR_VIEWS.YEARS ? \"header-text-hover\" : \"\";\n\n return html`\n <div class=\"calendar-header\">\n <bl-button\n class=\"arrow\"\n icon=\"arrow_left\"\n variant=\"tertiary\"\n kind=\"neutral\"\n @click=\"${() => this.setPreviousCalendarView()}\"\n ></bl-button>\n <bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"header-text ${showMonthSelected}\"\n @click=\"${() => this.setCurrentCalendarView(CALENDAR_VIEWS.MONTHS)}\"\n >${this.months[this._calendarMonth].name}\n </bl-button>\n <bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"header-text ${showYearSelected}\"\n @click=\"${() => this.setCurrentCalendarView(CALENDAR_VIEWS.YEARS)}\"\n >${this._calendarYear}\n </bl-button>\n <bl-button\n class=\"arrow\"\n icon=\"arrow_right\"\n variant=\"tertiary\"\n kind=\"neutral\"\n @click=\"${() => this.setNextCalendarView()}\"\n ></bl-button>\n </div>\n `;\n }\n\n renderCalendarDays() {\n const calendarDays = this.createCalendarDays();\n const valuesArray = Array.from(calendarDays.values());\n\n return html` <div class=\"week-row\">\n ${[...calendarDays.keys()].map(key => {\n return html` <div class=\"calendar-text weekday-text\">${key}</div> `;\n })}\n </div>\n <div class=\"days-wrapper\">\n ${[...Array(valuesArray[0].length).keys()].map(key => {\n return html` <div class=\"week-row\">\n ${valuesArray.map(values => {\n const date = values[key];\n\n const isSelectedDay = this.checkIfSelectedDate(date);\n const isDayToday = this.checkIfDateIsToday(date);\n const isDisabledDay = this.checkIfDateIsDisabled(date);\n\n const classes = classMap({\n \"day\": true,\n \"calendar-text\": true,\n \"today-day\": isDayToday,\n \"selected-day\": isSelectedDay,\n \"other-month-day\": values[key].getMonth() !== this._calendarMonth,\n \"disabled-day\": isDisabledDay,\n });\n\n return html`<div class=\"day-wrapper\">\n <bl-button\n id=${date.getTime()}\n variant=\"tertiary\"\n kind=\"neutral\"\n size=\"small\"\n class=${classes}\n ?disabled=${isDisabledDay}\n @click=\"${() => !isDisabledDay && this.handleDate(date)}\"\n >\n ${this.dayRenderer ? this.dayRenderer(date) : date.getDate()}\n </bl-button>\n </div>`;\n })}\n </div>`;\n })}\n </div>`;\n }\n\n renderCalendarMonths() {\n return html` <div class=\"grid-content\">\n ${this.months.map((month, index) => {\n const variant = month.value === this._calendarMonth ? \"primary\" : \"tertiary\";\n const neutral = month.value === this._calendarMonth ? \"default\" : \"neutral\";\n\n return html` <bl-button\n variant=${variant}\n kind=${neutral}\n class=\"grid-item\"\n size=\"small\"\n @click=\"${() => this.setMonthAndCalendarView(index)}\"\n ><span class=\"calendar-text\">${month.name}</span></bl-button\n >`;\n })}\n </div>`;\n }\n\n renderCalendarYears() {\n this.generateSurroundingYears();\n return html` <div class=\"grid-content\">\n ${this._calendarYears.map(year => {\n const variant = year === this._calendarYear ? \"primary\" : \"tertiary\";\n const neutral = year === this._calendarYear ? \"default\" : \"neutral\";\n\n return html` <bl-button\n variant=${variant}\n kind=${neutral}\n class=\"grid-item\"\n @click=\"${() => this.setYearAndCalendarView(year)}\"\n ><span class=\"calendar-text\">${year}</span></bl-button\n >`;\n })}\n </div>`;\n }\n\n render() {\n return html`\n <div>\n <div class=\"calendar-content\">\n <div class=\"calendar\">\n ${this.renderCalendarHeader()}\n ${this._calendarView === CALENDAR_VIEWS.DAYS ? this.renderCalendarDays() : \"\"}\n ${this._calendarView === CALENDAR_VIEWS.MONTHS ? this.renderCalendarMonths() : \"\"}\n ${this._calendarView === CALENDAR_VIEWS.YEARS ? this.renderCalendarYears() : \"\"}\n </div>\n </div>\n </div>\n `;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["stringToDateArray", "value", "tempValue", "splitDates", "date", "isDate", "DatepickerCalendarMixin", "s", "disabledDates", "newVal", "stringToDateArray", "d", "maxDate", "minDate", "value", "oldValue", "__decorateClass", "e", "formatToDateArray", "value", "stringToDateArray", "styles", "i", "bl_calendar_default", "BlCalendar", "DatepickerCalendarMixin", "bl_calendar_default", "setDirectionProperty", "month", "day", "year", "fromYear", "_", "i", "view", "_a", "date", "isDateBeforeThanCalendar", "isDateAfterThanCalendar", "calendarDate", "_b", "_c", "d", "tempEndDate", "today", "disabledDate", "_d", "_e", "_f", "_g", "_h", "_i", "startDateParentElement", "endDateParentElement", "rangeDays", "element", "calendar", "currentMonthStartWeekDay", "lastMonthDaysCount", "previousMonthDayCount", "currentMonthDayCount", "dayOfTheWeek", "lastMonthDaysIterator", "mod", "currentMonthDaysIterator", "index", "nextMonthDaysIterator", "changedProperties", "dates", "formatToDateArray", "showMonthSelected", "showYearSelected", "x", "calendarDays", "valuesArray", "key", "values", "isSelectedDay", "isDayToday", "isDisabledDay", "classes", "o", "variant", "neutral", "__decorateClass", "t", "e", "event", "localized"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/select/bl-select.css", "../src/components/select/bl-select.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{width:200px;display:inline-block}.select-wrapper{width:100%;position:relative;display:grid;gap:var(--bl-size-3xs);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-xs);--label-padding:var(--bl-size-3xs);--border-size:1px;--background-color:var(--bl-color-neutral-full);--border-color:var(--bl-color-neutral-lighter);--border-focus-color:var(--bl-color-primary-highlight);--icon-color:var(--bl-color-neutral-light);--text-color:var(--bl-color-neutral-darker);--label-color:var(--bl-color-neutral-dark);--placeholder-color:var(--bl-color-neutral-light);--height:var(--bl-size-2xl);--menu-padding:0 var(--bl-size-m);--menu-margin-top:var(--bl-size-2xs);--font-size:var(--bl-font-size-m);--disabled-color:var(--bl-color-neutral-lightest);--menu-height:250px;--popover-position:var(--bl-popover-position, fixed)}:host([multiple][view-select-all]) .select-wrapper{--menu-height:290px}:host([size=large]) .select-wrapper{--height:var(--bl-size-3xl);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-m)}:host([size=small]) .select-wrapper{--height:var(--bl-size-xl);--padding-vertical:var(--bl-size-3xs);--padding-horizontal:var(--bl-size-xs);--font-size:var(--bl-font-size-s)}:host([disabled]) .select-wrapper{--placeholder-color:var(--bl-color-neutral-light)}.dirty.invalid{--border-color:var(--bl-color-danger);--border-focus-color:var(--bl-color-danger-highlight);--label-color:var(--bl-color-danger)}.select-input{display:grid;align-items:center;justify-content:space-between;grid-template-columns:1fr max-content max-content;cursor:pointer;box-sizing:border-box;height:var(--height);border:solid 1px var(--border-color);font:var(--bl-font-title-3-regular);padding:0 calc(var(--padding-horizontal) - var(--label-padding) - var(--border-size));border-radius:var(--bl-border-radius-s);color:var(--text-color);background-color:var(--background-color);-webkit-user-select:none;user-select:none;margin:0;width:auto;min-width:100%}.label,.placeholder{color:var(--placeholder-color);padding-inline-start:var(--label-padding);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.select-wrapper.selected .placeholder,:host(:not([placeholder])) .placeholder,:host([label]:not([label-fixed])) .select-wrapper:not(.select-open) .placeholder{display:none}:host(:not([label])) .label,:host([label-fixed]) .label{display:none}.remove-all{display:none}.selected .remove-all{display:block}:host([disabled]) .remove-all,:host([disabled]) .remove-all::after{display:none}.dropdown-icon{font-size:var(--bl-font-size-m)}.dropdown-icon.open{display:none}.select-open .dropdown-icon.open{display:inline-block}.select-open .dropdown-icon.closed{display:none}.selected .dropdown-icon{--icon-color:var(--bl-color-neutral-darker)}:host([disabled]) .dropdown-icon{--icon-color:var(--bl-color-neutral-light)}.select-input:focus-visible,.select-open .select-input{border:solid 1px var(--border-focus-color);outline:0}:host([disabled]){cursor:not-allowed}:host([disabled]) .select-input{pointer-events:none;background-color:var(--disabled-color)}.select-input .selected-options{padding:0;padding-inline-start:var(--label-padding);margin:0;list-style:none;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([disabled]) .select-input .selected-options{color:var(--bl-color-neutral-light)}.selected-options li{display:inline;font-size:var(--font-size);color:var(--text-color)}.selected-options li:not(:last-child)::after{content:\", \"}.select-input:not(.has-overflowed-options) .additional-selection-count{display:none}:host([disabled]) .additional-selection-count{color:var(--bl-color-neutral-light)}:host([disabled]) .selected-options li{color:var(--bl-color-neutral-light)}.select-input .actions{display:flex;align-items:center;justify-content:center;gap:var(--bl-size-4xs);margin-inline-start:var(--bl-size-2xs)}.popover{--left:0;--top:0;position:var(--popover-position);border:solid 1px var(--border-color);background-color:var(--background-color);font:var(--bl-font-title-3-regular);border-radius:var(--bl-border-radius-s);padding:var(--menu-padding);outline:0;box-sizing:border-box;max-height:var(--menu-height);overflow-y:auto;display:none;flex-direction:column;z-index:var(--bl-index-popover);width:100%;top:var(--top);left:var(--left)}:host(:empty) .popover{display:none}.popover-no-result{display:flex;flex-direction:column;gap:var(--bl-size-2xs);align-items:center;justify-content:center;height:80px}.select-open .popover{display:flex;border:solid 1px var(--border-focus-color)}bl-icon{color:var(--icon-color)}label,legend{padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label{position:absolute;display:block;top:var(--padding-vertical);left:var(--padding-horizontal);inset-inline-end:calc(var(--bl-size-2xs) + var(--bl-size-m) + var(--bl-size-2xs));transition:.1s ease-in;pointer-events:none;opacity:0;font:var(--bl-font-title-3-regular);font-size:var(--font-size);color:var(--placeholder-color)}legend{height:0;visibility:hidden;display:none}legend span{padding:0 var(--label-padding);display:inline-block;opacity:0;visibility:visible}:host(:not([placeholder])) .selected .label,:host([placeholder]) :where(.select-open,.selected) .label{display:none}:where(.select-open,.selected) label{top:0;transform:translateY(-50%);font:var(--bl-font-caption);color:var(--label-color);pointer-events:initial;right:var(--padding-horizontal);opacity:1}:host([label]) :where(.select-open,.selected) legend{max-width:100%;font:var(--bl-font-caption);display:block}:host([label-fixed]) label{position:static;padding:0;transition:none;transform:none;pointer-events:initial;font:var(--bl-font-caption);color:var(--label-color);opacity:1}:host([label-fixed]) legend{display:none}.hint{display:none;font:var(--bl-font-body-text-3)}.hint p{padding:0;margin:0}.error-icon,.invalid-text{display:none}.dirty.invalid label,.error-icon,.invalid-text{color:var(--bl-color-danger)}.help-text{color:var(--bl-color-neutral-dark)}.select-open .help-text,.select-open .invalid-text{visibility:hidden}.dirty.invalid .hint,:host([help-text]) .hint{display:block}.dirty.invalid .invalid-text{display:block}.dirty.invalid .help-text{display:none}.select-all{position:sticky;top:0;padding:var(--bl-size-xs) 0;background:var(--background-color);z-index:1;font:var(--bl-font-title-3-regular);box-shadow:10px 0 0 var(--background-color),-10px 0 0 var(--background-color)}.select-all::after{position:absolute;content:\"\";width:100%;bottom:0;border-bottom:1px solid var(--bl-color-neutral-lighter)}.search-bar-input{font:var(--bl-font-title-3-regular);font-size:var(--font-size);color:var(--text-color);border:none;outline:0;background-color:transparent;width:100%;height:100%;padding:0;margin:0;box-sizing:border-box}.search-bar-input::placeholder{color:var(--placeholder-color)}.search-bar-input:focus-visible{outline:0}.search-spinner{padding-inline-end:var(--bl-font-size-2xs)}.action-divider{display:none}.select-wrapper .action-divider{display:block;height:1rem;width:1px;background-color:var(--bl-color-neutral-lighter)}.actions bl-icon{padding:4px}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, PropertyValues, TemplateResult } from \"lit\";\nimport { customElement, property, query, queryAll, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { autoUpdate, computePosition, flip, MiddlewareState, offset, size } from \"@floating-ui/dom\";\nimport { localized, msg } from \"@lit/localize\";\nimport { FormControlMixin, requiredValidator } from \"@open-wc/form-control\";\nimport { FormValue } from \"@open-wc/form-helpers\";\nimport \"element-internals-polyfill\";\nimport { LangKey } from \"../../localization\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport { stringBooleanConverter } from \"../../utilities/string-boolean.converter\";\nimport \"../button/bl-button\";\nimport \"../checkbox-group/checkbox/bl-checkbox\";\nimport BlCheckbox from \"../checkbox-group/checkbox/bl-checkbox\";\nimport \"../icon/bl-icon\";\nimport style from \"../select/bl-select.css\";\nimport \"../select/option/bl-select-option\";\nimport type BlSelectOption from \"./option/bl-select-option\";\n\nexport interface ISelectOption<T = string> {\n value: T;\n text: string;\n selected: boolean;\n}\n\nexport type SelectSize = \"medium\" | \"large\" | \"small\";\n\nexport type CleanUpFunction = () => void;\n\n/**\n * @tag bl-select\n * @summary Baklava Select component\n *\n * @cssproperty [--bl-popover-position=fixed] Sets the positioning strategy of select popover. You can set it as `absolute` if you need to show popover relative to its trigger element.\n */\n@customElement(\"bl-select\")\n@localized()\nexport default class BlSelect<ValueType extends FormValue = string> extends FormControlMixin(\n LitElement\n) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n static formControlValidators = [requiredValidator];\n\n /**\n * Sets name of the select field\n */\n @property()\n name: string;\n\n private _value: ValueType | ValueType[] | null;\n\n private _initialValue: ValueType | ValueType[] | null;\n\n /**\n * Sets the value of the select\n */\n @property()\n get value(): ValueType | ValueType[] | null {\n return this._value;\n }\n\n set value(val: ValueType | ValueType[] | null) {\n this._value = val;\n\n if (Array.isArray(val)) {\n const formData = new FormData();\n\n val.forEach(option => formData.append(this.name, `${option}`));\n this.setValue(formData);\n } else {\n this.setValue(val);\n }\n\n this.setOptionsSelected();\n }\n\n shouldFormValueUpdate(): boolean {\n return this.value !== null && this.value !== \"\";\n }\n\n /* Declare reactive properties */\n /**\n * Sets the label value\n */\n @property({ reflect: true })\n label?: string;\n\n /**\n * Sets the placeholder value. If left blank, the label value (if specified) is set as placeholder.\n */\n @property({ reflect: true })\n placeholder?: string;\n\n /**\n * Sets the size value. Select component's height value will be changed accordingly\n */\n @property({ type: String, reflect: true })\n size: SelectSize = \"medium\";\n\n /**\n * When option is not selected, shows component in error state\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Shows the component in disabled state.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets whether the selected option is clearable\n */\n @property({ type: Boolean, reflect: true })\n clearable = false;\n\n /**\n * Allows multiple options to be selected\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * Sets input to get keyboard focus automatically\n */\n @property({ type: Boolean, reflect: true })\n autofocus = false;\n\n /**\n * Makes label as fixed positioned\n */\n @property({ type: Boolean, attribute: \"label-fixed\", reflect: true })\n labelFixed = false;\n\n /**\n * Adds help text\n */\n @property({ type: String, attribute: \"help-text\", reflect: true })\n helpText?: string;\n\n /**\n * Set custom error message\n */\n @property({ type: String, attribute: \"invalid-text\", reflect: true })\n customInvalidText?: string;\n\n /**\n * Views select all option in multiple select\n */\n @property({ type: Boolean, attribute: \"view-select-all\", converter: stringBooleanConverter() })\n viewSelectAll = false;\n\n /**\n * Sets select all text in multiple select\n */\n @property({ type: String, attribute: \"select-all-text\" })\n selectAllText?: string;\n\n /**\n * Enable search functionality for the options within the list\n */\n @property({ type: Boolean, attribute: \"search-bar\", reflect: true })\n searchBar = false;\n\n /**\n * Search for text variations such as \"search,\" \"searching,\" \"search by country,\" and so on\n */\n @property({ type: String, attribute: \"search-bar-placeholder\", reflect: true })\n searchBarPlaceholder?: string;\n\n /**\n * Display a loading icon in place of the search icon.\n */\n @property({\n type: Boolean,\n attribute: \"search-bar-loading-state\",\n converter: stringBooleanConverter(),\n })\n searchBarLoadingState = false;\n\n /**\n * Text to display when no search results are found.\n */\n @property({ type: String, attribute: \"search-not-found-text\", reflect: true })\n searchNotFoundText?: string;\n\n /**\n * Text to display on the clear search button.\n */\n @property({ type: String, attribute: \"popover-clear-search-text\", reflect: true })\n popoverClearSearchText?: string;\n\n /* Declare internal reactive properties */\n @state()\n private _isPopoverOpen = false;\n\n @state()\n private _additionalSelectedOptionCount = 0;\n\n @state()\n private _searchText = \"\";\n\n @query(\".selected-options\")\n private selectedOptionsContainer!: HTMLElement;\n\n @queryAll(\".selected-options li\")\n private selectedOptionsItems!: NodeListOf<HTMLElement>;\n\n @query(\".popover\")\n private _popover: HTMLElement;\n\n @query(\".select-input\")\n private _selectInput: HTMLElement;\n\n /**\n * Fires when selection changes\n */\n @event(\"bl-select\") private _onBlSelect: EventDispatcher<\n ISelectOption<ValueType>[] | ISelectOption<ValueType>\n >;\n\n /**\n * Fires when search text changes\n */\n @event(\"bl-search\") private _onBlSearch: EventDispatcher<string>;\n\n private userLang =\n (document.querySelector(\"html\")?.getAttribute(\"lang\") as LangKey | null) || navigator.language;\n\n private _connectedOptions: BlSelectOption<ValueType>[] = [];\n\n private _cleanUpPopover: CleanUpFunction | null = null;\n\n private setOptionsSelected() {\n this._connectedOptions.forEach(\n option =>\n (option.selected =\n this.value === option.value ||\n (Array.isArray(this.value) && this.value.includes(option.value)))\n );\n\n this._selectedOptions = [...this.options.filter(option => option.selected)];\n }\n\n get options() {\n return this._connectedOptions;\n }\n\n get opened() {\n return this._isPopoverOpen;\n }\n\n get noResultFound() {\n return this._searchText !== \"\" && this._connectedOptions.every(option => option.hidden);\n }\n\n @state()\n private _selectedOptions: BlSelectOption<ValueType>[] = [];\n\n @state()\n private dirty = false;\n\n get selectedOptions(): BlSelectOption<ValueType>[] {\n return this._selectedOptions;\n }\n\n get additionalSelectedOptionCount() {\n return this._additionalSelectedOptionCount;\n }\n\n validityCallback(): string | void {\n if (this.customInvalidText) {\n return this.customInvalidText;\n }\n const select = document.createElement(\"select\");\n\n select.required = this.required;\n\n return select.validationMessage;\n }\n\n reportValidity() {\n this.dirty = true;\n return this.checkValidity();\n }\n\n resetFormControl(): void {\n this.value = this._initialValue;\n }\n\n @query(\".select-input\")\n validationTarget: HTMLElement;\n\n open() {\n if (this.searchBar) {\n setTimeout(() => {\n document.activeElement?.shadowRoot?.querySelector(\"input\")?.focus();\n }, 100);\n }\n\n this._isPopoverOpen = true;\n this._setupPopover();\n document.addEventListener(\"click\", this._interactOutsideHandler, true);\n document.addEventListener(\"focus\", this._interactOutsideHandler, true);\n }\n\n close() {\n this._handleSearchOptions({ target: { value: \"\" } } as InputEvent & {\n target: HTMLInputElement;\n });\n\n this._isPopoverOpen = false;\n this.focusedOptionIndex = -1;\n this._cleanUpPopover && this._cleanUpPopover();\n document.removeEventListener(\"click\", this._interactOutsideHandler, true);\n document.removeEventListener(\"focus\", this._interactOutsideHandler, true);\n }\n\n private _interactOutsideHandler = (event: MouseEvent | FocusEvent) => {\n const eventPath = event.composedPath() as HTMLElement[];\n\n if (!eventPath?.find(el => el.tagName === \"BL-SELECT\")?.contains(this)) {\n this.close();\n }\n };\n\n private _setupPopover() {\n this._cleanUpPopover = autoUpdate(this._selectInput, this._popover, () => {\n computePosition(this._selectInput, this._popover, {\n placement: \"bottom\",\n strategy: \"fixed\",\n middleware: [\n flip(),\n offset(8),\n size({\n apply(args: MiddlewareState) {\n Object.assign(args.elements.floating.style, {\n width: `${args.elements.reference.getBoundingClientRect().width}px`,\n });\n },\n }),\n ],\n }).then(({ x, y }) => {\n this._popover.style.setProperty(\"--left\", `${x}px`);\n this._popover.style.setProperty(\"--top\", `${y}px`);\n });\n });\n }\n\n private _handleToggleButtonClick(e: MouseEvent) {\n e.stopPropagation();\n this._togglePopover();\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.form?.addEventListener(\"submit\", (e: SubmitEvent) => {\n if (!this.reportValidity()) {\n e.preventDefault();\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this._cleanUpPopover && this._cleanUpPopover();\n }\n\n private inputTemplate() {\n const inputSelectedOptions = html`<ul class=\"selected-options\">\n ${this._selectedOptions.map(\n item => html`<li>${item.getAttribute(\"label\") || item.textContent}</li>`\n )}\n </ul>`;\n\n const isAllSelectedDisabled =\n this._selectedOptions.length > 0 && this._selectedOptions.every(option => option.disabled);\n const isRemoveButtonShown = !isAllSelectedDisabled && (this.clearable || this.multiple);\n const removeButton = isRemoveButtonShown\n ? html`<bl-button\n class=\"remove-all\"\n size=\"small\"\n variant=\"tertiary\"\n kind=\"neutral\"\n icon=\"close\"\n @click=${this._onClickRemove}\n ></bl-button>`\n : \"\";\n\n const isSearchBarVisible = this.searchBar && this.opened;\n const hasSelectedOptions = this._selectedOptions.length > 0;\n\n const isDividerShown = isSearchBarVisible || (hasSelectedOptions && isRemoveButtonShown);\n\n const searchbarPlaceholderText =\n this.searchBarPlaceholder ?? msg(\"Search\", { desc: \"bl-select: search placeholder text\" });\n\n const searchMagIcon = html`<bl-icon\n class=\"search-mag-icon\"\n name=\"search\"\n style=\"color: var(--bl-color-primary);font-size: var(--bl-font-size-s)\"\n ></bl-icon>`;\n\n const searchSpinner = html`<bl-spinner class=\"search-spinner\"></bl-spinner>`;\n\n const actionDivider = isDividerShown ? html`<div class=\"action-divider\"></div>` : \"\";\n\n const search = html`<fieldset\n class=${classMap({\n \"select-input\": true,\n \"has-overflowed-options\": this._additionalSelectedOptionCount > 0,\n })}\n tabindex=\"${this.disabled ? \"-1\" : 0}\"\n .autofocus=${this.autofocus}\n role=\"button\"\n aria-haspopup=\"listbox\"\n aria-expanded=\"${this.opened}\"\n aria-labelledby=\"label\"\n @click=${this.open}\n >\n <legend><span>${this.label}</span></legend>\n\n ${this._selectedOptions.length > 0 && !this.opened\n ? inputSelectedOptions\n : html`\n <input\n class=\"search-bar-input\"\n placeholder=${this.opened || this.labelFixed\n ? searchbarPlaceholderText\n : this.label || searchbarPlaceholderText}\n @input=${this._handleSearchOptions}\n @keydown=${(e: KeyboardEvent) => {\n if (e.code === \"Space\") {\n e.stopPropagation();\n }\n }}\n .value=${this._searchText}\n />\n `}\n ${!this.opened\n ? html`<span class=\"additional-selection-count\"\n >+${this._additionalSelectedOptionCount}</span\n >`\n : \"\"}\n\n <div class=\"actions\">\n ${this.opened ? (this.searchBarLoadingState ? searchSpinner : searchMagIcon) : \"\"}\n ${!this.opened ? removeButton : \"\"} ${actionDivider}\n <bl-button\n class=\"dropdown-icon open\"\n variant=\"tertiary\"\n kind=\"neutral\"\n size=\"small\"\n icon=\"arrow_up\"\n @click=${this._handleToggleButtonClick}\n aria-label=\"${msg(\"Close dropdown\", { desc: \"bl-select: close dropdown button\" })}\"\n ></bl-button>\n <bl-button\n class=\"closed dropdown-icon\"\n variant=\"tertiary\"\n kind=\"neutral\"\n size=\"small\"\n icon=\"arrow_down\"\n @click=${this._handleToggleButtonClick}\n aria-label=\"${msg(\"Open dropdown\", { desc: \"bl-select: open dropdown button\" })}\"\n ></bl-button>\n </div>\n </fieldset>`;\n\n return this.searchBar\n ? search\n : html`<fieldset\n class=${classMap({\n \"select-input\": true,\n \"has-overflowed-options\": this._additionalSelectedOptionCount > 0,\n })}\n tabindex=\"${ifDefined(this.disabled ? undefined : 0)}\"\n ?autofocus=${this.autofocus}\n @click=${this._togglePopover}\n role=\"button\"\n aria-haspopup=\"listbox\"\n aria-expanded=\"${this.opened}\"\n aria-labelledby=\"label\"\n >\n <legend><span>${this.label}</span></legend>\n <span class=\"placeholder\">${this.placeholder}</span>\n <span class=\"label\">${this.label}</span>\n ${inputSelectedOptions}\n <span class=\"additional-selection-count\">+${this._additionalSelectedOptionCount}</span>\n <div class=\"actions\">\n ${removeButton} ${actionDivider}\n <bl-icon class=\"dropdown-icon open\" name=\"arrow_up\"></bl-icon>\n\n <bl-icon class=\"dropdown-icon closed\" name=\"arrow_down\"></bl-icon>\n </div>\n </fieldset>`;\n }\n\n selectAllTemplate() {\n if (!this.multiple || !this.viewSelectAll || this.noResultFound) {\n return null;\n }\n\n const isAllRenderedOptionsSelected = this._connectedOptions\n .filter(option => !option.hidden)\n .every(option => option.selected);\n\n const isAnySelected = this._selectedOptions.filter(option => !option.hidden).length > 0;\n const selectAllText =\n this.selectAllText ?? msg(\"Select All\", { desc: \"bl-select: select all text\" });\n\n return html`<bl-checkbox\n class=\"select-all\"\n .checked=\"${isAllRenderedOptionsSelected}\"\n .indeterminate=\"${isAnySelected && !isAllRenderedOptionsSelected}\"\n role=\"option\"\n aria-selected=\"${isAllRenderedOptionsSelected}\"\n @bl-checkbox-change=\"${this._handleSelectAll}\"\n >\n ${selectAllText}\n </bl-checkbox>`;\n }\n\n render(): TemplateResult {\n const invalidMessage = !this.checkValidity()\n ? html`<p id=\"errorMessage\" aria-live=\"polite\" class=\"invalid-text\">\n ${this.validationMessage}\n </p>`\n : \"\";\n\n const helpMessage = this.helpText ? html`<p class=\"help-text\">${this.helpText}</p>` : \"\";\n\n const label = this.label ? html`<label id=\"label\">${this.label}</label>` : \"\";\n\n const noDataText =\n this.searchNotFoundText ?? msg(\"No Data Found\", { desc: \"bl-select: search no data text\" });\n\n const clearSearchText =\n this.popoverClearSearchText ??\n msg(\"Clear Search\", { desc: \"bl-select: clear search button text\" });\n\n return html`<div\n class=${classMap({\n \"select-wrapper\": true,\n \"select-open\": this.opened,\n \"selected\": this._selectedOptions.length > 0,\n \"invalid\": !this.validity.valid,\n \"dirty\": this.dirty,\n })}\n @keydown=${this.handleKeydown}\n >\n ${label} ${this.inputTemplate()}\n <div\n class=\"popover\"\n tabindex=\"${ifDefined(this._isPopoverOpen ? undefined : \"-1\")}\"\n @bl-select-option=${this._handleSelectOptionEvent}\n role=\"listbox\"\n aria-multiselectable=\"${this.multiple}\"\n aria-labelledby=\"label\"\n >\n ${this.selectAllTemplate()}\n <slot></slot>\n ${this.searchBar && this.noResultFound\n ? html`<div name=\"popover-clear-search-text\" class=\"popover-no-result\">\n <span>${noDataText}</span>\n <bl-button\n variant=\"tertiary\"\n @click=${() => {\n this._handleSearchOptions({ target: { value: \"\" } } as InputEvent & {\n target: HTMLInputElement;\n });\n }}\n >${clearSearchText}</bl-button\n >\n </div>`\n : \"\"}\n </div>\n <div class=\"hint\">${invalidMessage} ${helpMessage}</div>\n </div> `;\n }\n\n private focusedOptionIndex = -1;\n private lastKeyPressedTime = 0;\n private typedCharacters = \"\";\n private keyPressThreshold = 500;\n\n private handleFocusOptionByKey(key: string) {\n const currentTime = Date.now();\n const elapsedTimeSinceLastKeyPress = currentTime - this.lastKeyPressedTime;\n\n if (elapsedTimeSinceLastKeyPress > this.keyPressThreshold) {\n this.typedCharacters = \"\";\n }\n\n this.lastKeyPressedTime = currentTime;\n this.typedCharacters += key.toLowerCase();\n\n const matchingOptionIndex = this.options.findIndex(option => {\n if (option.disabled) {\n return false;\n }\n const optionText = option.innerText.trim().toLowerCase();\n\n return optionText.startsWith(this.typedCharacters);\n });\n\n if (matchingOptionIndex !== -1) {\n this.focusedOptionIndex = matchingOptionIndex;\n this.options[matchingOptionIndex].focus();\n }\n }\n\n private handleKeydown(event: KeyboardEvent) {\n if (this.focusedOptionIndex === -1 && [\"Enter\", \"Space\"].includes(event.code)) {\n this._togglePopover();\n event.preventDefault();\n } else if (this._isPopoverOpen === false && [\"ArrowDown\", \"ArrowUp\"].includes(event.code)) {\n this.open();\n event.preventDefault();\n } else if (event.code === \"Escape\") {\n this.close();\n event.preventDefault();\n } else if (this._isPopoverOpen && [\"ArrowDown\", \"ArrowUp\"].includes(event.code)) {\n const activeOptions = this.options.filter(option => !option.disabled);\n\n event.code === \"ArrowDown\" && this.focusedOptionIndex++;\n event.code === \"ArrowUp\" && this.focusedOptionIndex--;\n\n // Don't exceed array indexes\n this.focusedOptionIndex = Math.max(\n 0,\n Math.min(this.focusedOptionIndex, activeOptions.length - 1)\n );\n\n activeOptions[this.focusedOptionIndex].focus();\n\n event.preventDefault();\n } else if (this._isPopoverOpen && !this.searchBar) {\n this.handleFocusOptionByKey(event.key);\n }\n }\n\n private _togglePopover() {\n this._isPopoverOpen ? this.close() : this.open();\n }\n\n private _handleSelectEvent() {\n const options = this._selectedOptions.map(\n option =>\n ({\n value: option.value,\n selected: option.selected,\n text: option.textContent,\n } as ISelectOption<ValueType>)\n );\n\n if (!this.multiple) this._onBlSelect(options[0]);\n else this._onBlSelect(options);\n }\n\n private _handleSearchEvent() {\n this._onBlSearch(this._searchText);\n }\n\n private _handleSearchOptions(e: InputEvent): void {\n if (!this.searchBar) return;\n\n this._searchText = (e.target as HTMLInputElement).value;\n\n this._handleSearchEvent();\n\n this._connectedOptions.forEach(option => {\n const searchText = this._searchText.toLowerCase();\n let optionText = \"\";\n\n if (option.textContent) {\n try {\n // Try locale-specific comparison first\n optionText = option.textContent.toLocaleLowerCase(this.userLang);\n } catch {\n // Fallback to basic toLowerCase if locale is not supported\n optionText = option.textContent.toLowerCase();\n }\n }\n\n const isVisible = optionText.includes(searchText);\n\n option.hidden = !isVisible;\n });\n\n this._selectedOptions = this.options.filter(option => option.selected);\n this._handleLastVisibleSearchedOption();\n this.requestUpdate();\n }\n\n private _handleLastVisibleSearchedOption() {\n const lastVisibleOption = [...this.options].reverse().find(option => !option.hidden);\n\n if (lastVisibleOption) {\n lastVisibleOption?.shadowRoot?.querySelector(\"div\")?.classList.add(\"no-border-bottom\");\n }\n\n this.options.map(option => {\n if (!option.hidden && option !== lastVisibleOption) {\n option.shadowRoot?.querySelector(\"div\")?.classList.remove(\"no-border-bottom\");\n }\n });\n }\n\n private _handleSingleSelect(optionItem: BlSelectOption<ValueType>) {\n this.value = optionItem.value;\n\n this._searchText = \"\";\n this._handleSelectEvent();\n this.close();\n }\n\n private _handleMultipleSelect() {\n this.value = this._connectedOptions\n .filter(option => option.selected)\n .map(option => option.value);\n\n this._handleSelectEvent();\n }\n\n private _handleSelectOptionEvent(e: CustomEvent) {\n const optionItem = e.target as BlSelectOption<ValueType>;\n\n this.dirty = true;\n\n if (this.multiple) {\n this._handleMultipleSelect();\n } else {\n this._handleSingleSelect(optionItem);\n }\n }\n\n private _handleSelectAll(e: CustomEvent) {\n const selectAllEl = this.shadowRoot?.querySelector(\".select-all\") as BlCheckbox;\n\n const checked = e.detail;\n const unselectedOptions = this._connectedOptions.filter(\n option => !option.selected && !option.hidden\n );\n const isAllUnselectedDisabled = unselectedOptions.every(option => option.disabled);\n\n // If all available options are selected, instead of checking, uncheck all options\n if (checked && isAllUnselectedDisabled) {\n setTimeout(() => {\n const checkbox = selectAllEl?.shadowRoot?.querySelector(\"input\");\n\n checkbox?.click();\n }, 0);\n return;\n }\n\n this._connectedOptions.forEach(option => {\n if (option.disabled || option.hidden) {\n return;\n }\n\n option.selected = checked;\n });\n\n this._handleMultipleSelect();\n }\n\n private _onClickRemove(e: MouseEvent) {\n e.stopPropagation();\n\n this._searchText = \"\";\n\n const selectedDisabledOptions = this._selectedOptions.filter(option => option.disabled);\n\n this._connectedOptions\n .filter(option => !option.disabled && option.selected)\n .forEach(option => {\n option.selected = false;\n });\n\n this.value = selectedDisabledOptions.length\n ? selectedDisabledOptions.map(option => option.value)\n : null;\n this._handleSelectEvent();\n }\n\n private _checkAdditionalItemCount() {\n if (!this.multiple || !this.selectedOptionsItems || this.selectedOptionsItems.length < 2) {\n this._additionalSelectedOptionCount = 0;\n return;\n }\n\n const firstNonVisibleItemIndex = [...this.selectedOptionsItems].findIndex(\n item => item.offsetLeft > this.selectedOptionsContainer.offsetWidth\n );\n\n if (firstNonVisibleItemIndex > -1) {\n this._additionalSelectedOptionCount =\n this.selectedOptionsItems.length - firstNonVisibleItemIndex;\n } else {\n this._additionalSelectedOptionCount = 0;\n }\n }\n\n protected firstUpdated(): void {\n if (this.value === undefined) {\n if (this.multiple) {\n this.value = [];\n } else {\n this.value = null;\n }\n }\n\n this._initialValue = this._value;\n }\n\n protected updated(_changedProperties: PropertyValues) {\n if (\n _changedProperties.has(\"multiple\") &&\n typeof _changedProperties.get(\"multiple\") === \"boolean\"\n ) {\n this.value = null;\n }\n\n if (_changedProperties.has(\"_selectedOptions\")) {\n this._checkAdditionalItemCount();\n }\n }\n\n /**\n * This method is used by `bl-select-option` component to register itself to bl-select.\n * @param option BlSelectOption reference to be registered\n */\n registerOption(option: BlSelectOption<ValueType>) {\n this._connectedOptions.push(option);\n\n if (option.selected) {\n if (this.multiple) {\n if (!Array.isArray(this.value)) {\n this.value = [];\n }\n this.value = [...this.value, option.value];\n } else {\n this.value = option.value;\n }\n }\n\n this.setOptionsSelected();\n this.requestUpdate();\n }\n\n /**\n * This method is used by `bl-select-option` component to unregister itself from bl-select.\n * @param option BlSelectOption reference to be unregistered\n */\n unregisterOption(option: BlSelectOption<ValueType>) {\n this._connectedOptions.splice(this._connectedOptions.indexOf(option), 1);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-select\": BlSelect;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["styles", "i", "bl_select_default", "_a", "BlSelect", "FormControlMixin", "s", "event", "eventPath", "el", "bl_select_default", "val", "formData", "option", "select", "_b", "_c", "autoUpdate", "computePosition", "flip", "offset", "size", "args", "x", "y", "e", "inputSelectedOptions", "item", "isRemoveButtonShown", "removeButton", "isSearchBarVisible", "hasSelectedOptions", "isDividerShown", "searchbarPlaceholderText", "msg", "searchMagIcon", "searchSpinner", "actionDivider", "search", "o", "l", "isAllRenderedOptionsSelected", "isAnySelected", "selectAllText", "invalidMessage", "helpMessage", "label", "noDataText", "clearSearchText", "key", "currentTime", "matchingOptionIndex", "activeOptions", "options", "searchText", "optionText", "isVisible", "lastVisibleOption", "optionItem", "selectAllEl", "checked", "isAllUnselectedDisabled", "checkbox", "selectedDisabledOptions", "firstNonVisibleItemIndex", "_changedProperties", "requiredValidator", "__decorateClass", "stringBooleanConverter", "t", "i", "localized"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/datepicker/bl-datepicker.css", "../src/components/datepicker/bl-datepicker.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{width:314px;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);width:100%;position:relative;display:grid}.datepicker-input{width:var(--bl-datepicker-input-width,auto);white-space:nowrap;text-overflow:ellipsis}.icon-container{display:flex;gap:var(--bl-size-3xs);align-items:center}.calendar-icon{display:flex;align-items:center;gap:var(--icon-gap);flex-basis:var(--icon-size);align-self:center;margin-right:var(--label-padding);font-size:var(--icon-size);color:var(--icon-color);height:var(--icon-size)}.action-divider{display:block;height:var(--bl-size-m);width:1px;background-color:var(--bl-color-neutral-lighter);margin-right:var(--bl-size-3xs)}bl-popover{--bl-popover-padding:0;--bl-popover-background-color:transparent}`;\nexport default styles;\n", "import { CSSResultGroup, html, TemplateResult } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { BlCalendar, BlPopover } from \"../../baklava\";\nimport DatepickerCalendarMixin from \"../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../calendar/bl-calendar\";\nimport { CALENDAR_TYPES } from \"../calendar/bl-calendar.constant\";\nimport \"../input/bl-input\";\nimport BlInput, { InputSize } from \"../input/bl-input\";\nimport \"../tooltip/bl-tooltip\";\nimport style from \"./bl-datepicker.css\";\n\n/**\n * @tag bl-datepicker\n * @summary Baklava DatePicker component\n *\n * @cssproperty [--bl-datepicker-input-width] - Sets the width of datepicker input\n **/\n@customElement(\"bl-datepicker\")\nexport default class BlDatepicker extends DatepickerCalendarMixin {\n /**\n * Defines the datepicker input placeholder\n */\n @property({ type: String, attribute: \"placeholder\", reflect: true })\n placeholder: string;\n /**\n * Sets input size.\n */\n @property({ type: String, reflect: true })\n size?: InputSize = \"medium\";\n\n /**\n * Makes datepicker input label as fixed positioned\n */\n @property({ type: Boolean, attribute: \"label-fixed\", reflect: true })\n labelFixed = false;\n /**\n * Defines the datepicker input label\n */\n @property({ type: String, attribute: \"label\", reflect: true })\n label: string;\n /**\n * Defines the custom formatter function\n */\n @property({ type: Function, attribute: \"value-formatter\" })\n valueFormatter: ((dates: Date[]) => string) | null = null;\n /**\n * Sets datepicker to disabled\n */\n @property({ type: Boolean })\n disabled: boolean;\n /**\n * Defines help text to datepicker input for users\n */\n @property({ type: String, attribute: \"help-text\", reflect: true })\n helpText: string;\n\n /**\n * Custom function to render day cells in the calendar.\n * It receives the date as an argument and should return a TemplateResult.\n */\n @property({ attribute: false })\n dayRenderer?: (date: Date) => TemplateResult;\n\n @state()\n _inputValue = \"\";\n\n @state()\n _floatingDateCount: number = 0;\n\n @state()\n _fittingDateCount: number = 0;\n\n @query(\"bl-calendar\")\n _calendarEl: BlCalendar;\n\n @query(\"bl-popover\")\n _popoverEl: BlPopover;\n\n @query(\"bl-input\")\n _inputEl!: BlInput;\n\n private _onCalendarMouseDown!: (event: MouseEvent) => void;\n private _onInputMouseDown!: (event: MouseEvent) => void;\n\n /**\n * Fires when date selection is changed\n */\n @event(\"bl-datepicker-change\") private _onBlDatepickerChange: EventDispatcher<Date[]>;\n\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n defaultInputValueFormatter() {\n if (this.type === CALENDAR_TYPES.SINGLE) {\n this._inputValue = this.formatDate(this._calendarEl?._dates[0]);\n this.closePopoverWithTimeout();\n } else if (this.type === CALENDAR_TYPES.MULTIPLE) {\n this.setFloatingDates();\n const values = this._calendarEl?._dates\n .slice(0, this._fittingDateCount)\n .map(date => this.formatDate(date));\n\n this._inputValue = values.join(\",\") + (this._floatingDateCount > 0 ? \" ,...\" : \"\");\n } else if (this.type === CALENDAR_TYPES.RANGE) {\n if (this._calendarEl?._dates[0])\n this._inputValue = this.formatDate(this._calendarEl?._dates[0]);\n if (this._calendarEl?._dates[1])\n this._inputValue = `${this._inputValue}-${this.formatDate(this._calendarEl?._dates[1])}`;\n if (this._calendarEl?._dates[0] && this._calendarEl?._dates[1])\n this.closePopoverWithTimeout();\n }\n }\n\n closePopoverWithTimeout() {\n setTimeout(() => {\n this.closePopover();\n this._inputEl.blur();\n }, 200);\n }\n\n setFloatingDates() {\n const datepickerInput = this.shadowRoot?.getElementById(\"datepicker-input\");\n const iconsContainer = this.shadowRoot?.getElementById(\"icon-container\");\n const datesTextTotalWidth = datepickerInput!.offsetWidth! - iconsContainer!.offsetWidth!;\n\n this._fittingDateCount = Math.floor(datesTextTotalWidth / 90);\n\n this._floatingDateCount = this._calendarEl?._dates.length - this._fittingDateCount;\n }\n\n setDatePickerInput() {\n if (!this._calendarEl?._dates.length) {\n this._inputValue = \"\";\n } else {\n if (this.valueFormatter) {\n this._inputValue = this.valueFormatter(this._calendarEl?._dates);\n } else {\n this.defaultInputValueFormatter();\n }\n }\n }\n\n formatDate(date: Date): string {\n return `${String(date?.getDate()).padStart(2, \"0\")}/${String(date?.getMonth() + 1).padStart(\n 2,\n \"0\"\n )}/${date?.getFullYear()}`;\n }\n\n clearDatepicker() {\n this._calendarEl.handleClearSelectedDates();\n this._inputValue = \"\";\n this._floatingDateCount = 0;\n }\n\n openPopover() {\n this._popoverEl.target = this._inputEl;\n this._popoverEl.show();\n }\n\n closePopover() {\n this._popoverEl.hide();\n }\n\n _togglePopover() {\n this._popoverEl.visible ? this.closePopover() : this.openPopover();\n }\n\n formatAdditionalDates(str: string): TemplateResult[] {\n const parts = str.split(\",\");\n\n return parts?.reduce<TemplateResult[]>((acc, part, index) => {\n if (index > 0 && index % 3 === 0) {\n acc.push(html`<br />`);\n }\n acc.push(html`<span>${part.trim()}${index < parts.length - 1 ? \", \" : \"\"}</span>`);\n return acc;\n }, []);\n }\n\n async firstUpdated() {\n this._onCalendarMouseDown = event => {\n event.preventDefault();\n this._inputEl?.focus();\n };\n\n this._onInputMouseDown = event => {\n event.preventDefault();\n this._inputEl?.focus();\n };\n\n this._calendarEl?.addEventListener(\"mousedown\", this._onCalendarMouseDown);\n this._inputEl?.addEventListener(\"mousedown\", this._onInputMouseDown);\n\n if (this._calendarEl?._dates) {\n this.setDatePickerInput();\n }\n }\n\n onCalendarChange() {\n this.setDatePickerInput();\n this._onBlDatepickerChange(this._calendarEl?._dates);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._calendarEl?.removeEventListener(\"mousedown\", this._onCalendarMouseDown);\n this._inputEl?.removeEventListener(\"mousedown\", this._onInputMouseDown);\n }\n\n render() {\n const renderCalendar = html`\n <bl-popover target=\"datepicker-content\" placement=\"bottom-start\">\n <bl-calendar\n type=${this.type}\n .minDate=${this.minDate}\n .maxDate=${this.maxDate}\n .startOfWeek=${this.startOfWeek}\n .disabledDates=${this.disabledDates}\n .value=${this.value}\n .locale=${this.locale}\n .dayRenderer=${this.dayRenderer}\n @bl-calendar-change=\"${this.onCalendarChange}\"\n ></bl-calendar>\n </bl-popover>\n `;\n const additionalDates =\n this._calendarEl?._dates\n ?.slice(this._fittingDateCount)\n .map(date => {\n return this.formatDate(date);\n })\n .join(\",\") ?? \"\";\n\n const formattedAdditionalDates = this.formatAdditionalDates(additionalDates);\n\n const additionalDatesView =\n this._floatingDateCount > 0\n ? html` <bl-tooltip>\n <span slot=\"tooltip-trigger\">+${this._floatingDateCount}</span>\n <div>${formattedAdditionalDates}</div>\n </bl-tooltip>`\n : \"\";\n\n const clearDatepickerButton =\n this._calendarEl?._dates.length > 0\n ? html` <bl-button\n size=\"small\"\n variant=\"tertiary\"\n kind=\"neutral\"\n icon=\"close\"\n @click=${this.clearDatepicker}\n ?disabled=${this.disabled}\n ></bl-button>\n <div class=\"action-divider\"></div>`\n : \"\";\n\n return html`\n <div class=\"datepicker-content\" id=\"datepicker-content\" tabindex=\"-1\">\n <bl-input\n .value=\"${this._inputValue}\"\n .label=\"${this.label}\"\n placeholder=\"${this.placeholder}\"\n class=\"datepicker-input\"\n role=\"button\"\n id=\"datepicker-input\"\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n @click=${this._togglePopover}\n help-text=${this.helpText}\n ?disabled=${this.disabled}\n .size=${this.size}\n .labelFixed=${this.labelFixed}\n readonly\n >\n <div slot=\"icon\" class=\"icon-container\" id=\"icon-container\">\n ${additionalDatesView} ${clearDatepickerButton}\n <bl-icon name=\"calendar\" size=\"small\" class=\"calendar-icon\"></bl-icon>\n </div>\n </bl-input>\n ${renderCalendar}\n </div>\n `;\n }\n}\n"],
5
- "mappings": "+NACO,IAAMA,EAASC,gzBACfC,EAAQF,ECiBf,IAAqBG,EAArB,cAA0CC,CAAwB,CAAlE,kCAUE,UAAmB,SAMnB,gBAAa,GAUb,oBAAqD,KAoBrD,iBAAc,GAGd,wBAA6B,EAG7B,uBAA4B,EAmB5B,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CAEA,4BAA6B,CA9F/B,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EA+FI,GAAI,KAAK,gBACP,KAAK,YAAc,KAAK,YAAWP,EAAA,KAAK,cAAL,YAAAA,EAAkB,OAAO,EAAE,EAC9D,KAAK,wBAAwB,UACpB,KAAK,kBAAkC,CAChD,KAAK,iBAAiB,EACtB,IAAMQ,GAASP,EAAA,KAAK,cAAL,YAAAA,EAAkB,OAC9B,MAAM,EAAG,KAAK,mBACd,IAAIQ,GAAQ,KAAK,WAAWA,CAAI,GAEnC,KAAK,YAAcD,EAAO,KAAK,GAAG,GAAK,KAAK,mBAAqB,EAAI,QAAU,SACtE,KAAK,kBACVN,EAAA,KAAK,cAAL,MAAAA,EAAkB,OAAO,KAC3B,KAAK,YAAc,KAAK,YAAWC,EAAA,KAAK,cAAL,YAAAA,EAAkB,OAAO,EAAE,IAC5DC,EAAA,KAAK,cAAL,MAAAA,EAAkB,OAAO,KAC3B,KAAK,YAAc,GAAG,KAAK,eAAe,KAAK,YAAWC,EAAA,KAAK,cAAL,YAAAA,EAAkB,OAAO,EAAE,MACnFC,EAAA,KAAK,cAAL,MAAAA,EAAkB,OAAO,MAAMC,EAAA,KAAK,cAAL,MAAAA,EAAkB,OAAO,KAC1D,KAAK,wBAAwB,EAEnC,CAEA,yBAA0B,CACxB,WAAW,IAAM,CACf,KAAK,aAAa,EAClB,KAAK,SAAS,KAAK,CACrB,EAAG,GAAG,CACR,CAEA,kBAAmB,CA1HrB,IAAAP,EAAAC,EAAAC,EA2HI,IAAMQ,GAAkBV,EAAA,KAAK,aAAL,YAAAA,EAAiB,eAAe,oBAClDW,GAAiBV,EAAA,KAAK,aAAL,YAAAA,EAAiB,eAAe,kBACjDW,EAAsBF,EAAiB,YAAeC,EAAgB,YAE5E,KAAK,kBAAoB,KAAK,MAAMC,EAAsB,EAAE,EAE5D,KAAK,qBAAqBV,EAAA,KAAK,cAAL,YAAAA,EAAkB,OAAO,QAAS,KAAK,iBACnE,CAEA,oBAAqB,CApIvB,IAAAF,EAAAC,GAqISD,EAAA,KAAK,cAAL,MAAAA,EAAkB,OAAO,OAGxB,KAAK,eACP,KAAK,YAAc,KAAK,gBAAeC,EAAA,KAAK,cAAL,YAAAA,EAAkB,MAAM,EAE/D,KAAK,2BAA2B,EALlC,KAAK,YAAc,EAQvB,CAEA,WAAWQ,EAAoB,CAC7B,MAAO,GAAG,OAAOA,GAAA,YAAAA,EAAM,SAAS,EAAE,SAAS,EAAG,GAAG,KAAK,QAAOA,GAAA,YAAAA,EAAM,YAAa,CAAC,EAAE,SACjF,EACA,GACF,KAAKA,GAAA,YAAAA,EAAM,eACb,CAEA,iBAAkB,CAChB,KAAK,YAAY,yBAAyB,EAC1C,KAAK,YAAc,GACnB,KAAK,mBAAqB,CAC5B,CAEA,aAAc,CACZ,KAAK,WAAW,OAAS,KAAK,SAC9B,KAAK,WAAW,KAAK,CACvB,CAEA,cAAe,CACb,KAAK,WAAW,KAAK,CACvB,CAEA,gBAAiB,CACf,KAAK,WAAW,QAAU,KAAK,aAAa,EAAI,KAAK,YAAY,CACnE,CAEA,sBAAsBI,EAA+B,CACnD,IAAMC,EAAQD,EAAI,MAAM,GAAG,EAE3B,OAAOC,GAAA,YAAAA,EAAO,OAAyB,CAACC,EAAKC,EAAMC,KAC7CA,EAAQ,GAAKA,EAAQ,IAAM,GAC7BF,EAAI,KAAKG,SAAY,EAEvBH,EAAI,KAAKG,UAAaF,EAAK,KAAK,IAAIC,EAAQH,EAAM,OAAS,EAAI,KAAO,WAAW,EAC1EC,GACN,CAAC,EACN,CAEA,MAAM,cAAe,CAtLvB,IAAAf,EAAAC,EAAAC,EAuLI,KAAK,qBAAuBiB,GAAS,CAvLzC,IAAAnB,EAwLMmB,EAAM,eAAe,GACrBnB,EAAA,KAAK,WAAL,MAAAA,EAAe,OACjB,EAEA,KAAK,kBAAoBmB,GAAS,CA5LtC,IAAAnB,EA6LMmB,EAAM,eAAe,GACrBnB,EAAA,KAAK,WAAL,MAAAA,EAAe,OACjB,GAEAA,EAAA,KAAK,cAAL,MAAAA,EAAkB,iBAAiB,YAAa,KAAK,uBACrDC,EAAA,KAAK,WAAL,MAAAA,EAAe,iBAAiB,YAAa,KAAK,oBAE9CC,EAAA,KAAK,cAAL,MAAAA,EAAkB,QACpB,KAAK,mBAAmB,CAE5B,CAEA,kBAAmB,CAzMrB,IAAAF,EA0MI,KAAK,mBAAmB,EACxB,KAAK,uBAAsBA,EAAA,KAAK,cAAL,YAAAA,EAAkB,MAAM,CACrD,CAEA,sBAAuB,CA9MzB,IAAAA,EAAAC,EA+MI,MAAM,qBAAqB,GAC3BD,EAAA,KAAK,cAAL,MAAAA,EAAkB,oBAAoB,YAAa,KAAK,uBACxDC,EAAA,KAAK,WAAL,MAAAA,EAAe,oBAAoB,YAAa,KAAK,kBACvD,CAEA,QAAS,CApNX,IAAAD,EAAAC,EAAAC,EAAAC,EAqNI,IAAMiB,EAAiBF;AAAA;AAAA;AAAA,iBAGV,KAAK;AAAA,qBACD,KAAK;AAAA,qBACL,KAAK;AAAA,yBACD,KAAK;AAAA,2BACH,KAAK;AAAA,mBACb,KAAK;AAAA,oBACJ,KAAK;AAAA,yBACA,KAAK;AAAA,iCACG,KAAK;AAAA;AAAA;AAAA,MAI5BG,GACJnB,GAAAD,GAAAD,EAAA,KAAK,cAAL,YAAAA,EAAkB,SAAlB,YAAAC,EACI,MAAM,KAAK,mBACZ,IAAIQ,GACI,KAAK,WAAWA,CAAI,GAE5B,KAAK,OALR,KAAAP,EAKgB,GAEZoB,EAA2B,KAAK,sBAAsBD,CAAe,EAErEE,EACJ,KAAK,mBAAqB,EACtBL;AAAA,4CACkC,KAAK;AAAA,mBAC9BI;AAAA,yBAET,GAEAE,IACJrB,EAAA,KAAK,cAAL,YAAAA,EAAkB,OAAO,QAAS,EAC9Be;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKa,KAAK;AAAA,0BACF,KAAK;AAAA;AAAA,gDAGrB,GAEN,OAAOA;AAAA;AAAA;AAAA,oBAGS,KAAK;AAAA,oBACL,KAAK;AAAA,yBACA,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAMX,KAAK;AAAA,sBACF,KAAK;AAAA,sBACL,KAAK;AAAA,kBACT,KAAK;AAAA,wBACC,KAAK;AAAA;AAAA;AAAA;AAAA,cAIfK,KAAuBC;AAAA;AAAA;AAAA;AAAA,UAI3BJ;AAAA;AAAA,KAGR,CACF,EAtQEK,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,QAAS,EAAK,CAAC,GAJhD7B,EAKnB,2BAKA4B,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GATtB7B,EAUnB,oBAMA4B,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,UAAW,cAAe,QAAS,EAAK,CAAC,GAfjD7B,EAgBnB,0BAKA4B,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,UAAW,QAAS,QAAS,EAAK,CAAC,GApB1C7B,EAqBnB,qBAKA4B,EAAA,CADCC,EAAS,CAAE,KAAM,SAAU,UAAW,iBAAkB,CAAC,GAzBvC7B,EA0BnB,8BAKA4B,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAC,GA9BR7B,EA+BnB,wBAKA4B,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,UAAW,YAAa,QAAS,EAAK,CAAC,GAnC9C7B,EAoCnB,wBAOA4B,EAAA,CADCC,EAAS,CAAE,UAAW,EAAM,CAAC,GA1CX7B,EA2CnB,2BAGA4B,EAAA,CADCE,EAAM,GA7CY9B,EA8CnB,2BAGA4B,EAAA,CADCE,EAAM,GAhDY9B,EAiDnB,kCAGA4B,EAAA,CADCE,EAAM,GAnDY9B,EAoDnB,iCAGA4B,EAAA,CADCG,EAAM,aAAa,GAtDD/B,EAuDnB,2BAGA4B,EAAA,CADCG,EAAM,YAAY,GAzDA/B,EA0DnB,0BAGA4B,EAAA,CADCG,EAAM,UAAU,GA5DE/B,EA6DnB,wBAQuC4B,EAAA,CAAtCN,EAAM,sBAAsB,GArEVtB,EAqEoB,qCArEpBA,EAArB4B,EAAA,CADCC,EAAc,eAAe,GACT7B",
6
- "names": ["styles", "i", "bl_datepicker_default", "BlDatepicker", "DatepickerCalendarMixin", "bl_datepicker_default", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "values", "date", "datepickerInput", "iconsContainer", "datesTextTotalWidth", "str", "parts", "acc", "part", "index", "x", "event", "renderCalendar", "additionalDates", "formattedAdditionalDates", "additionalDatesView", "clearDatepickerButton", "__decorateClass", "e", "t", "i"]
7
- }