@jumpgroup/jump-design-system 0.3.52 → 0.3.53

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 (159) hide show
  1. package/dist/cjs/{index-97b3526b.js → index-e91b2b41.js} +26 -4
  2. package/dist/cjs/index-e91b2b41.js.map +1 -0
  3. package/dist/cjs/jump-accordion-group.cjs.entry.js +1 -1
  4. package/dist/cjs/jump-accordion.cjs.entry.js +1 -1
  5. package/dist/cjs/jump-badge.cjs.entry.js +1 -1
  6. package/dist/cjs/jump-button_2.cjs.entry.js +1 -1
  7. package/dist/cjs/jump-card-ecommerce-option.cjs.entry.js +1 -1
  8. package/dist/cjs/jump-card-ecommerce.cjs.entry.js +1 -1
  9. package/dist/cjs/jump-card.cjs.entry.js +1 -1
  10. package/dist/cjs/jump-design-system.cjs.js +2 -2
  11. package/dist/cjs/jump-filter-checkbox.cjs.entry.js +1 -1
  12. package/dist/cjs/jump-filter.cjs.entry.js +1 -1
  13. package/dist/cjs/jump-filtergroup.cjs.entry.js +1 -1
  14. package/dist/cjs/jump-navbar.cjs.entry.js +1 -1
  15. package/dist/cjs/jump-pagination-table.cjs.entry.js +1 -1
  16. package/dist/cjs/jump-pagination.cjs.entry.js +1 -1
  17. package/dist/cjs/jump-quantity.cjs.entry.js +1 -1
  18. package/dist/cjs/jump-search-bar-dropdown-item.cjs.entry.js +46 -0
  19. package/dist/cjs/jump-search-bar-dropdown-item.cjs.entry.js.map +1 -0
  20. package/dist/cjs/jump-search-bar-mobile.cjs.entry.js +130 -0
  21. package/dist/cjs/jump-search-bar-mobile.cjs.entry.js.map +1 -0
  22. package/dist/cjs/jump-search-bar.cjs.entry.js +139 -21
  23. package/dist/cjs/jump-search-bar.cjs.entry.js.map +1 -1
  24. package/dist/cjs/jump-tab-item.cjs.entry.js +4 -4
  25. package/dist/cjs/jump-tab-item.cjs.entry.js.map +1 -1
  26. package/dist/cjs/jump-tab-panel.cjs.entry.js +2 -2
  27. package/dist/cjs/jump-tab.cjs.entry.js +2 -2
  28. package/dist/cjs/loader.cjs.js +2 -2
  29. package/dist/collection/collection-manifest.json +2 -0
  30. package/dist/collection/components/jump-search-bar/jump-search-bar.css +173 -47
  31. package/dist/collection/components/jump-search-bar/jump-search-bar.js +424 -27
  32. package/dist/collection/components/jump-search-bar/jump-search-bar.js.map +1 -1
  33. package/dist/collection/components/jump-search-bar/jump-search-bar.stories.js +320 -49
  34. package/dist/collection/components/jump-search-bar/jump-search-bar.stories.js.map +1 -1
  35. package/dist/collection/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.css +3 -0
  36. package/dist/collection/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.js +122 -0
  37. package/dist/collection/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.js.map +1 -0
  38. package/dist/collection/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.stories.js +13 -0
  39. package/dist/collection/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.stories.js.map +1 -0
  40. package/dist/collection/components/jump-search-bar-dropdown-item/test/jump-search-bar-dropdown-item.e2e.js +10 -0
  41. package/dist/collection/components/jump-search-bar-dropdown-item/test/jump-search-bar-dropdown-item.e2e.js.map +1 -0
  42. package/dist/collection/components/jump-search-bar-dropdown-item/test/jump-search-bar-dropdown-item.spec.js +18 -0
  43. package/dist/collection/components/jump-search-bar-dropdown-item/test/jump-search-bar-dropdown-item.spec.js.map +1 -0
  44. package/dist/collection/components/jump-search-bar-mobile/jump-search-bar-mobile.css +91 -0
  45. package/dist/collection/components/jump-search-bar-mobile/jump-search-bar-mobile.js +414 -0
  46. package/dist/collection/components/jump-search-bar-mobile/jump-search-bar-mobile.js.map +1 -0
  47. package/dist/collection/components/jump-search-bar-mobile/jump-search-bar-mobile.stories.js +192 -0
  48. package/dist/collection/components/jump-search-bar-mobile/jump-search-bar-mobile.stories.js.map +1 -0
  49. package/dist/collection/components/jump-search-bar-mobile/test/jump-search-bar-mobile.e2e.js +10 -0
  50. package/dist/collection/components/jump-search-bar-mobile/test/jump-search-bar-mobile.e2e.js.map +1 -0
  51. package/dist/collection/components/jump-search-bar-mobile/test/jump-search-bar-mobile.spec.js +18 -0
  52. package/dist/collection/components/jump-search-bar-mobile/test/jump-search-bar-mobile.spec.js.map +1 -0
  53. package/dist/collection/components/jump-tab/jump-tab.js +1 -1
  54. package/dist/collection/components/jump-tab-item/jump-tab-item.css +11 -6
  55. package/dist/collection/components/jump-tab-item/jump-tab-item.js +2 -2
  56. package/dist/collection/components/jump-tab-panel/jump-tab-panel.js +1 -1
  57. package/dist/components/jump-search-bar-dropdown-item.d.ts +11 -0
  58. package/dist/components/jump-search-bar-dropdown-item.js +65 -0
  59. package/dist/components/jump-search-bar-dropdown-item.js.map +1 -0
  60. package/dist/components/jump-search-bar-mobile.d.ts +11 -0
  61. package/dist/components/jump-search-bar-mobile.js +175 -0
  62. package/dist/components/jump-search-bar-mobile.js.map +1 -0
  63. package/dist/components/jump-search-bar.js +159 -22
  64. package/dist/components/jump-search-bar.js.map +1 -1
  65. package/dist/components/jump-tab-item.js +3 -3
  66. package/dist/components/jump-tab-item.js.map +1 -1
  67. package/dist/components/jump-tab-panel.js +1 -1
  68. package/dist/components/jump-tab.js +1 -1
  69. package/dist/esm/{index-14b73bd6.js → index-9a1da0f0.js} +26 -4
  70. package/dist/esm/index-9a1da0f0.js.map +1 -0
  71. package/dist/esm/jump-accordion-group.entry.js +1 -1
  72. package/dist/esm/jump-accordion.entry.js +1 -1
  73. package/dist/esm/jump-badge.entry.js +1 -1
  74. package/dist/esm/jump-button_2.entry.js +1 -1
  75. package/dist/esm/jump-card-ecommerce-option.entry.js +1 -1
  76. package/dist/esm/jump-card-ecommerce.entry.js +1 -1
  77. package/dist/esm/jump-card.entry.js +1 -1
  78. package/dist/esm/jump-design-system.js +3 -3
  79. package/dist/esm/jump-filter-checkbox.entry.js +1 -1
  80. package/dist/esm/jump-filter.entry.js +1 -1
  81. package/dist/esm/jump-filtergroup.entry.js +1 -1
  82. package/dist/esm/jump-navbar.entry.js +1 -1
  83. package/dist/esm/jump-pagination-table.entry.js +1 -1
  84. package/dist/esm/jump-pagination.entry.js +1 -1
  85. package/dist/esm/jump-quantity.entry.js +1 -1
  86. package/dist/esm/jump-search-bar-dropdown-item.entry.js +42 -0
  87. package/dist/esm/jump-search-bar-dropdown-item.entry.js.map +1 -0
  88. package/dist/esm/jump-search-bar-mobile.entry.js +126 -0
  89. package/dist/esm/jump-search-bar-mobile.entry.js.map +1 -0
  90. package/dist/esm/jump-search-bar.entry.js +139 -21
  91. package/dist/esm/jump-search-bar.entry.js.map +1 -1
  92. package/dist/esm/jump-tab-item.entry.js +4 -4
  93. package/dist/esm/jump-tab-item.entry.js.map +1 -1
  94. package/dist/esm/jump-tab-panel.entry.js +2 -2
  95. package/dist/esm/jump-tab.entry.js +2 -2
  96. package/dist/esm/loader.js +3 -3
  97. package/dist/jump-design-system/jump-design-system.esm.js +1 -1
  98. package/dist/jump-design-system/jump-design-system.esm.js.map +1 -1
  99. package/dist/jump-design-system/{p-18df1585.entry.js → p-02e863db.entry.js} +2 -2
  100. package/dist/jump-design-system/p-07633158.entry.js +2 -0
  101. package/dist/jump-design-system/p-07633158.entry.js.map +1 -0
  102. package/dist/jump-design-system/p-1aa5fb8a.entry.js +2 -0
  103. package/dist/jump-design-system/p-1aa5fb8a.entry.js.map +1 -0
  104. package/dist/jump-design-system/{p-6e26f3ef.entry.js → p-1da9811d.entry.js} +2 -2
  105. package/dist/jump-design-system/p-21aa0095.js +3 -0
  106. package/dist/jump-design-system/p-21aa0095.js.map +1 -0
  107. package/dist/jump-design-system/p-2e2bd8a9.entry.js +2 -0
  108. package/dist/jump-design-system/{p-6f1c7238.entry.js → p-3f6d50d5.entry.js} +2 -2
  109. package/dist/jump-design-system/{p-8bdb9702.entry.js → p-466e0ade.entry.js} +2 -2
  110. package/dist/jump-design-system/{p-396d2541.entry.js → p-506950ea.entry.js} +2 -2
  111. package/dist/jump-design-system/{p-4b284def.entry.js → p-6acb16c6.entry.js} +3 -3
  112. package/dist/jump-design-system/{p-7b6c9e01.entry.js → p-6b1ab8c3.entry.js} +2 -2
  113. package/dist/jump-design-system/{p-53129684.entry.js → p-6dc529fc.entry.js} +2 -2
  114. package/dist/jump-design-system/{p-30c9d7c7.entry.js → p-6e7c80a3.entry.js} +2 -2
  115. package/dist/jump-design-system/p-8f581228.entry.js +2 -0
  116. package/dist/jump-design-system/{p-8873623c.entry.js → p-a1c25113.entry.js} +2 -2
  117. package/dist/jump-design-system/{p-1c882126.entry.js → p-a826c477.entry.js} +2 -2
  118. package/dist/jump-design-system/{p-e0e82d36.entry.js → p-b03c5b24.entry.js} +2 -2
  119. package/dist/jump-design-system/{p-174d297f.entry.js → p-bdafe87d.entry.js} +2 -2
  120. package/dist/jump-design-system/p-c77d216c.entry.js +2 -0
  121. package/dist/jump-design-system/p-c77d216c.entry.js.map +1 -0
  122. package/dist/jump-design-system/p-f7c323d2.entry.js +2 -0
  123. package/dist/jump-design-system/p-f7c323d2.entry.js.map +1 -0
  124. package/dist/jump-design-system/{p-f371718a.entry.js → p-feb825e0.entry.js} +2 -2
  125. package/dist/jump-design-system-elements.json +97 -3
  126. package/dist/types/components/jump-search-bar/jump-search-bar.d.ts +51 -11
  127. package/dist/types/components/jump-search-bar/jump-search-bar.stories.d.ts +137 -10
  128. package/dist/types/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.d.ts +10 -0
  129. package/dist/types/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.stories.d.ts +7 -0
  130. package/dist/types/components/jump-search-bar-mobile/jump-search-bar-mobile.d.ts +46 -0
  131. package/dist/types/components/jump-search-bar-mobile/jump-search-bar-mobile.stories.d.ts +131 -0
  132. package/dist/types/components.d.ts +135 -10
  133. package/package.json +1 -1
  134. package/dist/cjs/index-97b3526b.js.map +0 -1
  135. package/dist/esm/index-14b73bd6.js.map +0 -1
  136. package/dist/jump-design-system/p-134e548b.entry.js +0 -2
  137. package/dist/jump-design-system/p-134e548b.entry.js.map +0 -1
  138. package/dist/jump-design-system/p-1c5db8d3.js +0 -3
  139. package/dist/jump-design-system/p-1c5db8d3.js.map +0 -1
  140. package/dist/jump-design-system/p-3dd1f9a0.entry.js +0 -2
  141. package/dist/jump-design-system/p-5f12bbbb.entry.js +0 -2
  142. package/dist/jump-design-system/p-6363b6ee.entry.js +0 -2
  143. package/dist/jump-design-system/p-6363b6ee.entry.js.map +0 -1
  144. /package/dist/jump-design-system/{p-18df1585.entry.js.map → p-02e863db.entry.js.map} +0 -0
  145. /package/dist/jump-design-system/{p-6e26f3ef.entry.js.map → p-1da9811d.entry.js.map} +0 -0
  146. /package/dist/jump-design-system/{p-3dd1f9a0.entry.js.map → p-2e2bd8a9.entry.js.map} +0 -0
  147. /package/dist/jump-design-system/{p-6f1c7238.entry.js.map → p-3f6d50d5.entry.js.map} +0 -0
  148. /package/dist/jump-design-system/{p-8bdb9702.entry.js.map → p-466e0ade.entry.js.map} +0 -0
  149. /package/dist/jump-design-system/{p-396d2541.entry.js.map → p-506950ea.entry.js.map} +0 -0
  150. /package/dist/jump-design-system/{p-4b284def.entry.js.map → p-6acb16c6.entry.js.map} +0 -0
  151. /package/dist/jump-design-system/{p-7b6c9e01.entry.js.map → p-6b1ab8c3.entry.js.map} +0 -0
  152. /package/dist/jump-design-system/{p-53129684.entry.js.map → p-6dc529fc.entry.js.map} +0 -0
  153. /package/dist/jump-design-system/{p-30c9d7c7.entry.js.map → p-6e7c80a3.entry.js.map} +0 -0
  154. /package/dist/jump-design-system/{p-5f12bbbb.entry.js.map → p-8f581228.entry.js.map} +0 -0
  155. /package/dist/jump-design-system/{p-8873623c.entry.js.map → p-a1c25113.entry.js.map} +0 -0
  156. /package/dist/jump-design-system/{p-1c882126.entry.js.map → p-a826c477.entry.js.map} +0 -0
  157. /package/dist/jump-design-system/{p-e0e82d36.entry.js.map → p-b03c5b24.entry.js.map} +0 -0
  158. /package/dist/jump-design-system/{p-174d297f.entry.js.map → p-bdafe87d.entry.js.map} +0 -0
  159. /package/dist/jump-design-system/{p-f371718a.entry.js.map → p-feb825e0.entry.js.map} +0 -0
