@salesforcedevs/arch-components 1.20.17-alpha8 → 1.25.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 (158) hide show
  1. package/LICENSE +12 -0
  2. package/lwc.config.json +42 -3
  3. package/package.json +36 -46
  4. package/src/assets/css/arch-variables.css +512 -0
  5. package/src/modules/arch/badge/badge.css +22 -0
  6. package/src/modules/arch/badge/badge.html +5 -0
  7. package/src/modules/arch/badge/badge.ts +9 -0
  8. package/src/modules/arch/button/button.css +1 -0
  9. package/src/modules/arch/button/button.html +20 -0
  10. package/src/modules/arch/button/button.ts +67 -0
  11. package/src/modules/arch/buttonLink/buttonLink.css +1 -0
  12. package/src/modules/arch/buttonLink/buttonLink.html +19 -0
  13. package/src/modules/arch/buttonLink/buttonLink.stories.js +34 -0
  14. package/src/modules/arch/buttonLink/buttonLink.ts +8 -0
  15. package/src/modules/arch/buttonStyles/buttonStyles.css +220 -0
  16. package/src/modules/arch/card/card.css +128 -0
  17. package/src/modules/arch/card/card.html +85 -0
  18. package/src/modules/arch/card/card.ts +277 -0
  19. package/src/modules/arch/cardBase/cardBase.css +11 -0
  20. package/src/modules/arch/cardBase/cardBase.html +2 -0
  21. package/src/modules/arch/cardGridA/cardGridA.css +11 -0
  22. package/src/modules/arch/cardGridA/cardGridA.html +21 -0
  23. package/src/modules/arch/cardGridA/cardGridA.stories.js +118 -0
  24. package/src/modules/arch/cardGridA/cardGridA.ts +24 -0
  25. package/src/modules/arch/cardGridC/cardGridC.css +24 -0
  26. package/src/modules/arch/cardGridC/cardGridC.html +22 -0
  27. package/src/modules/arch/cardGridC/cardGridC.stories.js +51 -0
  28. package/src/modules/arch/cardGridC/cardGridC.ts +11 -0
  29. package/src/modules/arch/cardGridD/cardGridD.css +17 -0
  30. package/src/modules/arch/cardGridD/cardGridD.html +20 -0
  31. package/src/modules/arch/cardGridD/cardGridD.stories.js +43 -0
  32. package/src/modules/arch/cardGridD/cardGridD.ts +7 -0
  33. package/src/modules/arch/cardNew/cardNew.css +31 -0
  34. package/src/modules/arch/cardNew/cardNew.html +32 -0
  35. package/src/modules/arch/cardNew/cardNew.ts +66 -0
  36. package/src/modules/arch/children/children.html +2 -0
  37. package/src/modules/arch/children/children.ts +31 -0
  38. package/src/modules/arch/color/color.ts +59 -0
  39. package/src/modules/arch/content/__fixtures__/index.ts +884 -0
  40. package/src/modules/arch/content/content.css +643 -0
  41. package/src/modules/arch/content/content.html +65 -0
  42. package/src/modules/arch/content/content.stories.js +21 -0
  43. package/src/modules/arch/content/content.ts +169 -0
  44. package/src/modules/arch/contentIcon/contentIcon.css +48 -0
  45. package/src/modules/arch/contentIcon/contentIcon.html +15 -0
  46. package/src/modules/arch/contentIcon/contentIcon.stories.js +130 -0
  47. package/src/modules/arch/contentIcon/contentIcon.ts +68 -0
  48. package/src/{common → modules/arch}/context/context.ts +21 -19
  49. package/src/modules/arch/contextAdapter/constants.ts +1 -0
  50. package/src/modules/arch/contextAdapter/contextAdapter.ts +54 -0
  51. package/src/modules/arch/debounce/debounce.ts +32 -0
  52. package/src/modules/arch/dialog/dialog.ts +154 -0
  53. package/src/modules/arch/dialogStyles/dialogStyles.css +90 -0
  54. package/src/modules/arch/effectAdapter/effectAdapter.html +1 -0
  55. package/src/modules/arch/effectAdapter/effectAdapter.ts +28 -0
  56. package/src/modules/arch/explorer/explorer.css +301 -0
  57. package/src/modules/arch/explorer/explorer.html +418 -0
  58. package/src/modules/arch/explorer/explorer.ts +718 -0
  59. package/src/modules/arch/explorer/types.d.ts +60 -0
  60. package/src/modules/arch/fetch/fetch.ts +55 -0
  61. package/src/modules/arch/footerMfe/footerMfe.html +3 -0
  62. package/src/modules/arch/footerMfe/footerMfe.ts +19 -0
  63. package/src/modules/arch/gallery/gallery.css +365 -0
  64. package/src/modules/arch/gallery/gallery.html +71 -0
  65. package/src/modules/arch/gallery/gallery.ts +366 -0
  66. package/src/modules/arch/gallery/types.d.ts +35 -0
  67. package/src/modules/arch/heading/heading.css +1 -0
  68. package/src/modules/arch/heading/heading.html +9 -0
  69. package/src/modules/arch/heading/heading.ts +36 -0
  70. package/src/modules/arch/helpers/helpers.ts +141 -0
  71. package/src/modules/arch/heroA/heroA.css +116 -0
  72. package/src/modules/arch/heroA/heroA.html +28 -0
  73. package/src/modules/arch/heroA/heroA.stories.js +60 -0
  74. package/src/modules/arch/heroA/heroA.ts +53 -0
  75. package/src/modules/arch/heroB/heroB.css +79 -0
  76. package/src/modules/arch/heroB/heroB.html +27 -0
  77. package/src/modules/arch/heroB/heroB.stories.js +55 -0
  78. package/src/modules/arch/heroB/heroB.ts +26 -0
  79. package/src/modules/arch/i18n/i18n.ts +78 -0
  80. package/src/modules/arch/icon/icon.css +28 -0
  81. package/src/modules/arch/icon/icon.html +17 -0
  82. package/src/modules/arch/icon/icon.stories.js +26 -0
  83. package/src/modules/arch/icon/icon.ts +92 -0
  84. package/src/modules/arch/instrumentation/instrumentation.css +1 -0
  85. package/src/modules/arch/instrumentation/instrumentation.html +1 -0
  86. package/src/modules/arch/instrumentation/instrumentation.ts +113 -0
  87. package/src/modules/arch/labels/helpers.ts +25 -0
  88. package/src/modules/arch/labels/pointHelpers.ts +47 -0
  89. package/src/modules/arch/labels/timeHelpers.ts +182 -0
  90. package/src/modules/arch/labels/types.d.ts +5 -0
  91. package/src/modules/arch/logger/logger.ts +33 -0
  92. package/src/modules/arch/menu/menu.ts +260 -0
  93. package/src/modules/arch/overflow/overflow.ts +71 -0
  94. package/src/modules/arch/page/page.css +3 -0
  95. package/src/modules/arch/page/page.html +3 -0
  96. package/src/modules/arch/page/page.stories.js +19 -0
  97. package/src/modules/arch/page/page.ts +3 -0
  98. package/src/modules/arch/pageHeaderA/pageHeaderA.css +82 -0
  99. package/src/modules/arch/pageHeaderA/pageHeaderA.html +24 -0
  100. package/src/modules/arch/pageHeaderA/pageHeaderA.stories.js +25 -0
  101. package/src/modules/arch/pageHeaderA/pageHeaderA.ts +51 -0
  102. package/src/modules/arch/pill/pill.css +70 -0
  103. package/src/modules/arch/pill/pill.html +17 -0
  104. package/src/modules/arch/pill/pill.ts +34 -0
  105. package/src/modules/arch/polling-request.ts +97 -0
  106. package/src/modules/arch/reflectedElement/reflectedElement.html +2 -0
  107. package/src/{common → modules/arch}/reflectedElement/reflectedElement.ts +5 -3
  108. package/src/modules/arch/reset/reset.css +39 -0
  109. package/src/modules/arch/searchList/searchList.css +120 -0
  110. package/src/modules/arch/searchList/searchList.html +46 -0
  111. package/src/modules/arch/searchList/searchList.ts +53 -0
  112. package/src/modules/arch/sectionA/sectionA.css +64 -0
  113. package/src/modules/arch/sectionA/sectionA.html +21 -0
  114. package/src/modules/arch/sectionA/sectionA.stories.js +25 -0
  115. package/src/modules/arch/sectionA/sectionA.ts +27 -0
  116. package/src/modules/arch/select/select.css +40 -0
  117. package/src/modules/arch/select/select.html +24 -0
  118. package/src/modules/arch/select/select.ts +64 -0
  119. package/src/modules/arch/socialShare/socialShare.css +50 -0
  120. package/src/modules/arch/socialShare/socialShare.html +56 -0
  121. package/src/modules/arch/socialShare/socialShare.ts +29 -0
  122. package/src/modules/arch/spinner/spinner.css +195 -0
  123. package/src/modules/arch/spinner/spinner.html +9 -0
  124. package/src/modules/arch/spinner/spinner.ts +15 -0
  125. package/src/modules/arch/styles/styles.css +24 -0
  126. package/src/modules/arch/summary/summary.css +134 -0
  127. package/src/modules/arch/summary/summary.html +71 -0
  128. package/src/modules/arch/summary/summary.stories.js +163 -0
  129. package/src/modules/arch/summary/summary.ts +96 -0
  130. package/src/modules/arch/tab/tab.css +3 -0
  131. package/src/modules/arch/tab/tab.html +5 -0
  132. package/src/modules/arch/tab/tab.ts +46 -0
  133. package/src/modules/arch/tabset/tabset.css +112 -0
  134. package/src/modules/arch/tabset/tabset.html +62 -0
  135. package/src/modules/arch/tabset/tabset.ts +244 -0
  136. package/src/modules/arch/testutils.ts +118 -0
  137. package/src/modules/arch/threeCardGrid/threeCardGrid.css +6 -0
  138. package/src/modules/arch/threeCardGrid/threeCardGrid.html +5 -0
  139. package/src/modules/arch/threeCardGrid/threeCardGrid.ts +3 -0
  140. package/src/modules/arch/track/track.ts +23 -0
  141. package/src/modules/arch/trailhead.ts +120 -0
  142. package/src/modules/arch/types.d.ts +1 -0
  143. package/src/modules/arch/useEffectAttr.ts +16 -0
  144. package/src/modules/arch/utils/utils.ts +20 -0
  145. package/src/modules/arch/withState.ts +21 -0
  146. package/src/modules/arch/xsfMfeEvents/xsfMfeEvents.html +1 -0
  147. package/src/modules/arch/xsfMfeEvents/xsfMfeEvents.ts +47 -0
  148. package/src/common/effectAdapter/__tests__/effectAdapter.test.ts +0 -12
  149. package/src/common/effectAdapter/effectAdapter.ts +0 -18
  150. package/src/common/reflectedElement/__tests__/modules/test/select/select.html +0 -3
  151. package/src/common/reflectedElement/__tests__/modules/test/select/select.ts +0 -7
  152. package/src/common/reflectedElement/__tests__/modules/test/selectTransform/selectTransform.html +0 -3
  153. package/src/common/reflectedElement/__tests__/modules/test/selectTransform/selectTransform.ts +0 -18
  154. package/src/common/reflectedElement/__tests__/reflectedElement.test.ts +0 -75
  155. package/src/common/slot/__tests__/slot.test.ts +0 -96
  156. package/src/common/slot/slot.ts +0 -20
  157. /package/src/{common → modules/arch}/context/context.html +0 -0
  158. /package/src/{common/effectAdapter/effectAdapter.html → modules/arch/contextAdapter/contextAdapter.html} +0 -0
