hr-design-system-handlebars 0.54.1 → 0.55.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 (80) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/assets/index.css +156 -36
  3. package/dist/assets/js/views/base/autosuggest/autoSuggest.feature.js +108 -0
  4. package/dist/assets/js/views/components/base/menu/toggleClass.feature.js +229 -0
  5. package/dist/views/base/autosuggest/autoSuggest.feature.js +108 -0
  6. package/dist/views/components/base/menu/dropdown.hbs +73 -0
  7. package/dist/views/components/base/menu/o-dropdown.hbs +43 -0
  8. package/dist/views/components/base/menu/toggleClass.feature.js +229 -0
  9. package/dist/views/components/content_nav/content_nav.hbs +31 -0
  10. package/dist/views/components/content_nav/content_nav_item.hbs +28 -0
  11. package/dist/views/components/content_nav/content_nav_list.hbs +27 -0
  12. package/dist/views/components/site_header/header_alpine.js +3 -1
  13. package/dist/views/components/teaser/cluster/teaser_cluster.hbs +1 -1
  14. package/dist/views/components/teaser/cluster/teaser_cluster_item.hbs +5 -5
  15. package/dist/views/components/teaser/cluster/teaser_cluster_list.hbs +9 -43
  16. package/dist/views/components/teaser/components/teaser_heading.hbs +2 -2
  17. package/dist/views/components/teaser/components/teaser_title.hbs +2 -2
  18. package/dist/views/components/teaser/content_nav/teaser_content_nav.hbs +17 -0
  19. package/package.json +1 -1
  20. package/src/assets/fixtures/teaser/teaser_content_nav_dropdown_100.json +188 -0
  21. package/src/assets/fixtures/teaser/teaser_content_nav_dropdown_50.json +188 -0
  22. package/src/assets/fixtures/teaser/teaser_content_nav_dropdown_autosuggest_100.json +188 -0
  23. package/src/assets/fixtures/teaser/teaser_content_nav_dropdown_autosuggest_50.json +188 -0
  24. package/src/assets/fixtures/teaser/teaser_content_nav_list_100.json +182 -0
  25. package/src/assets/fixtures/teaser/teaser_content_nav_list_25.json +182 -0
  26. package/src/assets/fixtures/teaser/teaser_content_nav_list_33.json +182 -0
  27. package/src/assets/fixtures/teaser/teaser_content_nav_list_50.json +182 -0
  28. package/src/assets/fixtures/teaser/teaser_content_nav_list_66.json +182 -0
  29. package/src/assets/fixtures/teaser/teaser_content_nav_mixed_100.json +185 -0
  30. package/src/assets/fixtures/teaser/teaser_content_nav_mixed_25.json +185 -0
  31. package/src/assets/fixtures/teaser/teaser_content_nav_mixed_33.json +185 -0
  32. package/src/assets/fixtures/teaser/teaser_content_nav_mixed_50.json +185 -0
  33. package/src/assets/fixtures/teaser/teaser_content_nav_mixed_66.json +185 -0
  34. package/src/stories/views/base/autosuggest/autoSuggest.feature.js +108 -0
  35. package/src/stories/views/components/base/menu/dropdown.hbs +73 -0
  36. package/src/stories/views/components/base/menu/o-dropdown.hbs +43 -0
  37. package/src/stories/views/components/base/menu/toggleClass.feature.js +229 -0
  38. package/src/stories/views/components/content_nav/content_nav.hbs +31 -0
  39. package/src/stories/views/components/content_nav/content_nav_item.hbs +28 -0
  40. package/src/stories/views/components/content_nav/content_nav_list.hbs +27 -0
  41. package/src/stories/views/components/site_header/header_alpine.js +3 -1
  42. package/src/stories/views/components/teaser/cluster/teaser_cluster.hbs +1 -1
  43. package/src/stories/views/components/teaser/cluster/teaser_cluster_item.hbs +5 -5
  44. package/src/stories/views/components/teaser/cluster/teaser_cluster_list.hbs +9 -43
  45. package/src/stories/views/components/teaser/components/teaser_heading.hbs +2 -2
  46. package/src/stories/views/components/teaser/components/teaser_title.hbs +2 -2
  47. package/src/stories/views/components/teaser/content_nav/teaser_content_nav.hbs +17 -0
  48. package/src/stories/views/components/teaser/content_nav/teaser_content_nav.stories.mdx +129 -0
  49. package/src/stories/views/components/teaser/fixtures/cluster_teaser_100.json +1 -1
  50. package/src/stories/views/components/teaser/fixtures/cluster_teaser_100_genre.json +1 -1
  51. package/src/stories/views/components/teaser/fixtures/cluster_teaser_33.json +1 -1
  52. package/src/stories/views/components/teaser/fixtures/cluster_teaser_33_genre.json +1 -1
  53. package/src/stories/views/components/teaser/fixtures/cluster_teaser_50.json +1 -1
  54. package/src/stories/views/components/teaser/fixtures/cluster_teaser_50_genre.json +1 -1
  55. package/src/stories/views/components/teaser/fixtures/cluster_teaser_extern_100.json +1 -1
  56. package/src/stories/views/components/teaser/fixtures/cluster_teaser_extern_33.json +1 -1
  57. package/src/stories/views/components/teaser/fixtures/cluster_teaser_extern_50.json +1 -1
  58. package/src/stories/views/components/teaser/fixtures/cluster_teaser_ordered_100.json +1 -1
  59. package/src/stories/views/components/teaser/fixtures/cluster_teaser_ordered_33.json +1 -1
  60. package/src/stories/views/components/teaser/fixtures/cluster_teaser_ordered_50.json +1 -1
  61. package/src/stories/views/components/teaser/fixtures/teaser_cluster.json +1 -1
  62. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_dropdown_100.json +1 -0
  63. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_dropdown_50.json +1 -0
  64. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_dropdown_autosuggest100.json +1 -0
  65. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_dropdown_autosuggest_100.json +1 -0
  66. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_dropdown_autosuggest_50.json +1 -0
  67. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_list_100.json +1 -0
  68. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_list_25.json +1 -0
  69. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_list_33.json +1 -0
  70. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_list_50.json +1 -0
  71. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_list_66.json +1 -0
  72. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_mixed_100.json +1 -0
  73. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_mixed_25.json +1 -0
  74. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_mixed_33.json +1 -0
  75. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_mixed_50.json +1 -0
  76. package/src/stories/views/components/teaser/fixtures/teaser_content_nav_mixed_66.json +1 -0
  77. package/src/stories/views/components/teaser/fixtures/teaser_group_100_highlight.json +1 -1
  78. package/src/stories/views/components/teaser/fixtures/teaser_group_100_highlight_2.json +1 -1
  79. package/src/stories/views/components/teaser/fixtures/teaser_index.json +1 -4979
  80. package/tailwind.config.js +12 -6