@@ -1,12 +1,12 @@
1
1
  import { generateAttributesFromArgs, formatHtml } from "../../utils/utils";
2
2
  export default {
3
- title: 'Components/SearchBar (WIP)',
3
+ title: 'Components/SearchBar/SearchBar',
4
4
  tags: ['autodocs'],
5
5
  argTypes: {
6
6
  identifier: {
7
7
  name: 'identifier',
8
8
  control: 'text',
9
- description: 'L\'id dell\'elemento',
9
+ description: 'Identificatore della searchbar',
10
10
  table: {
11
11
  type: { summary: 'string' },
12
12
  defaultValue: { summary: 'search-bar' },
@@ -15,34 +15,69 @@ export default {
15
15
  placeholder: {
16
16
  name: 'placeholder',
17
17
  control: 'text',
18
- description: 'Il testo del placeholder',
18
+ description: 'Il testo del placeholder dell\'input della searchbar.',
19
19
  table: {
20
20
  type: { summary: 'string' },
21
21
  defaultValue: { summary: 'Cerca...' },
22
22
  },
23
23
  },
24
- searchType: {
25
- name: 'searchType',
26
- control: 'select',
27
- options: ['auto', 'manual'],
28
- description: "Scelta della modalità di ricerca tra quella automatica e quella manuale.",
24
+ noResultText: {
25
+ name: 'no-result-text',
26
+ control: 'text',
27
+ description: 'Il testo mostrato in caso nessun risultato sia stato recuperato.',
28
+ table: {
29
+ type: { summary: 'string' },
30
+ defaultValue: { summary: 'Nessun risultato corrispondente' },
31
+ },
32
+ },
33
+ loadingText: {
34
+ name: 'loading-text',
35
+ control: 'text',
36
+ description: 'Il testo mostrato durante il caricamento dei risultati.',
29
37
  table: {
30
38
  type: { summary: 'string' },
31
- defaultValue: { summary: 'auto' },
39
+ defaultValue: { summary: 'Caricamento...' },
40
+ },
41
+ },
42
+ resultsText: {
43
+ name: 'results-text',
44
+ control: 'text',
45
+ description: 'Il testo mostrato accanto al numero di risultati totali.',
46
+ table: {
47
+ type: { summary: 'string' },
48
+ defaultValue: { summary: 'risultati' },
49
+ },
50
+ },
51
+ showAllResText: {
52
+ name: 'show-all-res-text',
53
+ control: 'text',
54
+ description: 'La label da mostrare per il pulsante che mostra tutti i risultati.',
55
+ table: {
56
+ type: { summary: 'string' },
57
+ defaultValue: { summary: 'Mostra tutti i risultati' },
32
58
  },
33
59
  },
34
60
  variant: {
35
61
  name: 'variant',
36
62
  control: 'select',
37
63
  options: ['filled', 'linear', 'outline'],
64
+ description: 'Scelta dello stile della barra di ricerca tra filled, linear e outline.',
65
+ table: {
66
+ type: { summary: 'string' },
67
+ defaultValue: { summary: 'outline' },
68
+ },
69
+ },
70
+ withBtn: {
71
+ name: 'with-btn',
72
+ control: 'boolean',
73
+ description: 'Se true, aggiunge un pulsante alla barra di ricerca',
38
74
  if: {
39
- arg: 'searchType',
40
- eq: 'auto',
75
+ arg: 'variant',
76
+ neq: 'linear',
41
77
  },
42
- description: 'Solo se tipologia "auto", Scelta dello stile della barra di ricerca tra filled, linear e outline.',
43
78
  table: {
44
- type: { summary: 'string' },
45
- defaultValue: { summary: 'linear' },
79
+ type: { summary: 'boolean' },
80
+ defaultValue: { summary: 'false' },
46
81
  },
47
82
  },
48
83
  debounceTime: {
@@ -57,7 +92,70 @@ export default {
57
92
  type: { summary: 'number' },
58
93
  defaultValue: { summary: 500 },
59
94
  },
60
- }
95
+ },
96
+ recentsTitle: {
97
+ name: 'recents-title',
98
+ control: 'text',
99
+ description: 'Serve per il titolo del dropwdown quando si vedono le ricerche recenti',
100
+ if: {
101
+ arg: 'dropdown',
102
+ eq: 'true',
103
+ },
104
+ },
105
+ recents: {
106
+ name: 'recents',
107
+ control: 'object',
108
+ description: 'Serve per il dropdown quando si vedono le ricerche recenti',
109
+ if: {
110
+ arg: 'dropdown',
111
+ eq: 'true',
112
+ },
113
+ },
114
+ results: {
115
+ name: 'results',
116
+ control: 'object',
117
+ description: 'Serve per il dropdown quando si vedono i risultati della ricerca',
118
+ if: {
119
+ arg: 'dropdown',
120
+ eq: 'true',
121
+ },
122
+ },
123
+ linearIconOnly: {
124
+ name: 'linear-icon-only',
125
+ control: 'boolean',
126
+ description: 'Se true, la barra di tipo lineare mostrerà solo l\'icona di ricerca',
127
+ if: {
128
+ arg: 'variant',
129
+ eq: 'linear',
130
+ },
131
+ table: {
132
+ type: { summary: 'boolean' },
133
+ defaultValue: { summary: 'false' },
134
+ },
135
+ },
136
+ dropdown: {
137
+ name: 'dropdown',
138
+ control: 'boolean',
139
+ description: 'Se true, mostra il dropdown con i risultati della ricerca',
140
+ table: {
141
+ type: { summary: 'boolean' },
142
+ defaultValue: { summary: 'false' },
143
+ },
144
+ },
145
+ dropdownPosition: {
146
+ name: 'dropdown-position',
147
+ control: 'select',
148
+ options: ['absolute', 'relative'],
149
+ description: 'La posizione del dropdown rispetto alla searchbar tra asbolute e relative',
150
+ if: {
151
+ arg: 'dropdown',
152
+ eq: true,
153
+ },
154
+ table: {
155
+ type: { summary: 'string' },
156
+ defaultValue: { summary: 'relative' },
157
+ },
158
+ },
61
159
  }
62
160
  };
63
161
  const Template = (args) => {
@@ -67,54 +165,227 @@ const Template = (args) => {
67
165
  export const SearchBar = Template.bind({});
68
166
  SearchBar.args = {
69
167
  placeholder: 'Cerca...',
70
- searchType: 'manual',
71
168
  };
72
- export const SearchBarManual = Template.bind({});
73
- SearchBarManual.args = {
169
+ export const SearchBarLinearOnlyIcon = Template.bind({});
170
+ SearchBarLinearOnlyIcon.args = {
74
171
  placeholder: 'Cerca...',
75
- searchType: 'manual',
172
+ variant: 'linear',
173
+ linearIconOnly: true,
76
174
  };
77
- export const SearchBarAutoOutline = Template.bind({});
78
- SearchBarAutoOutline.args = {
175
+ export const SearchBarOutlineWithBtn = Template.bind({});
176
+ SearchBarOutlineWithBtn.args = {
79
177
  placeholder: 'Cerca...',
80
- searchType: 'auto',
81
178
  variant: 'outline',
179
+ withBtn: true,
82
180
  };
83
- export const SearchBarAutoFilled = Template.bind({});
84
- SearchBarAutoFilled.args = {
181
+ export const SearchBarOutlineWithoutBtn = Template.bind({});
182
+ SearchBarOutlineWithoutBtn.args = {
85
183
  placeholder: 'Cerca...',
86
- searchType: 'auto',
87
- variant: 'filled',
184
+ variant: 'outline',
185
+ withBtn: false,
88
186
  };
89
- export const SearchBarAutoLinear = Template.bind({});
90
- SearchBarAutoLinear.args = {
91
- placeholder: 'Cerca...',
92
- searchType: 'auto',
93
- variant: 'linear',
187
+ const TemplateWithRecents = (args) => {
188
+ const attributes = generateAttributesFromArgs(args);
189
+ return formatHtml(`<jump-search-bar ${attributes}>
190
+ <jump-search-bar-dropdown-item value="Prima" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
191
+ <jump-search-bar-dropdown-item value="Seconda" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
192
+ <jump-search-bar-dropdown-item value="Terza" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
193
+ </jump-search-bar>`);
194
+ };
195
+ export const SearchBarWithDropdownRecents = TemplateWithRecents.bind({});
196
+ SearchBarWithDropdownRecents.args = {
197
+ dropdown: true,
94
198
  };
95
- const TemplateWithListenerExample = (args, data) => {
199
+ const TemplateWithResults = (args, data) => {
96
200
  let id = data.id;
97
201
  const attributes = generateAttributesFromArgs(args);
98
- return formatHtml(`<jump-search-bar ${attributes}></jump-search-bar>
99
- <div>Il testo cercato è: <span id="page-text">loading..<span> </div>
100
- <script>
101
- (function() {
102
- let container;
103
- container = document.querySelector('#story--${id}');
104
- container.querySelector('jump-search-bar').addEventListener('jump-search-bar', (ev) => {
105
- container.querySelector('#page-text').innerText = ev.detail.search;
202
+ return formatHtml(`<jump-search-bar ${attributes}>
203
+ <jump-search-bar-dropdown-item value="Prima opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
204
+ <jump-search-bar-dropdown-item value="Seconda opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
205
+ <jump-search-bar-dropdown-item value="Terza opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
206
+ <jump-search-bar-dropdown-item value="Quarta opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
207
+ </jump-search-bar>
208
+ <div>L'utente ha cercato per le parole: <span id="search">loading..<span></div>
209
+ <div>L'utente ha selezionato il risultato: <span id="result">loading..<span></div>
210
+ <script>
211
+ (function(){
212
+ let container = document.querySelector('#story--${id}');
213
+ container.querySelector('jump-search-bar').addEventListener('jump-search-bar', (ev) => {
214
+ container.querySelector('#search').innerText = ev.detail.search;
215
+ if(ev.detail.search != ''){
216
+
217
+ // Il timeout è inserito a scopo dimostrativo per far vedere il caricamento dei risultati
218
+ setTimeout(() => {
219
+ console.log("Delayed for 2 second.");
220
+ container.querySelector('jump-search-bar').setResults([
221
+ {
222
+ "value": "Primo risultato",
223
+ "img": "https://t4.ftcdn.net/jpg/06/30/49/51/360_F_630495183_8pznBkSto7BmBYyhtVfAKbptBXlNxACy.jpg",
224
+ "href": "https://www.google.com",
225
+ "details": {
226
+ "key:": "value",
227
+ "key1:": "value1"
228
+ }
229
+ },
230
+ {
231
+ "value": "Seconda risultato",
232
+ "img": "https://as2.ftcdn.net/v2/jpg/03/72/38/41/1000_F_372384189_UFzmQZQKD13dzTWILcDqbsRGDX868F5T.jpg",
233
+ "href": "https://www.google.com",
234
+ "details": {
235
+ "key:": "value",
236
+ "key1:": "value1"
237
+ }
238
+ },
239
+ {
240
+ "value": "Terza risultato",
241
+ "img": "https://as2.ftcdn.net/v2/jpg/06/14/79/27/1000_F_614792718_QAEYmOvD6BFhfTGD0bFNJfWDcubKNSFv.jpg",
242
+ "href": "https://www.google.com",
243
+ "details": {
244
+ "key:": "value",
245
+ "key1:": "value1"
246
+ }
247
+ },
248
+ {
249
+ "value": "quarto risultato",
250
+ "img": "https://as2.ftcdn.net/v2/jpg/07/85/54/73/1000_F_785547378_iHd50UIEpMx3dXabLFcglBfGr2unpHDd.jpg",
251
+ "href": "https://www.google.com",
252
+ "details": {
253
+ "key:": "value",
254
+ "key1:": "value1"
255
+ }
256
+ }
257
+ ], 23)
258
+
259
+ }, "2000");
260
+
261
+
262
+ }
106
263
  });
107
- })();
264
+ container.querySelector('jump-search-bar').addEventListener('jump-search-bar-res-clicked', (ev) => {
265
+ console.log('Cliccato sul risultato', ev.detail.clicked);
266
+ container.querySelector('#result').innerText = ev.detail.clicked.value;
267
+ });
268
+
269
+ container.querySelector('jump-search-bar').addEventListener('jump-search-bar-show-all', (ev) => {
270
+ console.log('Vai nella pagina di ricerca', ev.detail);
271
+ });
272
+ })();
108
273
  </script>`);
109
274
  };
110
- export const SearchBarManualWithListener = TemplateWithListenerExample.bind({});
111
- SearchBarManualWithListener.args = {
112
- placeholder: 'Cerca...',
113
- searchType: 'manual',
275
+ export const SearchBarWithDropdownResults = TemplateWithResults.bind({});
276
+ SearchBarWithDropdownResults.args = {
277
+ dropdown: true,
278
+ withBtn: true,
114
279
  };
115
- export const SearchBarAutoWithListener = TemplateWithListenerExample.bind({});
116
- SearchBarAutoWithListener.args = {
117
- placeholder: 'Cerca...',
118
- searchType: 'auto',
280
+ const TemplateWithResultsDropdownAbsolute = (args, data) => {
281
+ let id = data.id;
282
+ const attributes = generateAttributesFromArgs(args);
283
+ return formatHtml(`<jump-search-bar ${attributes}>
284
+ <jump-search-bar-dropdown-item value="Prima opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
285
+ <jump-search-bar-dropdown-item value="Seconda opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
286
+ <jump-search-bar-dropdown-item value="Terza opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
287
+ <jump-search-bar-dropdown-item value="Quarta opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
288
+ </jump-search-bar>
289
+ <div>L'utente ha cercato per le parole: <span id="search">loading..<span></div>
290
+ <div>L'utente ha selezionato il risultato: <span id="result">loading..<span></div>
291
+ <script>
292
+ (function(){
293
+ let container = document.querySelector('#story--${id}');
294
+ container.querySelector('jump-search-bar').addEventListener('jump-search-bar', (ev) => {
295
+ container.querySelector('#search').innerText = ev.detail.search;
296
+ if(ev.detail.search != ''){
297
+
298
+ // Il timeout è inserito a scopo dimostrativo per far vedere il caricamento dei risultati
299
+ setTimeout(() => {
300
+ console.log("Delayed for 2 second.");
301
+ container.querySelector('jump-search-bar').setResults([
302
+ {
303
+ "value": "Primo risultato",
304
+ "img": "https://t4.ftcdn.net/jpg/06/30/49/51/360_F_630495183_8pznBkSto7BmBYyhtVfAKbptBXlNxACy.jpg",
305
+ "href": "https://www.google.com",
306
+ "details": {
307
+ "key:": "value",
308
+ "key1:": "value1"
309
+ }
310
+ },
311
+ {
312
+ "value": "Seconda risultato",
313
+ "img": "https://as2.ftcdn.net/v2/jpg/03/72/38/41/1000_F_372384189_UFzmQZQKD13dzTWILcDqbsRGDX868F5T.jpg",
314
+ "href": "https://www.google.com",
315
+ "details": {
316
+ "key:": "value",
317
+ "key1:": "value1"
318
+ }
319
+ },
320
+ {
321
+ "value": "Terza risultato",
322
+ "img": "https://as2.ftcdn.net/v2/jpg/06/14/79/27/1000_F_614792718_QAEYmOvD6BFhfTGD0bFNJfWDcubKNSFv.jpg",
323
+ "href": "https://www.google.com",
324
+ "details": {
325
+ "key:": "value",
326
+ "key1:": "value1"
327
+ }
328
+ },
329
+ {
330
+ "value": "quarto risultato",
331
+ "img": "https://as2.ftcdn.net/v2/jpg/07/85/54/73/1000_F_785547378_iHd50UIEpMx3dXabLFcglBfGr2unpHDd.jpg",
332
+ "href": "https://www.google.com",
333
+ "details": {
334
+ "key:": "value",
335
+ "key1:": "value1"
336
+ }
337
+ }
338
+ ], 23)
339
+
340
+ }, "2000");
341
+
342
+
343
+ }
344
+ });
345
+ container.querySelector('jump-search-bar').addEventListener('jump-search-bar-res-clicked', (ev) => {
346
+ console.log('Cliccato sul risultato', ev.detail.clicked);
347
+ container.querySelector('#result').innerText = ev.detail.clicked.value;
348
+ });
349
+
350
+ container.querySelector('jump-search-bar').addEventListener('jump-search-bar-show-all', (ev) => {
351
+ console.log('Vai nella pagina di ricerca', ev.detail);
352
+ });
353
+ })();
354
+ </script>`);
355
+ };
356
+ export const SearchBarWithDropdownAbsoluteResults = TemplateWithResultsDropdownAbsolute.bind({});
357
+ SearchBarWithDropdownAbsoluteResults.args = {
358
+ dropdown: true,
359
+ withBtn: true,
360
+ dropdownPosition: 'absolute',
361
+ };
362
+ const TemplateWithNoResults = (args, data) => {
363
+ let id = data.id;
364
+ const attributes = generateAttributesFromArgs(args);
365
+ return formatHtml(`<jump-search-bar ${attributes}>
366
+ <jump-search-bar-dropdown-item value="Prima opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
367
+ <jump-search-bar-dropdown-item value="Seconda opzione" details-key="value" img="https://via.placeholder.com/150" href="https://www.google.com"></jump-search-bar-dropdown-item>
368
+ </jump-search-bar>
369
+ <div>L'utente ha cercato per le parole: <span id="search">loading..<span></div>
370
+ <div>L'utente ha selezionato il risultato: <span id="result">loading..<span></div>
371
+ <script>
372
+ (function(){
373
+ let container = document.querySelector('#story--${id}');
374
+ container.querySelector('jump-search-bar').addEventListener('jump-search-bar', (ev) => {
375
+ container.querySelector('#search').innerText = ev.detail.search;
376
+ if(ev.detail.search != ''){
377
+ container.querySelector('jump-search-bar').setResults([])
378
+ }
379
+ });
380
+ container.querySelector('jump-search-bar').addEventListener('jump-search-bar-res-clicked', (ev) => {
381
+ console.log('Cliccato sul risultato', ev.detail.clicked);
382
+ container.querySelector('#result').innerText = ev.detail.clicked.value;
383
+ });
384
+ })();
385
+ </script>`);
386
+ };
387
+ export const SearchBarWithDropdownNoResults = TemplateWithNoResults.bind({});
388
+ SearchBarWithDropdownNoResults.args = {
389
+ dropdown: true,
119
390
  };
120
391
  //# sourceMappingURL=jump-search-bar.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jump-search-bar.stories.js","sourceRoot":"","sources":["../../../src/components/jump-search-bar/jump-search-bar.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { generateAttributesFromArgs, formatHtml} from '../../utils/utils';\n\nexport default {\n title: 'Components/SearchBar (WIP)',\n tags: ['autodocs'],\n argTypes: {\n identifier: {\n name: 'identifier',\n control: 'text',\n description: 'L\\'id dell\\'elemento',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'search-bar' },\n },\n },\n placeholder: {\n name: 'placeholder',\n control: 'text',\n description: 'Il testo del placeholder',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'Cerca...' },\n },\n },\n searchType: {\n name: 'searchType',\n control: 'select',\n options: ['auto', 'manual'],\n description: \"Scelta della modalità di ricerca tra quella automatica e quella manuale.\",\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'auto' },\n },\n },\n variant: {\n name: 'variant',\n control: 'select',\n options: ['filled', 'linear', 'outline'],\n if: {\n arg: 'searchType',\n eq: 'auto',\n },\n description: 'Solo se tipologia \"auto\", Scelta dello stile della barra di ricerca tra filled, linear e outline.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'linear' },\n },\n },\n debounceTime: {\n name: 'debounce-time',\n control: 'number',\n description: 'Il tempo di attesa per l\\'invio della ricerca in caso di ricerca automatica. In millisecondi.',\n if: {\n arg: 'searchType',\n eq: 'auto',\n },\n table: {\n type: { summary: 'number' },\n defaultValue: { summary: 500 },\n },\n }\n }\n}\n\nconst Template = (args) => {\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-search-bar ${attributes}></jump-search-bar>`);\n}\n\nexport const SearchBar = Template.bind({});\nSearchBar.args = {\n placeholder: 'Cerca...',\n searchType: 'manual',\n};\n\nexport const SearchBarManual = Template.bind({});\nSearchBarManual.args = {\n placeholder: 'Cerca...',\n searchType: 'manual',\n};\n\nexport const SearchBarAutoOutline = Template.bind({});\nSearchBarAutoOutline.args = {\n placeholder: 'Cerca...',\n searchType: 'auto',\n variant: 'outline',\n};\n\nexport const SearchBarAutoFilled = Template.bind({});\nSearchBarAutoFilled.args = {\n placeholder: 'Cerca...',\n searchType: 'auto',\n variant: 'filled',\n};\n\nexport const SearchBarAutoLinear = Template.bind({});\nSearchBarAutoLinear.args = {\n placeholder: 'Cerca...',\n searchType: 'auto',\n variant: 'linear',\n};\n\nconst TemplateWithListenerExample = (args, data) => {\n let id = data.id;\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-search-bar ${attributes}></jump-search-bar>\n <div>Il testo cercato è: <span id=\"page-text\">loading..<span> </div>\n <script>\n (function() {\n let container; \n container = document.querySelector('#story--${id}');\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar', (ev) => {\n container.querySelector('#page-text').innerText = ev.detail.search;\n });\n })();\n </script>`);\n};\n\nexport const SearchBarManualWithListener = TemplateWithListenerExample.bind({});\nSearchBarManualWithListener.args = {\n placeholder: 'Cerca...',\n searchType: 'manual',\n};\n\nexport const SearchBarAutoWithListener = TemplateWithListenerExample.bind({});\nSearchBarAutoWithListener.args = {\n placeholder: 'Cerca...',\n searchType: 'auto',\n};\n"]}
1
+ {"version":3,"file":"jump-search-bar.stories.js","sourceRoot":"","sources":["../../../src/components/jump-search-bar/jump-search-bar.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { generateAttributesFromArgs, formatHtml} from '../../utils/utils';\n\nexport default {\n title: 'Components/SearchBar/SearchBar',\n tags: ['autodocs'],\n argTypes: {\n identifier: {\n name: 'identifier',\n control: 'text',\n description: 'Identificatore della searchbar',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'search-bar' },\n },\n },\n placeholder: {\n name: 'placeholder',\n control: 'text',\n description: 'Il testo del placeholder dell\\'input della searchbar.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'Cerca...' },\n },\n },\n noResultText: {\n name: 'no-result-text',\n control: 'text',\n description: 'Il testo mostrato in caso nessun risultato sia stato recuperato.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'Nessun risultato corrispondente' },\n },\n },\n loadingText: {\n name: 'loading-text',\n control: 'text',\n description: 'Il testo mostrato durante il caricamento dei risultati.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'Caricamento...' },\n },\n },\n resultsText: {\n name: 'results-text',\n control: 'text',\n description: 'Il testo mostrato accanto al numero di risultati totali.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'risultati' },\n },\n },\n showAllResText: {\n name: 'show-all-res-text',\n control: 'text',\n description: 'La label da mostrare per il pulsante che mostra tutti i risultati.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'Mostra tutti i risultati' },\n },\n },\n variant: {\n name: 'variant',\n control: 'select',\n options: ['filled', 'linear', 'outline'],\n description: 'Scelta dello stile della barra di ricerca tra filled, linear e outline.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'outline' },\n },\n },\n withBtn: {\n name: 'with-btn',\n control: 'boolean',\n description: 'Se true, aggiunge un pulsante alla barra di ricerca',\n if: {\n arg: 'variant',\n neq: 'linear',\n },\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: 'false' },\n },\n },\n debounceTime: {\n name: 'debounce-time',\n control: 'number',\n description: 'Il tempo di attesa per l\\'invio della ricerca in caso di ricerca automatica. In millisecondi.',\n if: {\n arg: 'searchType',\n eq: 'auto',\n },\n table: {\n type: { summary: 'number' },\n defaultValue: { summary: 500 },\n },\n },\n recentsTitle: {\n name: 'recents-title',\n control: 'text',\n description: 'Serve per il titolo del dropwdown quando si vedono le ricerche recenti',\n if: {\n arg: 'dropdown',\n eq: 'true',\n },\n },\n recents: {\n name: 'recents',\n control: 'object',\n description: 'Serve per il dropdown quando si vedono le ricerche recenti',\n if: {\n arg: 'dropdown',\n eq: 'true',\n },\n },\n results: {\n name: 'results',\n control: 'object',\n description: 'Serve per il dropdown quando si vedono i risultati della ricerca',\n if: {\n arg: 'dropdown',\n eq: 'true',\n },\n },\n linearIconOnly: {\n name: 'linear-icon-only',\n control: 'boolean',\n description: 'Se true, la barra di tipo lineare mostrerà solo l\\'icona di ricerca',\n if: {\n arg: 'variant',\n eq: 'linear',\n },\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: 'false' },\n },\n },\n dropdown: {\n name: 'dropdown',\n control: 'boolean',\n description: 'Se true, mostra il dropdown con i risultati della ricerca',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: 'false' },\n },\n }, \n dropdownPosition: {\n name: 'dropdown-position',\n control: 'select',\n options: ['absolute', 'relative'],\n description: 'La posizione del dropdown rispetto alla searchbar tra asbolute e relative',\n if: {\n arg: 'dropdown',\n eq: true,\n },\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'relative' },\n },\n },\n }\n}\n\nconst Template = (args) => {\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-search-bar ${attributes}></jump-search-bar>`);\n}\n\nexport const SearchBar = Template.bind({});\nSearchBar.args = {\n placeholder: 'Cerca...',\n};\n\nexport const SearchBarLinearOnlyIcon = Template.bind({});\nSearchBarLinearOnlyIcon.args = {\n placeholder: 'Cerca...',\n variant: 'linear',\n linearIconOnly: true,\n};\n\nexport const SearchBarOutlineWithBtn = Template.bind({});\nSearchBarOutlineWithBtn.args = {\n placeholder: 'Cerca...',\n variant: 'outline',\n withBtn: true,\n};\n\nexport const SearchBarOutlineWithoutBtn = Template.bind({});\nSearchBarOutlineWithoutBtn.args = {\n placeholder: 'Cerca...',\n variant: 'outline',\n withBtn: false,\n};\n\nconst TemplateWithRecents = (args) => {\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-search-bar ${attributes}>\n <jump-search-bar-dropdown-item value=\"Prima\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Seconda\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Terza\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n </jump-search-bar>`);\n}\n\nexport const SearchBarWithDropdownRecents = TemplateWithRecents.bind({});\nSearchBarWithDropdownRecents.args = {\n dropdown: true,\n};\n\nconst TemplateWithResults = (args, data) => {\n let id = data.id;\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-search-bar ${attributes}>\n <jump-search-bar-dropdown-item value=\"Prima opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Seconda opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Terza opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Quarta opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n </jump-search-bar>\n <div>L'utente ha cercato per le parole: <span id=\"search\">loading..<span></div>\n <div>L'utente ha selezionato il risultato: <span id=\"result\">loading..<span></div>\n <script>\n (function(){\n let container = document.querySelector('#story--${id}');\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar', (ev) => {\n container.querySelector('#search').innerText = ev.detail.search;\n if(ev.detail.search != ''){\n\n // Il timeout è inserito a scopo dimostrativo per far vedere il caricamento dei risultati\n setTimeout(() => {\n console.log(\"Delayed for 2 second.\");\n container.querySelector('jump-search-bar').setResults([\n {\n \"value\": \"Primo risultato\",\n \"img\": \"https://t4.ftcdn.net/jpg/06/30/49/51/360_F_630495183_8pznBkSto7BmBYyhtVfAKbptBXlNxACy.jpg\",\n \"href\": \"https://www.google.com\",\n \"details\": {\n \"key:\": \"value\",\n \"key1:\": \"value1\"\n }\n },\n {\n \"value\": \"Seconda risultato\",\n \"img\": \"https://as2.ftcdn.net/v2/jpg/03/72/38/41/1000_F_372384189_UFzmQZQKD13dzTWILcDqbsRGDX868F5T.jpg\",\n \"href\": \"https://www.google.com\",\n \"details\": {\n \"key:\": \"value\",\n \"key1:\": \"value1\"\n }\n },\n {\n \"value\": \"Terza risultato\",\n \"img\": \"https://as2.ftcdn.net/v2/jpg/06/14/79/27/1000_F_614792718_QAEYmOvD6BFhfTGD0bFNJfWDcubKNSFv.jpg\",\n \"href\": \"https://www.google.com\",\n \"details\": {\n \"key:\": \"value\",\n \"key1:\": \"value1\"\n }\n },\n {\n \"value\": \"quarto risultato\",\n \"img\": \"https://as2.ftcdn.net/v2/jpg/07/85/54/73/1000_F_785547378_iHd50UIEpMx3dXabLFcglBfGr2unpHDd.jpg\",\n \"href\": \"https://www.google.com\",\n \"details\": {\n \"key:\": \"value\",\n \"key1:\": \"value1\"\n }\n }\n ], 23)\n\n }, \"2000\");\n\n \n }\n });\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar-res-clicked', (ev) => {\n console.log('Cliccato sul risultato', ev.detail.clicked);\n container.querySelector('#result').innerText = ev.detail.clicked.value;\n });\n\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar-show-all', (ev) => {\n console.log('Vai nella pagina di ricerca', ev.detail);\n });\n })();\n </script>`);\n}\n\nexport const SearchBarWithDropdownResults = TemplateWithResults.bind({});\nSearchBarWithDropdownResults.args = {\n dropdown: true,\n withBtn: true,\n};\n\nconst TemplateWithResultsDropdownAbsolute = (args, data) => {\n let id = data.id;\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-search-bar ${attributes}>\n <jump-search-bar-dropdown-item value=\"Prima opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Seconda opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Terza opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Quarta opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n </jump-search-bar>\n <div>L'utente ha cercato per le parole: <span id=\"search\">loading..<span></div>\n <div>L'utente ha selezionato il risultato: <span id=\"result\">loading..<span></div>\n <script>\n (function(){\n let container = document.querySelector('#story--${id}');\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar', (ev) => {\n container.querySelector('#search').innerText = ev.detail.search;\n if(ev.detail.search != ''){\n\n // Il timeout è inserito a scopo dimostrativo per far vedere il caricamento dei risultati\n setTimeout(() => {\n console.log(\"Delayed for 2 second.\");\n container.querySelector('jump-search-bar').setResults([\n {\n \"value\": \"Primo risultato\",\n \"img\": \"https://t4.ftcdn.net/jpg/06/30/49/51/360_F_630495183_8pznBkSto7BmBYyhtVfAKbptBXlNxACy.jpg\",\n \"href\": \"https://www.google.com\",\n \"details\": {\n \"key:\": \"value\",\n \"key1:\": \"value1\"\n }\n },\n {\n \"value\": \"Seconda risultato\",\n \"img\": \"https://as2.ftcdn.net/v2/jpg/03/72/38/41/1000_F_372384189_UFzmQZQKD13dzTWILcDqbsRGDX868F5T.jpg\",\n \"href\": \"https://www.google.com\",\n \"details\": {\n \"key:\": \"value\",\n \"key1:\": \"value1\"\n }\n },\n {\n \"value\": \"Terza risultato\",\n \"img\": \"https://as2.ftcdn.net/v2/jpg/06/14/79/27/1000_F_614792718_QAEYmOvD6BFhfTGD0bFNJfWDcubKNSFv.jpg\",\n \"href\": \"https://www.google.com\",\n \"details\": {\n \"key:\": \"value\",\n \"key1:\": \"value1\"\n }\n },\n {\n \"value\": \"quarto risultato\",\n \"img\": \"https://as2.ftcdn.net/v2/jpg/07/85/54/73/1000_F_785547378_iHd50UIEpMx3dXabLFcglBfGr2unpHDd.jpg\",\n \"href\": \"https://www.google.com\",\n \"details\": {\n \"key:\": \"value\",\n \"key1:\": \"value1\"\n }\n }\n ], 23)\n\n }, \"2000\");\n\n \n }\n });\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar-res-clicked', (ev) => {\n console.log('Cliccato sul risultato', ev.detail.clicked);\n container.querySelector('#result').innerText = ev.detail.clicked.value;\n });\n\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar-show-all', (ev) => {\n console.log('Vai nella pagina di ricerca', ev.detail);\n });\n })();\n </script>`);\n}\n\nexport const SearchBarWithDropdownAbsoluteResults = TemplateWithResultsDropdownAbsolute.bind({});\nSearchBarWithDropdownAbsoluteResults.args = {\n dropdown: true,\n withBtn: true,\n dropdownPosition: 'absolute',\n};\n\nconst TemplateWithNoResults = (args, data) => {\n let id = data.id;\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-search-bar ${attributes}>\n <jump-search-bar-dropdown-item value=\"Prima opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n <jump-search-bar-dropdown-item value=\"Seconda opzione\" details-key=\"value\" img=\"https://via.placeholder.com/150\" href=\"https://www.google.com\"></jump-search-bar-dropdown-item>\n </jump-search-bar>\n <div>L'utente ha cercato per le parole: <span id=\"search\">loading..<span></div>\n <div>L'utente ha selezionato il risultato: <span id=\"result\">loading..<span></div>\n <script>\n (function(){\n let container = document.querySelector('#story--${id}');\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar', (ev) => {\n container.querySelector('#search').innerText = ev.detail.search;\n if(ev.detail.search != ''){\n container.querySelector('jump-search-bar').setResults([])\n }\n });\n container.querySelector('jump-search-bar').addEventListener('jump-search-bar-res-clicked', (ev) => {\n console.log('Cliccato sul risultato', ev.detail.clicked);\n container.querySelector('#result').innerText = ev.detail.clicked.value;\n });\n })();\n </script>`);\n}\n\nexport const SearchBarWithDropdownNoResults = TemplateWithNoResults.bind({});\nSearchBarWithDropdownNoResults.args = {\n dropdown: true,\n};"]}
@@ -0,0 +1,122 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class JumpSearchBarDropdownItem {
3
+ constructor() {
4
+ this.value = undefined;
5
+ this.img = undefined;
6
+ this.href = undefined;
7
+ this.details = undefined;
8
+ }
9
+ componentDidLoad() {
10
+ // devo recuperare da host tutti gli attributi che hanno davanti "details" e creare un oggetto con chiave e valore
11
+ if (this.componentRef.hasAttributes()) {
12
+ const attributes = this.componentRef.attributes;
13
+ this.details = {};
14
+ for (let i = 0; i < attributes.length; i++) {
15
+ if (attributes[i].name.includes('details')) {
16
+ // Come nome della chiave vorrei dare solo quello che c'è dopo details-
17
+ this.details[attributes[i].name.split('details-')[1]] = attributes[i].value;
18
+ }
19
+ }
20
+ }
21
+ this.connectedEvent.emit({
22
+ value: this.value,
23
+ details: this.details,
24
+ img: this.img,
25
+ href: this.href,
26
+ });
27
+ }
28
+ render() {
29
+ return (h(Host, { key: '2cd1b4ef033699ffa631a6529da6c167756ca77b', ref: (el) => this.componentRef = el }));
30
+ }
31
+ static get is() { return "jump-search-bar-dropdown-item"; }
32
+ static get encapsulation() { return "shadow"; }
33
+ static get originalStyleUrls() {
34
+ return {
35
+ "$": ["jump-search-bar-dropdown-item.scss"]
36
+ };
37
+ }
38
+ static get styleUrls() {
39
+ return {
40
+ "$": ["jump-search-bar-dropdown-item.css"]
41
+ };
42
+ }
43
+ static get properties() {
44
+ return {
45
+ "value": {
46
+ "type": "string",
47
+ "mutable": false,
48
+ "complexType": {
49
+ "original": "string",
50
+ "resolved": "string",
51
+ "references": {}
52
+ },
53
+ "required": false,
54
+ "optional": false,
55
+ "docs": {
56
+ "tags": [],
57
+ "text": ""
58
+ },
59
+ "attribute": "value",
60
+ "reflect": false
61
+ },
62
+ "img": {
63
+ "type": "string",
64
+ "mutable": false,
65
+ "complexType": {
66
+ "original": "string",
67
+ "resolved": "string",
68
+ "references": {}
69
+ },
70
+ "required": false,
71
+ "optional": false,
72
+ "docs": {
73
+ "tags": [],
74
+ "text": ""
75
+ },
76
+ "attribute": "img",
77
+ "reflect": false
78
+ },
79
+ "href": {
80
+ "type": "string",
81
+ "mutable": false,
82
+ "complexType": {
83
+ "original": "string",
84
+ "resolved": "string",
85
+ "references": {}
86
+ },
87
+ "required": false,
88
+ "optional": false,
89
+ "docs": {
90
+ "tags": [],
91
+ "text": ""
92
+ },
93
+ "attribute": "href",
94
+ "reflect": false
95
+ }
96
+ };
97
+ }
98
+ static get states() {
99
+ return {
100
+ "details": {}
101
+ };
102
+ }
103
+ static get events() {
104
+ return [{
105
+ "method": "connectedEvent",
106
+ "name": "jump-search-bar-dropdown-item-connected",
107
+ "bubbles": true,
108
+ "cancelable": true,
109
+ "composed": true,
110
+ "docs": {
111
+ "tags": [],
112
+ "text": ""
113
+ },
114
+ "complexType": {
115
+ "original": "any",
116
+ "resolved": "any",
117
+ "references": {}
118
+ }
119
+ }];
120
+ }
121
+ }
122
+ //# sourceMappingURL=jump-search-bar-dropdown-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jump-search-bar-dropdown-item.js","sourceRoot":"","sources":["../../../src/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOvE,MAAM,OAAO,yBAAyB;;;;;;;IAUpC,gBAAgB;QACd,kHAAkH;QAClH,IAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAE3C,wEAAwE;oBACxE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9E,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,EAAiB,GACjD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, State, Prop, Event, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'jump-search-bar-dropdown-item',\n styleUrl: 'jump-search-bar-dropdown-item.scss',\n shadow: true,\n})\nexport class JumpSearchBarDropdownItem {\n private componentRef: HTMLElement;\n\n @Prop() value: string;\n @Prop() img: string;\n @Prop() href: string;\n @State() details: object;\n\n @Event({ eventName: \"jump-search-bar-dropdown-item-connected\" }) connectedEvent;\n\n componentDidLoad() {\n // devo recuperare da host tutti gli attributi che hanno davanti \"details\" e creare un oggetto con chiave e valore\n if(this.componentRef.hasAttributes()) {\n const attributes = this.componentRef.attributes;\n this.details = {};\n for (let i = 0; i < attributes.length; i++) {\n if (attributes[i].name.includes('details')) {\n\n // Come nome della chiave vorrei dare solo quello che c'è dopo details- \n this.details[attributes[i].name.split('details-')[1]] = attributes[i].value;\n }\n }\n }\n\n this.connectedEvent.emit({\n value: this.value,\n details: this.details,\n img: this.img,\n href: this.href,\n });\n }\n\n render() {\n return (\n <Host ref={(el) => this.componentRef = el as HTMLElement}>\n </Host>\n );\n }\n\n}\n"]}