@@ -0,0 +1,418 @@
1
+ <template>
2
+ <div class="filter-header">
3
+ <div>
4
+ <h2 class="filter-title">Search for Patterns & Anti-Patterns</h2>
5
+ <arch-button onclick={handleResetFiltersClick}>
6
+ Clear filters
7
+ </arch-button>
8
+ </div>
9
+ <div class="filter-header">
10
+ <arch-button class="filter-title" onclick={handleFeedbackClick}>
11
+ Submit feedback
12
+ </arch-button>
13
+ <arch-social-share
14
+ title="Pattern &amp; Anti-Pattern Explorer"
15
+ url={shareUrl}
16
+ ></arch-social-share>
17
+ </div>
18
+ </div>
19
+
20
+ <div class="filter-form">
21
+ <arch-select
22
+ id="Trusted"
23
+ label="Trusted"
24
+ value={_selectedTrusted}
25
+ onchange={filterChange}
26
+ >
27
+ <option value="-1">Select a Dimension</option>
28
+ <template for:each={trustedArr} for:item="behavior">
29
+ <optgroup label={behavior.Name} key={behavior.Name}>
30
+ <template
31
+ for:each={behavior.Dimensions}
32
+ for:item="dimension"
33
+ >
34
+ <template if:false={dimension.isDisabled}>
35
+ <option key={dimension.Name} value={dimension.Name}>
36
+ {dimension.Name}
37
+ </option>
38
+ </template>
39
+ <template if:true={dimension.isDisabled}>
40
+ <option
41
+ key={dimension.Name}
42
+ value={dimension.Name}
43
+ disabled
44
+ >
45
+ {dimension.Name}
46
+ </option>
47
+ </template>
48
+ </template>
49
+ </optgroup>
50
+ </template>
51
+ </arch-select>
52
+
53
+ <arch-select
54
+ id="Easy"
55
+ label="Easy"
56
+ value={_selectedEasy}
57
+ onchange={filterChange}
58
+ >
59
+ <option value="-1">Select a Dimension</option>
60
+ <template for:each={easyArr} for:item="behavior">
61
+ <optgroup label={behavior.Name} key={behavior.Name}>
62
+ <template
63
+ for:each={behavior.Dimensions}
64
+ for:item="dimension"
65
+ >
66
+ <template if:false={dimension.isDisabled}>
67
+ <option key={dimension.Name} value={dimension.Name}>
68
+ {dimension.Name}
69
+ </option>
70
+ </template>
71
+ <template if:true={dimension.isDisabled}>
72
+ <option
73
+ key={dimension.Name}
74
+ value={dimension.Name}
75
+ disabled
76
+ >
77
+ {dimension.Name}
78
+ </option>
79
+ </template>
80
+ </template>
81
+ </optgroup>
82
+ </template>
83
+ </arch-select>
84
+
85
+ <arch-select
86
+ id="Adaptable"
87
+ label="Adaptable"
88
+ value={_selectedAdaptable}
89
+ onchange={filterChange}
90
+ >
91
+ <option value="-1">Select a Dimension</option>
92
+ <template for:each={adaptableArr} for:item="behavior">
93
+ <optgroup label={behavior.Name} key={behavior.Name}>
94
+ <template
95
+ for:each={behavior.Dimensions}
96
+ for:item="dimension"
97
+ >
98
+ <template if:false={dimension.isDisabled}>
99
+ <option key={dimension.Name} value={dimension.Name}>
100
+ {dimension.Name}
101
+ </option>
102
+ </template>
103
+ <template if:true={dimension.isDisabled}>
104
+ <option
105
+ key={dimension.Name}
106
+ value={dimension.Name}
107
+ disabled
108
+ >
109
+ {dimension.Name}
110
+ </option>
111
+ </template>
112
+ </template>
113
+ </optgroup>
114
+ </template>
115
+ </arch-select>
116
+ <arch-select
117
+ id="ProductArea"
118
+ label="Product Area"
119
+ value={_selectedProductArea}
120
+ onchange={filterChange}
121
+ >
122
+ <option value="-1">Select a Product Area</option>
123
+ <template for:each={productAreasArr} for:item="productArea">
124
+ <template if:false={productArea.isDisabled}>
125
+ <option key={productArea.Name} value={productArea.Name}>
126
+ {productArea.Name}
127
+ </option>
128
+ </template>
129
+ <template if:true={productArea.isDisabled}>
130
+ <option
131
+ key={productArea.Name}
132
+ value={productArea.Name}
133
+ disabled
134
+ >
135
+ {productArea.Name}
136
+ </option>
137
+ </template>
138
+ </template>
139
+ </arch-select>
140
+ <arch-select
141
+ id="Location"
142
+ label="Location"
143
+ value={_selectedLocation}
144
+ onchange={filterChange}
145
+ >
146
+ <option value="-1">Select a Location</option>
147
+ <template for:each={locationsArr} for:item="location">
148
+ <template if:false={location.isDisabled}>
149
+ <option key={location.Name} value={location.Name}>
150
+ {location.Name}
151
+ </option>
152
+ </template>
153
+ <template if:true={location.isDisabled}>
154
+ <option key={location.Name} value={location.Name} disabled>
155
+ {location.Name}
156
+ </option>
157
+ </template>
158
+ </template>
159
+ </arch-select>
160
+
161
+ <div class="search-input">
162
+ <label class="search-input-label" for="search">Search</label>
163
+ <div class="search-input-wrapper">
164
+ <arch-icon
165
+ class="search-input-icon"
166
+ size="small"
167
+ symbol="search"
168
+ ></arch-icon>
169
+ <input
170
+ id="search"
171
+ name="search"
172
+ class="search-input-input"
173
+ placeholder="Search..."
174
+ icon-symbol="search"
175
+ aria-label="Search..."
176
+ value={_keywordFilter}
177
+ oninput={keywordFilterChange}
178
+ />
179
+ </div>
180
+ </div>
181
+
182
+ <div class="selected-pills">
183
+ <template for:each={selectedFilters} for:item="selection">
184
+ <div key={selection.Name} style="max-width: 200px">
185
+ <arch-pill id={selection.Name} onremove={removeFilter}>
186
+ {selection.Name}
187
+ </arch-pill>
188
+ </div>
189
+ </template>
190
+ </div>
191
+ </div>
192
+
193
+ <div class="table-summary">
194
+ <div class="page-size-controls">
195
+ <div>Items per page</div>
196
+ <arch-select value={pageSize} onchange={handlePageSizeChange}>
197
+ <option value="10">10</option>
198
+ <option value="25">25</option>
199
+ <option value="50">50</option>
200
+ <option value="100">100</option>
201
+ <option value="200">200</option>
202
+ </arch-select>
203
+ </div>
204
+ <template if:false={isLoading}>
205
+ <div>
206
+ <div class="filter-stats">{filterStatsLabel}</div>
207
+ <div class="pagination-controls pagination-controls-top">
208
+ <arch-button
209
+ onclick={handlePreviousPageClick}
210
+ disabled={isFirstPage}
211
+ >
212
+ &lt; Previous
213
+ </arch-button>
214
+ <arch-button
215
+ onclick={handleNextPageClick}
216
+ disabled={isLastPage}
217
+ >
218
+ Next &gt;
219
+ </arch-button>
220
+ </div>
221
+ </div>
222
+ <div class="export-buttons">
223
+ <div class="export-label">Export current view:</div>
224
+ <arch-button onclick={handlePdfClick}>
225
+ <arch-icon symbol="download"></arch-icon>
226
+ &nbsp;&nbsp;PDF
227
+ </arch-button>
228
+ <arch-button onclick={handleCsvClick}>
229
+ <arch-icon symbol="download"></arch-icon>
230
+ &nbsp;&nbsp;CSV
231
+ </arch-button>
232
+ </div>
233
+ </template>
234
+ </div>
235
+
236
+ <arch-tabset active-tab-value="pattern">
237
+ <arch-tab label="Patterns" value="pattern" title="Patterns">
238
+ <div class="table-wrapper" id="pattern-table">
239
+ <table>
240
+ <thead>
241
+ <tr class="row-title">
242
+ <th width="50%">
243
+ What Good Looks Like
244
+ <p>Pattern</p>
245
+ </th>
246
+ <th width="20%">
247
+ Where to Look
248
+ <p>Product Area | Location</p>
249
+ </th>
250
+ <th width="30%">
251
+ Learn More
252
+ <p>Dimension | Consideration</p>
253
+ </th>
254
+ </tr>
255
+ </thead>
256
+ <tbody>
257
+ <!-- Table data is loaded -->
258
+ <template if:false={isLoading}>
259
+ <template
260
+ for:each={currentPagePatterns}
261
+ for:item="pattern"
262
+ >
263
+ <tr key={pattern.Id} class="row-pattern">
264
+ <td>
265
+ <p>{pattern.Name}</p>
266
+ <p>{pattern.Description}</p>
267
+ </td>
268
+ <td>
269
+ <p>
270
+ {pattern.ProductArea} | In your
271
+ {pattern.Location}
272
+ </p>
273
+ </td>
274
+ <td>
275
+ <p>
276
+ <a
277
+ href={pattern.DimensionURL}
278
+ target="_blank"
279
+ rel="noopener"
280
+ >
281
+ {pattern.Dimension}
282
+ </a>
283
+ &nbsp;|&nbsp;
284
+ <a
285
+ href={pattern.ConsiderationURL}
286
+ target="_blank"
287
+ rel="noopener"
288
+ >
289
+ {pattern.Consideration}
290
+ </a>
291
+ </p>
292
+ </td>
293
+ </tr>
294
+ </template>
295
+
296
+ <template if:false={hasPatterns}>
297
+ <tr>
298
+ <td colspan="3">
299
+ There are no matching patterns for the
300
+ selected dimensions...
301
+ </td>
302
+ </tr>
303
+ </template>
304
+ </template>
305
+
306
+ <!-- Table data is still loading -->
307
+ <template if:true={isLoading}>
308
+ <tr>
309
+ <td colspan="3">
310
+ Select a dimension to get started...
311
+ </td>
312
+ </tr>
313
+ </template>
314
+ </tbody>
315
+ </table>
316
+ </div>
317
+ </arch-tab>
318
+ <arch-tab
319
+ label="Anti-Patterns"
320
+ value="anti-pattern"
321
+ title="Anti-Patterns"
322
+ >
323
+ <div class="table-wrapper" id="anti-pattern-table">
324
+ <table>
325
+ <thead>
326
+ <tr class="row-title">
327
+ <th width="50%">
328
+ What to Avoid
329
+ <p>Anti-Pattern</p>
330
+ </th>
331
+ <th width="20%">
332
+ Where to Look
333
+ <p>Product Area | Location</p>
334
+ </th>
335
+ <th width="30%">
336
+ Learn More
337
+ <p>Dimension | Consideration</p>
338
+ </th>
339
+ </tr>
340
+ </thead>
341
+ <tbody>
342
+ <!-- Table data is loaded -->
343
+ <template if:false={isLoading}>
344
+ <template
345
+ for:each={currentPageAntiPatterns}
346
+ for:item="pattern"
347
+ >
348
+ <tr key={pattern.Id} class="row-pattern">
349
+ <td>
350
+ <p>{pattern.Name}</p>
351
+ <p>{pattern.Description}</p>
352
+ </td>
353
+ <td>
354
+ <p>
355
+ {pattern.ProductArea} | In your
356
+ {pattern.Location}
357
+ </p>
358
+ </td>
359
+ <td>
360
+ <p>
361
+ <a
362
+ href={pattern.DimensionURL}
363
+ target="_blank"
364
+ rel="noopener"
365
+ >
366
+ {pattern.Dimension}
367
+ </a>
368
+ &nbsp;|&nbsp;
369
+ <a
370
+ href={pattern.ConsiderationURL}
371
+ target="_blank"
372
+ rel="noopener"
373
+ >
374
+ {pattern.Consideration}
375
+ </a>
376
+ </p>
377
+ </td>
378
+ </tr>
379
+ </template>
380
+
381
+ <template if:false={hasAntiPatterns}>
382
+ <tr>
383
+ <td colspan="3">
384
+ There are no matching anti-patterns for
385
+ the selected dimensions...
386
+ </td>
387
+ </tr>
388
+ </template>
389
+ </template>
390
+
391
+ <!-- Table data is still loading -->
392
+ <template if:true={isLoading}>
393
+ <tr>
394
+ <td colspan="3">
395
+ Select a dimension to get started...
396
+ </td>
397
+ </tr>
398
+ </template>
399
+ </tbody>
400
+ </table>
401
+ </div>
402
+ </arch-tab>
403
+ </arch-tabset>
404
+
405
+ <template if:false={isLoading}>
406
+ <div class="pagination-controls">
407
+ <arch-button
408
+ onclick={handlePreviousPageClick}
409
+ disabled={isFirstPage}
410
+ >
411
+ &lt; Previous
412
+ </arch-button>
413
+ <arch-button onclick={handleNextPageClick} disabled={isLastPage}>
414
+ Next &gt;
415
+ </arch-button>
416
+ </div>
417
+ </template>
418
+ </template>