package/CHANGELOG.md CHANGED
@@ -1,3 +1,41 @@
1
+ # v0.55.0 (Fri Aug 19 2022)
2
+
3
+ #### 🚀 Enhancement
4
+
5
+ - Dpe 1689 teaser content navi [#301](https://github.com/mumprod/hr-design-system-handlebars/pull/301) ([@StefanVesper](https://github.com/StefanVesper))
6
+
7
+ #### Authors: 1
8
+
9
+ - SonicSoulSurfer ([@StefanVesper](https://github.com/StefanVesper))
10
+
11
+ ---
12
+
13
+ # v0.54.3 (Fri Aug 19 2022)
14
+
15
+ #### 🐛 Bug Fix
16
+
17
+ - Dpe 1656 [#299](https://github.com/mumprod/hr-design-system-handlebars/pull/299) (zouhair1 [@selbaciri](https://github.com/selbaciri))
18
+
19
+ #### Authors: 2
20
+
21
+ - Saad El Baciri ([@selbaciri](https://github.com/selbaciri))
22
+ - selbaciri (zouhair1)
23
+
24
+ ---
25
+
26
+ # v0.54.2 (Fri Aug 19 2022)
27
+
28
+ #### 🐛 Bug Fix
29
+
30
+ - Dpe 1656 [#298](https://github.com/mumprod/hr-design-system-handlebars/pull/298) (zouhair1 [@selbaciri](https://github.com/selbaciri))
31
+
32
+ #### Authors: 2
33
+
34
+ - Saad El Baciri ([@selbaciri](https://github.com/selbaciri))
35
+ - selbaciri (zouhair1)
36
+
37
+ ---
38
+
1
39
  # v0.54.1 (Fri Aug 19 2022)
2
40
 
3
41
  #### 🐛 Bug Fix
@@ -434,7 +434,7 @@ video {
434
434
  --tw-scale-y: 1;
435
435
  }
436
436
 
437
- .btn--secondary, .shadow-inner, .shadow-xl {
437
+ .btn--secondary, .shadow-\[0_13px_27px_-2px_rgba\(50\2c 50\2c 93\2c 0\.25\)\], .shadow-inner, .shadow-xl {
438
438
  --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);
439
439
  --tw-ring-shadow: 0 0 rgba(0,0,0,0);
440
440
  --tw-shadow: 0 0 rgba(0,0,0,0);
@@ -674,6 +674,9 @@ video {
674
674
  .\!m-0 {
675
675
  margin: 0px !important;
676
676
  }
677
+ .m-0 {
678
+ margin: 0px;
679
+ }
677
680
  .m-1\.5 {
678
681
  margin: 0.375rem;
679
682
  }
@@ -688,6 +691,10 @@ video {
688
691
  margin-left: 1.25rem;
689
692
  margin-right: 1.25rem;
690
693
  }
694
+ .my-2 {
695
+ margin-top: 0.5rem;
696
+ margin-bottom: 0.5rem;
697
+ }
691
698
  .mx-4 {
692
699
  margin-left: 1rem;
693
700
  margin-right: 1rem;
@@ -718,6 +725,18 @@ video {
718
725
  .\!mt-4 {
719
726
  margin-top: 1rem !important;
720
727
  }
728
+ .mb-2 {
729
+ margin-bottom: 0.5rem;
730
+ }
731
+ .\!mb-0 {
732
+ margin-bottom: 0px !important;
733
+ }
734
+ .mr-2 {
735
+ margin-right: 0.5rem;
736
+ }
737
+ .mt-1 {
738
+ margin-top: 0.25rem;
739
+ }
721
740
  .ml-2 {
722
741
  margin-left: 0.5rem;
723
742
  }
@@ -809,6 +828,12 @@ video {
809
828
  .h-10 {
810
829
  height: 2.5rem;
811
830
  }
831
+ .h-8 {
832
+ height: 2rem;
833
+ }
834
+ .h-4 {
835
+ height: 1rem;
836
+ }
812
837
  .h-full {
813
838
  height: 100%;
814
839
  }
@@ -842,12 +867,6 @@ video {
842
867
  .h-3 {
843
868
  height: 0.75rem;
844
869
  }
845
- .h-4 {
846
- height: 1rem;
847
- }
848
- .h-8 {
849
- height: 2rem;
850
- }
851
870
  .h-6 {
852
871
  height: 1.5rem;
853
872
  }
@@ -872,6 +891,17 @@ video {
872
891
  .w-10 {
873
892
  width: 2.5rem;
874
893
  }
894
+ .\!w-full {
895
+ width: 100% !important;
896
+ }
897
+ .w-fit {
898
+ width: -webkit-fit-content;
899
+ width: -moz-fit-content;
900
+ width: fit-content;
901
+ }
902
+ .w-4 {
903
+ width: 1rem;
904
+ }
875
905
  .w-6 {
876
906
  width: 1.5rem;
877
907
  }
@@ -884,6 +914,9 @@ video {
884
914
  .w-40 {
885
915
  width: 10rem;
886
916
  }
917
+ .w-auto {
918
+ width: auto;
919
+ }
887
920
  .w-3\.5 {
888
921
  width: 0.875rem;
889
922
  }
@@ -895,9 +928,6 @@ video {
895
928
  width: -moz-max-content;
896
929
  width: max-content;
897
930
  }
898
- .w-4 {
899
- width: 1rem;
900
- }
901
931
  .w-9 {
902
932
  width: 2.25rem;
903
933
  }
@@ -1128,9 +1158,18 @@ video {
1128
1158
  .rounded-xl {
1129
1159
  border-radius: 0.75rem;
1130
1160
  }
1161
+ .\!rounded-none {
1162
+ border-radius: 0px !important;
1163
+ }
1164
+ .rounded-none {
1165
+ border-radius: 0px;
1166
+ }
1131
1167
  .rounded {
1132
1168
  border-radius: 0.25rem;
1133
1169
  }
1170
+ .rounded-sm {
1171
+ border-radius: 0.125rem;
1172
+ }
1134
1173
  .rounded-t-xl {
1135
1174
  border-top-left-radius: 0.75rem;
1136
1175
  border-top-right-radius: 0.75rem;
@@ -1167,21 +1206,30 @@ video {
1167
1206
  border-left-width: 1px;
1168
1207
  border-right-width: 1px;
1169
1208
  }
1209
+ .border-l-0 {
1210
+ border-left-width: 0px;
1211
+ }
1212
+ .border-r-0 {
1213
+ border-right-width: 0px;
1214
+ }
1215
+ .border-t-0 {
1216
+ border-top-width: 0px;
1217
+ }
1218
+ .border-b {
1219
+ border-bottom-width: 1px;
1220
+ }
1170
1221
  .border-r {
1171
1222
  border-right-width: 1px;
1172
1223
  }
1173
1224
  .border-l-2 {
1174
1225
  border-left-width: 2px;
1175
1226
  }
1176
- .border-b {
1177
- border-bottom-width: 1px;
1227
+ .border-l {
1228
+ border-left-width: 1px;
1178
1229
  }
1179
1230
  .border-b-0 {
1180
1231
  border-bottom-width: 0px;
1181
1232
  }
1182
- .border-l {
1183
- border-left-width: 1px;
1184
- }
1185
1233
  .border-t {
1186
1234
  border-top-width: 1px;
1187
1235
  }
@@ -1206,6 +1254,10 @@ video {
1206
1254
  border-color: #006dc1;
1207
1255
  border-color: var(--color-topline);
1208
1256
  }
1257
+ .border-blue-congress {
1258
+ --tw-border-opacity: 1;
1259
+ border-color: rgba(0, 82, 147, var(--tw-border-opacity));
1260
+ }
1209
1261
  .border-gray-400 {
1210
1262
  --tw-border-opacity: 1;
1211
1263
  border-color: rgba(156, 163, 175, var(--tw-border-opacity));
@@ -1218,10 +1270,6 @@ video {
1218
1270
  --tw-border-opacity: 1;
1219
1271
  border-color: rgba(229, 231, 235, var(--tw-border-opacity));
1220
1272
  }
1221
- .border-blue-congress {
1222
- --tw-border-opacity: 1;
1223
- border-color: rgba(0, 82, 147, var(--tw-border-opacity));
1224
- }
1225
1273
  .bg-red-200 {
1226
1274
  --tw-bg-opacity: 1;
1227
1275
  background-color: rgba(254, 202, 202, var(--tw-bg-opacity));
@@ -1345,6 +1393,9 @@ video {
1345
1393
  .fill-white {
1346
1394
  fill: #ffffff;
1347
1395
  }
1396
+ .fill-congress {
1397
+ fill: #005293;
1398
+ }
1348
1399
  .fill-current {
1349
1400
  fill: currentColor;
1350
1401
  }
@@ -1423,14 +1474,14 @@ video {
1423
1474
  padding-top: 1rem;
1424
1475
  padding-bottom: 1rem;
1425
1476
  }
1426
- .py-1\.5 {
1427
- padding-top: 0.375rem;
1428
- padding-bottom: 0.375rem;
1429
- }
1430
1477
  .py-1 {
1431
1478
  padding-top: 0.25rem;
1432
1479
  padding-bottom: 0.25rem;
1433
1480
  }
1481
+ .py-1\.5 {
1482
+ padding-top: 0.375rem;
1483
+ padding-bottom: 0.375rem;
1484
+ }
1434
1485
  .px-0 {
1435
1486
  padding-left: 0px;
1436
1487
  padding-right: 0px;
@@ -1447,12 +1498,12 @@ video {
1447
1498
  padding-top: 1px;
1448
1499
  padding-bottom: 1px;
1449
1500
  }
1450
- .pt-px {
1451
- padding-top: 1px;
1452
- }
1453
1501
  .pl-4 {
1454
1502
  padding-left: 1rem;
1455
1503
  }
1504
+ .pt-px {
1505
+ padding-top: 1px;
1506
+ }
1456
1507
  .pr-2 {
1457
1508
  padding-right: 0.5rem;
1458
1509
  }
@@ -1705,6 +1756,15 @@ video {
1705
1756
  .opacity-80 {
1706
1757
  opacity: 0.8;
1707
1758
  }
1759
+ .shadow-\[0_13px_27px_-2px_rgba\(50\2c 50\2c 93\2c 0\.25\)\] {
1760
+ --tw-shadow: 0 13px 27px -2px rgba(50,50,93,0.25);
1761
+ --tw-shadow-colored: 0 13px 27px -2px var(--tw-shadow-color);
1762
+ -webkit-box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
1763
+ box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
1764
+ box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
1765
+ -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
1766
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
1767
+ }
1708
1768
  .shadow-inner {
1709
1769
  --tw-shadow: inset 0 0px 5px 0 rgba(0, 0, 0, 0.25);
1710
1770
  --tw-shadow-colored: inset 0 0px 5px 0 var(--tw-shadow-color);
@@ -1807,7 +1867,7 @@ video {
1807
1867
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
1808
1868
  }
1809
1869
  .counter-reset {
1810
- counter-reset: cnt1660913417985;
1870
+ counter-reset: cnt1660921058047;
1811
1871
  }
1812
1872
  .placeholder-text-xs::-webkit-input-placeholder {
1813
1873
  font-size: 0.75rem;
@@ -2190,7 +2250,7 @@ video {
2190
2250
  --tw-ring-color: rgba(255, 255, 255, 0.5);
2191
2251
  }
2192
2252
  .-ordered {
2193
- counter-increment: cnt1660913417985 1;
2253
+ counter-increment: cnt1660921058047 1;
2194
2254
  }
2195
2255
  .-ordered::before {
2196
2256
  position: absolute;
@@ -2207,7 +2267,7 @@ video {
2207
2267
  letter-spacing: .0125em;
2208
2268
  --tw-text-opacity: 1;
2209
2269
  color: rgba(0, 0, 0, var(--tw-text-opacity));
2210
- content: counter(cnt1660913417985);
2270
+ content: counter(cnt1660921058047);
2211
2271
  }
2212
2272
  /*! purgecss start ignore */
2213
2273
  :root,
@@ -2596,9 +2656,6 @@ video {
2596
2656
  .last-of-type\:hidden:last-of-type {
2597
2657
  display: none;
2598
2658
  }
2599
- .last-of-type\:pb-9:last-of-type {
2600
- padding-bottom: 2.25rem;
2601
- }
2602
2659
  .last-of-type\:pb-0:last-of-type {
2603
2660
  padding-bottom: 0px;
2604
2661
  }
@@ -2625,6 +2682,9 @@ video {
2625
2682
  .hover\:fill-blue-jellyBean:hover {
2626
2683
  fill: #006dc1;
2627
2684
  }
2685
+ .hover\:fill-white:hover {
2686
+ fill: #ffffff;
2687
+ }
2628
2688
  .hover\:fill-orange-spicyCarrot:hover {
2629
2689
  fill: #d34600;
2630
2690
  }
@@ -2694,6 +2754,14 @@ video {
2694
2754
  position: absolute;
2695
2755
  }
2696
2756
 
2757
+ .md\:relative {
2758
+ position: relative;
2759
+ }
2760
+
2761
+ .md\:left-0 {
2762
+ left: 0px;
2763
+ }
2764
+
2697
2765
  .md\:top-auto {
2698
2766
  top: auto;
2699
2767
  }
@@ -2706,10 +2774,6 @@ video {
2706
2774
  top: 3rem;
2707
2775
  }
2708
2776
 
2709
- .md\:left-0 {
2710
- left: 0px;
2711
- }
2712
-
2713
2777
  .md\:z-10000 {
2714
2778
  z-index: 10000;
2715
2779
  }
@@ -2742,11 +2806,35 @@ video {
2742
2806
  grid-column: span 3 / span 3;
2743
2807
  }
2744
2808
 
2809
+ .md\:col-span-9 {
2810
+ grid-column: span 9 / span 9;
2811
+ }
2812
+
2745
2813
  .md\:mx-0 {
2746
2814
  margin-left: 0px;
2747
2815
  margin-right: 0px;
2748
2816
  }
2749
2817
 
2818
+ .md\:mb-0 {
2819
+ margin-bottom: 0px;
2820
+ }
2821
+
2822
+ .md\:\!mr-0 {
2823
+ margin-right: 0px !important;
2824
+ }
2825
+
2826
+ .md\:\!mr-2 {
2827
+ margin-right: 0.5rem !important;
2828
+ }
2829
+
2830
+ .md\:\!mb-2 {
2831
+ margin-bottom: 0.5rem !important;
2832
+ }
2833
+
2834
+ .md\:mr-2 {
2835
+ margin-right: 0.5rem;
2836
+ }
2837
+
2750
2838
  .md\:mt-0 {
2751
2839
  margin-top: 0px;
2752
2840
  }
@@ -2785,6 +2873,10 @@ video {
2785
2873
  height: 1.75rem;
2786
2874
  }
2787
2875
 
2876
+ .md\:h-auto {
2877
+ height: auto;
2878
+ }
2879
+
2788
2880
  .md\:h-full {
2789
2881
  height: 100%;
2790
2882
  }
@@ -2793,6 +2885,22 @@ video {
2793
2885
  height: 2rem;
2794
2886
  }
2795
2887
 
2888
+ .md\:\!w-full {
2889
+ width: 100% !important;
2890
+ }
2891
+
2892
+ .md\:\!w-fit {
2893
+ width: -webkit-fit-content !important;
2894
+ width: -moz-fit-content !important;
2895
+ width: fit-content !important;
2896
+ }
2897
+
2898
+ .md\:w-fit {
2899
+ width: -webkit-fit-content;
2900
+ width: -moz-fit-content;
2901
+ width: fit-content;
2902
+ }
2903
+
2796
2904
  .md\:w-1\/2 {
2797
2905
  width: 50%;
2798
2906
  }
@@ -2862,6 +2970,14 @@ video {
2862
2970
  justify-content: flex-end;
2863
2971
  }
2864
2972
 
2973
+ .md\:overflow-visible {
2974
+ overflow: visible;
2975
+ }
2976
+
2977
+ .md\:\!rounded {
2978
+ border-radius: 0.25rem !important;
2979
+ }
2980
+
2865
2981
  .md\:rounded-none {
2866
2982
  border-radius: 0px;
2867
2983
  }
@@ -2874,6 +2990,10 @@ video {
2874
2990
  border-bottom-right-radius: 1.5rem;
2875
2991
  }
2876
2992
 
2993
+ .md\:\!border {
2994
+ border-width: 1px !important;
2995
+ }
2996
+
2877
2997
  .md\:border-0 {
2878
2998
  border-width: 0px;
2879
2999
  }
@@ -0,0 +1,108 @@
1
+ import { hr$, stripTags, throttle } from 'hrQuery'
2
+
3
+ const AutoSuggest = function (context) {
4
+ const { options } = context,
5
+ { element: rootElement } = context,
6
+ filterGroups = hr$(options.filterGroupsSelector, rootElement),
7
+ /*Node-List von Elementen die gefiltert werden sollen*/
8
+ filterElements = hr$(options.filterElementSelector, rootElement),
9
+ /*Klasse die gesetzt wird auf zutreffende Einträge*/
10
+ matchedClass = options.matchedClass,
11
+ /*Klasse die gesetzt wird auf gefilterte Einträge*/
12
+ unmatchedClass = options.unmatchedClass,
13
+ inputEl = hr$(options.inputElementSelector, rootElement)[0]
14
+
15
+ const filterList = function (value) {
16
+ for (let j = 0; j < filterElements.length; j++) {
17
+ filterElement(filterElements[j], value)
18
+ }
19
+
20
+ for (let i = 0; i < filterGroups.length; i++) {
21
+ if (hr$('.' + matchedClass, filterGroups[i]).length > 0) {
22
+ filterGroups[i].classList.add(matchedClass)
23
+ filterGroups[i].classList.remove(unmatchedClass)
24
+ } else {
25
+ filterGroups[i].classList.remove(matchedClass)
26
+ filterGroups[i].classList.add(unmatchedClass)
27
+ }
28
+ }
29
+ }
30
+
31
+ const removeHighlight = function () {
32
+ for (let i = 0; i < filterElements.length; i++) {
33
+ let textEl = hr$(options.filterTextSelector, filterElements[i])[0]
34
+ textEl.innerHTML = stripTags(textEl.innerHTML)
35
+ }
36
+ }
37
+
38
+ const resetList = function () {
39
+ for (let i = 0; i < filterElements.length; i++) {
40
+ matchedClass ? filterElements[i].classList.add(matchedClass) : null
41
+ unmatchedClass ? filterElements[i].classList.remove(unmatchedClass) : null
42
+ }
43
+
44
+ for (let j = 0; j < filterGroups.length; j++) {
45
+ filterGroups[j].classList.add(matchedClass)
46
+ filterGroups[j].classList.remove(unmatchedClass)
47
+ }
48
+ }
49
+
50
+ const filterElement = function (elem, value) {
51
+ let textEl = hr$(options.filterTextSelector, elem)[0],
52
+ text = textEl.text || textEl.textContent,
53
+ words = text.split(' '),
54
+ hasMatch = false
55
+
56
+ for (let i = 0; i < words.length; i++) {
57
+ if (
58
+ words[i].toLowerCase().indexOf(value.toLowerCase(), 0) === 0 &&
59
+ hr$('.-current', elem).length === 0
60
+ ) {
61
+ hasMatch = true
62
+ words[i] =
63
+ "<span style='color:#ff9000' >" +
64
+ words[i].slice(0, value.length) +
65
+ '</span>' +
66
+ words[i].slice(value.length)
67
+ }
68
+ }
69
+
70
+ if (hasMatch) {
71
+ //wenn wert enthalten
72
+ unmatchedClass ? elem.classList.remove(unmatchedClass) : null
73
+ matchedClass ? elem.classList.add(matchedClass) : null
74
+
75
+ textEl.innerHTML = words.join(' ')
76
+ } else {
77
+ unmatchedClass ? elem.classList.add(unmatchedClass) : null
78
+ matchedClass ? elem.classList.remove(matchedClass) : null
79
+ }
80
+ }
81
+
82
+ const handleInput = throttle(function (event) {
83
+ event.stopPropagation()
84
+
85
+ let val = event.target.value
86
+
87
+ if (val.length > 0) {
88
+ filterList(val)
89
+ } else {
90
+ resetList()
91
+ removeHighlight()
92
+ }
93
+ }, 240)
94
+
95
+
96
+ console.log('fes:' + filterElements.length)
97
+ console.log('ielc:' + options.inputClasses)
98
+
99
+
100
+ inputEl.addEventListener('input', handleInput)
101
+
102
+ window.addEventListener('resetinput', () => {
103
+ resetList()
104
+ removeHighlight()
105
+ } )
106
+ }
107
+
108
+ export default AutoSuggest