@watermarkinsights/ripple 5.12.0-11 → 5.12.0-12

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 (208) hide show
  1. package/dist/cjs/{chartFunctions-0436714f.js → chartFunctions-a1981e06.js} +1 -1
  2. package/dist/cjs/{functions-e24249e6.js → functions-4b187487.js} +1473 -159
  3. package/dist/cjs/{global-da3d372b.js → global-a84891eb.js} +1 -1
  4. package/dist/cjs/{intl-a70cf8c2.js → intl-7fd0760e.js} +104 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/priv-calendar.cjs.entry.js +1 -1
  7. package/dist/cjs/priv-chart-popover.cjs.entry.js +1 -1
  8. package/dist/cjs/priv-option-list.cjs.entry.js +11 -48
  9. package/dist/cjs/ripple.cjs.js +1 -1
  10. package/dist/cjs/wm-action-menu_2.cjs.entry.js +1 -1
  11. package/dist/cjs/wm-button.cjs.entry.js +1 -1
  12. package/dist/cjs/wm-chart.cjs.entry.js +3 -3
  13. package/dist/cjs/wm-date-range.cjs.entry.js +14 -3
  14. package/dist/cjs/wm-datepicker.cjs.entry.js +1 -1
  15. package/dist/cjs/wm-file.cjs.entry.js +1 -1
  16. package/dist/cjs/wm-input.cjs.entry.js +2 -2
  17. package/dist/cjs/wm-line-chart.cjs.entry.js +7 -6
  18. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +2 -2
  19. package/dist/cjs/wm-modal_3.cjs.entry.js +2 -2
  20. package/dist/cjs/wm-navigation_3.cjs.entry.js +2 -2
  21. package/dist/cjs/wm-navigator.cjs.entry.js +1 -1
  22. package/dist/cjs/wm-nested-select.cjs.entry.js +11 -50
  23. package/dist/cjs/wm-optgroup.cjs.entry.js +1 -1
  24. package/dist/cjs/wm-option_2.cjs.entry.js +5 -17
  25. package/dist/cjs/wm-pagination.cjs.entry.js +63 -11
  26. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +2 -2
  27. package/dist/cjs/wm-search.cjs.entry.js +2 -2
  28. package/dist/cjs/wm-snackbar.cjs.entry.js +9 -4
  29. package/dist/cjs/wm-tab-item_3.cjs.entry.js +7 -2
  30. package/dist/cjs/wm-tag-input.cjs.entry.js +24 -18
  31. package/dist/cjs/wm-tag-option.cjs.entry.js +1 -1
  32. package/dist/cjs/wm-textarea.cjs.entry.js +2 -2
  33. package/dist/cjs/wm-timepicker.cjs.entry.js +1 -1
  34. package/dist/cjs/wm-toggletip.cjs.entry.js +1 -1
  35. package/dist/cjs/wm-uploader.cjs.entry.js +2 -2
  36. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +5 -4
  37. package/dist/collection/components/datepickers/wm-date-range.js +13 -2
  38. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +11 -48
  39. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +14 -53
  40. package/dist/collection/components/selects/wm-select/wm-select.js +8 -20
  41. package/dist/collection/components/wm-pagination/wm-pagination.js +63 -11
  42. package/dist/collection/components/wm-snackbar/wm-snackbar.js +8 -3
  43. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +7 -2
  44. package/dist/collection/components/wm-tag-input/wm-tag-input.js +22 -16
  45. package/dist/collection/global/intl.js +102 -0
  46. package/dist/collection/lang/piglatin.js +9 -1
  47. package/dist/esm/{chartFunctions-7a2b7a90.js → chartFunctions-9099c7e9.js} +1 -1
  48. package/dist/esm/{functions-899cea51.js → functions-00e1916b.js} +1473 -159
  49. package/dist/esm/{global-c1827d25.js → global-20d1dc7b.js} +1 -1
  50. package/dist/esm/{intl-87b9b541.js → intl-a6f16883.js} +104 -2
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm/priv-calendar.entry.js +1 -1
  53. package/dist/esm/priv-chart-popover.entry.js +1 -1
  54. package/dist/esm/priv-option-list.entry.js +11 -48
  55. package/dist/esm/ripple.js +1 -1
  56. package/dist/esm/wm-action-menu_2.entry.js +1 -1
  57. package/dist/esm/wm-button.entry.js +1 -1
  58. package/dist/esm/wm-chart.entry.js +3 -3
  59. package/dist/esm/wm-date-range.entry.js +14 -3
  60. package/dist/esm/wm-datepicker.entry.js +1 -1
  61. package/dist/esm/wm-file.entry.js +1 -1
  62. package/dist/esm/wm-input.entry.js +2 -2
  63. package/dist/esm/wm-line-chart.entry.js +7 -6
  64. package/dist/esm/wm-modal-pss_3.entry.js +2 -2
  65. package/dist/esm/wm-modal_3.entry.js +2 -2
  66. package/dist/esm/wm-navigation_3.entry.js +2 -2
  67. package/dist/esm/wm-navigator.entry.js +1 -1
  68. package/dist/esm/wm-nested-select.entry.js +11 -50
  69. package/dist/esm/wm-optgroup.entry.js +1 -1
  70. package/dist/esm/wm-option_2.entry.js +5 -17
  71. package/dist/esm/wm-pagination.entry.js +63 -11
  72. package/dist/esm/wm-progress-indicator_3.entry.js +2 -2
  73. package/dist/esm/wm-search.entry.js +2 -2
  74. package/dist/esm/wm-snackbar.entry.js +9 -4
  75. package/dist/esm/wm-tab-item_3.entry.js +7 -2
  76. package/dist/esm/wm-tag-input.entry.js +24 -18
  77. package/dist/esm/wm-tag-option.entry.js +1 -1
  78. package/dist/esm/wm-textarea.entry.js +2 -2
  79. package/dist/esm/wm-timepicker.entry.js +1 -1
  80. package/dist/esm/wm-toggletip.entry.js +1 -1
  81. package/dist/esm/wm-uploader.entry.js +2 -2
  82. package/dist/esm-es5/{chartFunctions-7a2b7a90.js → chartFunctions-9099c7e9.js} +1 -1
  83. package/dist/esm-es5/functions-00e1916b.js +1 -0
  84. package/dist/esm-es5/{global-c1827d25.js → global-20d1dc7b.js} +1 -1
  85. package/dist/esm-es5/intl-a6f16883.js +1 -0
  86. package/dist/esm-es5/loader.js +1 -1
  87. package/dist/esm-es5/priv-calendar.entry.js +1 -1
  88. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  89. package/dist/esm-es5/priv-option-list.entry.js +1 -1
  90. package/dist/esm-es5/ripple.js +1 -1
  91. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  92. package/dist/esm-es5/wm-button.entry.js +1 -1
  93. package/dist/esm-es5/wm-chart.entry.js +1 -1
  94. package/dist/esm-es5/wm-date-range.entry.js +1 -1
  95. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  96. package/dist/esm-es5/wm-file.entry.js +1 -1
  97. package/dist/esm-es5/wm-input.entry.js +1 -1
  98. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  99. package/dist/esm-es5/wm-modal-pss_3.entry.js +1 -1
  100. package/dist/esm-es5/wm-modal_3.entry.js +1 -1
  101. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  102. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  103. package/dist/esm-es5/wm-nested-select.entry.js +1 -1
  104. package/dist/esm-es5/wm-optgroup.entry.js +1 -1
  105. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  106. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  107. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  108. package/dist/esm-es5/wm-search.entry.js +1 -1
  109. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  110. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  111. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  112. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  113. package/dist/esm-es5/wm-textarea.entry.js +1 -1
  114. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  115. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  116. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  117. package/dist/ripple/{p-39436e07.system.entry.js → p-00e4af22.system.entry.js} +1 -1
  118. package/dist/ripple/p-05ae54d7.entry.js +1 -0
  119. package/dist/ripple/{p-92b3a061.system.js → p-06bf8746.system.js} +1 -1
  120. package/dist/ripple/{p-639011da.system.entry.js → p-0d89d63c.system.entry.js} +1 -1
  121. package/dist/ripple/p-118c47eb.system.entry.js +1 -0
  122. package/dist/ripple/{p-08c0a003.system.entry.js → p-1a4b7504.system.entry.js} +1 -1
  123. package/dist/ripple/{p-90f4a160.entry.js → p-1a951dfb.entry.js} +1 -1
  124. package/dist/ripple/{p-4392f369.system.entry.js → p-1c8f550f.system.entry.js} +1 -1
  125. package/dist/ripple/p-1f751b87.js +1 -0
  126. package/dist/ripple/p-1fac5bf9.js +1 -0
  127. package/dist/ripple/p-20a8f732.system.entry.js +1 -0
  128. package/dist/ripple/{p-dd566933.entry.js → p-249b56fb.entry.js} +1 -1
  129. package/dist/ripple/{p-56f88847.system.entry.js → p-249d13a1.system.entry.js} +1 -1
  130. package/dist/ripple/p-26906899.entry.js +1 -0
  131. package/dist/ripple/{p-49faa27e.system.entry.js → p-28119645.system.entry.js} +1 -1
  132. package/dist/ripple/{p-3703934b.system.js → p-2f37f3ee.system.js} +1 -1
  133. package/dist/ripple/{p-b22b8da5.system.entry.js → p-335c03d3.system.entry.js} +1 -1
  134. package/dist/ripple/{p-50ba37b9.entry.js → p-363b534b.entry.js} +1 -1
  135. package/dist/ripple/{p-17a72fc6.system.entry.js → p-39f79d71.system.entry.js} +1 -1
  136. package/dist/ripple/{p-dbca5668.system.entry.js → p-3a231f4b.system.entry.js} +1 -1
  137. package/dist/ripple/{p-66b8e9a0.entry.js → p-3d4bb85f.entry.js} +1 -1
  138. package/dist/ripple/{p-3ffd83ff.entry.js → p-4228de00.entry.js} +1 -1
  139. package/dist/ripple/{p-c850c123.system.entry.js → p-522ecb7d.system.entry.js} +1 -1
  140. package/dist/ripple/p-54d6f0f9.entry.js +1 -0
  141. package/dist/ripple/p-56aeee6e.system.entry.js +1 -0
  142. package/dist/ripple/p-5e6a4f70.system.js +1 -0
  143. package/dist/ripple/{p-6c7e754c.js → p-5f5fe905.js} +1 -1
  144. package/dist/ripple/{p-fa0dcbe4.entry.js → p-617c2c75.entry.js} +1 -1
  145. package/dist/ripple/{p-0b779f0c.system.entry.js → p-6524c53e.system.entry.js} +1 -1
  146. package/dist/ripple/{p-b7577799.entry.js → p-6834a6d3.entry.js} +1 -1
  147. package/dist/ripple/{p-ce219de1.system.entry.js → p-68fddfaa.system.entry.js} +1 -1
  148. package/dist/ripple/{p-c32d42ff.system.entry.js → p-694903e6.system.entry.js} +1 -1
  149. package/dist/ripple/{p-94cf5830.system.entry.js → p-7b6a65f8.system.entry.js} +1 -1
  150. package/dist/ripple/{p-f3b7781a.system.entry.js → p-7b7e1eb5.system.entry.js} +1 -1
  151. package/dist/ripple/{p-e9177cb5.entry.js → p-89810563.entry.js} +1 -1
  152. package/dist/ripple/{p-4b6ef736.system.js → p-8acdee87.system.js} +1 -1
  153. package/dist/ripple/{p-e27499cc.entry.js → p-8c1d27a7.entry.js} +1 -1
  154. package/dist/ripple/{p-f6ec10c6.entry.js → p-8e9c24f3.entry.js} +1 -1
  155. package/dist/ripple/{p-3f3dadc5.system.entry.js → p-8f836507.system.entry.js} +1 -1
  156. package/dist/ripple/p-9872623b.entry.js +1 -0
  157. package/dist/ripple/{p-9609af5c.system.entry.js → p-9ab3c088.system.entry.js} +1 -1
  158. package/dist/ripple/{p-98f95d71.entry.js → p-9aedd599.entry.js} +1 -1
  159. package/dist/ripple/{p-ab7a7407.entry.js → p-9b848151.entry.js} +1 -1
  160. package/dist/ripple/{p-8a555fea.system.entry.js → p-a78bb423.system.entry.js} +1 -1
  161. package/dist/ripple/{p-555091aa.system.entry.js → p-a880d9a0.system.entry.js} +1 -1
  162. package/dist/ripple/{p-1fcea04c.entry.js → p-b165d61a.entry.js} +1 -1
  163. package/dist/ripple/{p-e917500f.entry.js → p-b39377c7.entry.js} +1 -1
  164. package/dist/ripple/{p-9479898e.entry.js → p-b9bca547.entry.js} +1 -1
  165. package/dist/ripple/{p-688b090d.entry.js → p-bae2c236.entry.js} +1 -1
  166. package/dist/ripple/{p-5567f97d.system.entry.js → p-c53f3704.system.entry.js} +1 -1
  167. package/dist/ripple/p-c56ff16f.entry.js +1 -0
  168. package/dist/ripple/{p-00daed0d.system.entry.js → p-c8cf09a2.system.entry.js} +1 -1
  169. package/dist/ripple/{p-2d0b6f97.entry.js → p-cbdceb6e.entry.js} +1 -1
  170. package/dist/ripple/p-cc813406.system.js +1 -0
  171. package/dist/ripple/{p-930a43cd.system.entry.js → p-d20a0f0c.system.entry.js} +1 -1
  172. package/dist/ripple/{p-a7709012.entry.js → p-d6111226.entry.js} +1 -1
  173. package/dist/ripple/{p-a94b1ea9.entry.js → p-da68c87c.entry.js} +1 -1
  174. package/dist/ripple/{p-20cb733d.js → p-dba66df1.js} +1 -1
  175. package/dist/ripple/p-ddef82fa.system.entry.js +1 -0
  176. package/dist/ripple/{p-338f476b.entry.js → p-dee6d5a3.entry.js} +1 -1
  177. package/dist/ripple/p-e55d5371.entry.js +1 -0
  178. package/dist/ripple/{p-63faf802.system.entry.js → p-e8c22f01.system.entry.js} +1 -1
  179. package/dist/ripple/{p-d1da356b.entry.js → p-f555831b.entry.js} +1 -1
  180. package/dist/ripple/{p-08cae940.system.entry.js → p-f5c40e9e.system.entry.js} +1 -1
  181. package/dist/ripple/{p-15778b2d.entry.js → p-f9cade98.entry.js} +1 -1
  182. package/dist/ripple/{p-bda32fc9.system.entry.js → p-fa09191b.system.entry.js} +1 -1
  183. package/dist/ripple/{p-8fcd6f3e.system.entry.js → p-fdfca58b.entry.js} +1 -1
  184. package/dist/ripple/ripple.esm.js +1 -1
  185. package/dist/ripple/ripple.js +1 -1
  186. package/dist/types/components/selects/priv-option-list/priv-option-list.d.ts +0 -6
  187. package/dist/types/components/wm-pagination/wm-pagination.d.ts +6 -0
  188. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +1 -0
  189. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +1 -0
  190. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +2 -1
  191. package/dist/types/global/intl.d.ts +22 -0
  192. package/package.json +2 -2
  193. package/dist/esm-es5/functions-899cea51.js +0 -1
  194. package/dist/esm-es5/intl-87b9b541.js +0 -1
  195. package/dist/ripple/p-1a6699ee.entry.js +0 -1
  196. package/dist/ripple/p-29bc2e29.entry.js +0 -1
  197. package/dist/ripple/p-466c31d7.entry.js +0 -1
  198. package/dist/ripple/p-47285fc5.system.entry.js +0 -1
  199. package/dist/ripple/p-529bf080.system.js +0 -1
  200. package/dist/ripple/p-69d44bc5.js +0 -1
  201. package/dist/ripple/p-7dc6ea5b.system.js +0 -1
  202. package/dist/ripple/p-98c0893f.system.entry.js +0 -1
  203. package/dist/ripple/p-b027e0e7.entry.js +0 -1
  204. package/dist/ripple/p-bfe5815c.system.entry.js +0 -1
  205. package/dist/ripple/p-c0deae46.entry.js +0 -1
  206. package/dist/ripple/p-f0645532.entry.js +0 -1
  207. package/dist/ripple/p-f594d6e1.entry.js +0 -1
  208. package/dist/ripple/p-f8192441.js +0 -1
@@ -1,8 +1,24 @@
1
1
  import { h } from "@stencil/core";
2
- import { debounce } from "../../global/functions";
2
+ import { debounce, intl } from "../../global/functions";
3
+ import { globalMessages } from "../../global/intl";
3
4
  export class Pagination {
4
5
  constructor() {
5
6
  this.totalPages = 0;
7
+ this.navigationLabel = intl.formatMessage({
8
+ id: "pagination.navLabel",
9
+ defaultMessage: "Pagination navigation.",
10
+ description: "Label for a navigation HTML element within a pagination UI element",
11
+ });
12
+ this.nextPageButtonLabel = intl.formatMessage({
13
+ id: "pagination.nextPageButtonLabel",
14
+ defaultMessage: "Go to next page",
15
+ description: "Page refers to a paginated list of items",
16
+ });
17
+ this.previousPageButtonLabel = intl.formatMessage({
18
+ id: "pagination.previousPageButtonLabel",
19
+ defaultMessage: "Go to previous page",
20
+ description: "Page refers to a paginated list of items",
21
+ });
6
22
  this.debouncedResize = debounce(() => (this.isLargeSize = this.el.clientWidth > 500), 100);
7
23
  this.getMiddlePageNums = () => {
8
24
  let coreBtns;
@@ -25,6 +41,33 @@ export class Pagination {
25
41
  this.isLargeSize = window.innerWidth > 600;
26
42
  this.srAnnouncement = "";
27
43
  }
44
+ pageButtonLabel(pageNum) {
45
+ return intl.formatMessage({
46
+ id: "pagination.pageButtonLabel",
47
+ defaultMessage: `Go to page {pageNum}`,
48
+ description: "Page refers to a paginated list of items",
49
+ }, {
50
+ pageNum: pageNum,
51
+ });
52
+ }
53
+ lastPageButtonLabel(totalPages) {
54
+ return intl.formatMessage({
55
+ id: "pagination.lastPageButtonLabel",
56
+ defaultMessage: `Go to last page, page {totalPages}`,
57
+ description: "Page refers to a paginated list of items",
58
+ }, {
59
+ totalPages: totalPages,
60
+ });
61
+ }
62
+ currentPageAnnouncement(currentPage) {
63
+ return intl.formatMessage({
64
+ id: "pagination.currentPageAnnouncement",
65
+ defaultMessage: "Current page, {currentPage}.",
66
+ description: "Page refers to a paginated list of items",
67
+ }, {
68
+ currentPage: currentPage,
69
+ });
70
+ }
28
71
  maintainFocusOnNumberChange(el) {
29
72
  window.requestAnimationFrame(() => {
30
73
  switch (el) {
@@ -73,7 +116,7 @@ export class Pagination {
73
116
  updatePageDisplayed(pageNum) {
74
117
  this.value = pageNum;
75
118
  this.wmPaginationPageClicked.emit();
76
- this.srAnnouncement = `Current page, ${this.currentPage}. ${this.getCurrentPagesInView()}`;
119
+ this.srAnnouncement = `${this.currentPageAnnouncement(this.currentPage)} ${this.getCurrentPagesInView()}`;
77
120
  }
78
121
  displayShortPagination() {
79
122
  let pages = [];
@@ -97,7 +140,7 @@ export class Pagination {
97
140
  this.currentPage = pageNum;
98
141
  this.updatePageDisplayed(pageNum);
99
142
  this.maintainFocusOnNumberChange("page");
100
- }, value: pageNum, "aria-label": this.currentPage !== pageNum ? `Go to page ${pageNum}` : "", "aria-current": this.currentPage === pageNum ? "page" : undefined }, pageNum));
143
+ }, value: pageNum, "aria-label": this.currentPage !== pageNum ? this.pageButtonLabel(pageNum) : "", "aria-current": this.currentPage === pageNum ? "page" : undefined }, pageNum));
101
144
  }
102
145
  displayEllipsis() {
103
146
  return h("span", { class: "ellipsis" }, "...");
@@ -116,42 +159,51 @@ export class Pagination {
116
159
  if (end > this.totalItems) {
117
160
  end = this.totalItems;
118
161
  }
119
- return "Viewing " + (begin === end ? `${begin}` : `${begin}–${end} of ${this.totalItems}`);
162
+ return intl.formatMessage({
163
+ id: "pagination.pagesInView",
164
+ defaultMessage: "Viewing {atEnd, select, true {{itemStart}} other {{itemStart}-{itemEnd} of {totalItems}}}",
165
+ description: "Text indicating the range of items displayed in a list, and the total amount of items the list contains",
166
+ }, {
167
+ atEnd: begin === end,
168
+ itemStart: begin,
169
+ itemEnd: end,
170
+ totalItems: this.totalItems,
171
+ });
120
172
  }
121
173
  renderLarge() {
122
174
  return (h("div", { class: "largescreen" }, h("div", { class: "pageview" }, this.getCurrentPagesInView()), h("div", { class: "pagebtncontainer" }, h("button", { id: "previous", class: "paginationbtn previousbtn", onClick: () => {
123
175
  this.currentPage = this.currentPage - 1;
124
176
  this.updatePageDisplayed(this.currentPage);
125
177
  this.maintainFocusOnNumberChange("previous");
126
- }, disabled: this.currentPage === 1, "aria-label": "Go to previous page", "aria-controls": "status" }, "Previous"), this.totalPages < 6 ? this.displayShortPagination() : this.displayLongPagination(), h("button", { id: "next", class: "paginationbtn nextbtn", onClick: () => {
178
+ }, disabled: this.currentPage === 1, "aria-label": this.previousPageButtonLabel, "aria-controls": "status" }, globalMessages.previous), this.totalPages < 6 ? this.displayShortPagination() : this.displayLongPagination(), h("button", { id: "next", class: "paginationbtn nextbtn", onClick: () => {
127
179
  this.currentPage = this.currentPage + 1;
128
180
  this.updatePageDisplayed(this.currentPage);
129
181
  this.maintainFocusOnNumberChange("next");
130
- }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page", "aria-controls": "status" }, "Next"))));
182
+ }, disabled: this.currentPage === this.totalPages, "aria-label": this.nextPageButtonLabel, "aria-controls": "status" }, globalMessages.next))));
131
183
  }
132
184
  renderSmall() {
133
185
  return (h("div", { class: "smallscreen" }, h("div", { class: "pagebtncontainer" }, h("button", { id: "wm-1-arw", class: "paginationbtn", onClick: () => {
134
186
  this.currentPage = 1;
135
187
  this.updatePageDisplayed(1);
136
188
  this.maintainFocusOnNumberChange("prev-arrow");
137
- }, value: 1, "aria-current": this.currentPage === 1 ? "page" : undefined, "aria-label": `Go to page 1`, "aria-controls": "status", disabled: this.currentPage === 1 }, h("svg", { width: "16", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6zM15.41 10.59L10.83 6l4.58-4.59L14 0 8 6l6 6z" }))), h("button", { id: "previous-arw", class: "paginationbtn previousbtn", onClick: () => {
189
+ }, value: 1, "aria-current": this.currentPage === 1 ? "page" : undefined, "aria-label": this.pageButtonLabel(1), "aria-controls": "status", disabled: this.currentPage === 1 }, h("svg", { width: "16", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6zM15.41 10.59L10.83 6l4.58-4.59L14 0 8 6l6 6z" }))), h("button", { id: "previous-arw", class: "paginationbtn previousbtn", onClick: () => {
138
190
  this.currentPage -= 1;
139
191
  this.updatePageDisplayed(this.currentPage);
140
192
  this.maintainFocusOnNumberChange("prev-arrow");
141
- }, disabled: this.currentPage === 1, "aria-label": "Go to previous page" }, h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6z" }))), "Page ", this.currentPage, " of ", this.totalPages, h("button", { id: "next-arw", class: "paginationbtn nextbtn", onClick: () => {
193
+ }, disabled: this.currentPage === 1, "aria-label": this.previousPageButtonLabel }, h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6z" }))), "Page ", this.currentPage, " of ", this.totalPages, h("button", { id: "next-arw", class: "paginationbtn nextbtn", onClick: () => {
142
194
  this.currentPage += 1;
143
195
  this.updatePageDisplayed(this.currentPage);
144
196
  this.maintainFocusOnNumberChange("next-arrow");
145
- }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page" }, h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6z" }))), h("button", { id: `wm-${this.totalPages}-arw`, class: "paginationbtn", onClick: () => {
197
+ }, disabled: this.currentPage === this.totalPages, "aria-label": this.nextPageButtonLabel }, h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6z" }))), h("button", { id: `wm-${this.totalPages}-arw`, class: "paginationbtn", onClick: () => {
146
198
  this.currentPage = this.totalPages;
147
199
  this.updatePageDisplayed(this.totalPages);
148
200
  this.maintainFocusOnNumberChange("next-arrow");
149
- }, value: this.totalPages, "aria-current": this.currentPage === this.totalPages ? "page" : undefined, "aria-label": `Go to last page, page ${this.totalPages}`, "aria-controls": "status", disabled: this.currentPage === this.totalPages }, h("svg", { width: "17", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6zM9.59 10.59L14.17 6 9.59 1.41 11 0l6 6-6 6z" }))))));
201
+ }, value: this.totalPages, "aria-current": this.currentPage === this.totalPages ? "page" : undefined, "aria-label": this.lastPageButtonLabel(this.totalPages), "aria-controls": "status", disabled: this.currentPage === this.totalPages }, h("svg", { width: "17", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6zM9.59 10.59L14.17 6 9.59 1.41 11 0l6 6-6 6z" }))))));
150
202
  }
151
203
  render() {
152
204
  return (
153
205
  // do not render the component if there's only one page
154
- this.totalItems > this.itemsPerPage && (h("nav", { "aria-label": `Pagination Navigation. ${this.getCurrentPagesInView()}. Current page, ${this.currentPage}.` }, this.isLargeSize ? this.renderLarge() : this.renderSmall(), h("div", { id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
206
+ this.totalItems > this.itemsPerPage && (h("nav", { "aria-label": `${this.navigationLabel} ${this.getCurrentPagesInView()}. ${this.currentPageAnnouncement(this.currentPage)}` }, this.isLargeSize ? this.renderLarge() : this.renderSmall(), h("div", { id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
155
207
  }
156
208
  static get is() { return "wm-pagination"; }
157
209
  static get encapsulation() { return "shadow"; }
@@ -1,5 +1,5 @@
1
1
  import { h, Host } from "@stencil/core";
2
- import { generateId, hideTooltip, showTooltip } from "../../global/functions";
2
+ import { generateId, hideTooltip, intl, showTooltip } from "../../global/functions";
3
3
  import { globalMessages } from "../../global/intl";
4
4
  export class Snackbar {
5
5
  constructor() {
@@ -7,6 +7,11 @@ export class Snackbar {
7
7
  this.uid = this.el.id ? this.el.id : generateId();
8
8
  this.focusOnDismiss = null;
9
9
  this.timers = {};
10
+ this.closeSnackMessage = intl.formatMessage({
11
+ id: "snackbar.closeNotification",
12
+ defaultMessage: "Close this notification",
13
+ description: "Notification refers to a notification UI element that can be dismissed",
14
+ });
10
15
  this.notifications = "[]";
11
16
  this.isTabbing = false;
12
17
  this.announcement = "";
@@ -145,9 +150,9 @@ export class Snackbar {
145
150
  this.announcement = message;
146
151
  }
147
152
  renderSnackbars() {
148
- return this.parsedNotifications.map((notification) => (h("div", { class: "wm-snack-wrapper", key: `snack-${notification.id}` }, h("div", { id: `snack-${notification.id}`, class: "wm-snackbar active neutral" }, h("div", { class: "sr-only", tabindex: notification.link ? 0 : -1, onFocus: () => notification.link && this.snackDismissed(notification) }), h("div", { class: "content-wrapper" }, h("div", { class: "msg-wrapper" }, h("span", { class: "msg" }, notification.message), notification.link && (h("a", { id: `action-${notification.id}`, class: `link ${notification.newWindow ? "new-window" : ""}`, "aria-label": `Click to ${notification.link}...${notification.newWindow ? " " + globalMessages.newWindow : ""}`, tabindex: 0, onClick: () => {
153
+ return this.parsedNotifications.map((notification) => (h("div", { class: "wm-snack-wrapper", key: `snack-${notification.id}` }, h("div", { id: `snack-${notification.id}`, class: "wm-snackbar active neutral" }, h("div", { class: "sr-only", tabindex: notification.link ? 0 : -1, onFocus: () => notification.link && this.snackDismissed(notification) }), h("div", { class: "content-wrapper" }, h("div", { class: "msg-wrapper" }, h("span", { class: "msg" }, notification.message), notification.link && (h("a", { id: `action-${notification.id}`, class: `link ${notification.newWindow ? "new-window" : ""}`, "aria-label": `${notification.link}${notification.newWindow ? " " + globalMessages.newWindow : ""}`, tabindex: 0, onClick: () => {
149
154
  this.snackLinkClicked(notification);
150
- }, onKeyDown: (ev) => ev.key === "Enter" && this.snackLinkClicked(notification) }, h("span", { "aria-hidden": "true" }, notification.link), notification.newWindow && h("div", { class: "svg-icon svg-open-in-new" })))), h("button", { id: `close-button-${notification.id}`, "aria-label": "Close this notification", class: "closesnack", tabindex: notification.link ? 0 : -1, onClick: () => this.snackDismissed(notification), onMouseEnter: (ev) => showTooltip("bottom", ev.target, globalMessages.close), onMouseLeave: () => hideTooltip(), onFocus: (ev) => this.isTabbing && showTooltip("bottom", ev.target, globalMessages.close), onBlur: () => hideTooltip() }, h("div", { class: "svg-icon svg-close" }))), h("div", { class: "sr-only", tabindex: notification.link ? 0 : -1, onFocus: () => notification.link && this.snackDismissed(notification) })))));
155
+ }, onKeyDown: (ev) => ev.key === "Enter" && this.snackLinkClicked(notification) }, h("span", { "aria-hidden": "true" }, notification.link), notification.newWindow && h("div", { class: "svg-icon svg-open-in-new" })))), h("button", { id: `close-button-${notification.id}`, "aria-label": this.closeSnackMessage, class: "closesnack", tabindex: notification.link ? 0 : -1, onClick: () => this.snackDismissed(notification), onMouseEnter: (ev) => showTooltip("bottom", ev.target, globalMessages.close), onMouseLeave: () => hideTooltip(), onFocus: (ev) => this.isTabbing && showTooltip("bottom", ev.target, globalMessages.close), onBlur: () => hideTooltip() }, h("div", { class: "svg-icon svg-close" }))), h("div", { class: "sr-only", tabindex: notification.link ? 0 : -1, onFocus: () => notification.link && this.snackDismissed(notification) })))));
151
156
  }
152
157
  render() {
153
158
  return (h(Host, null, h("div", { ref: (el) => (this.snackAreaEl = el), class: {
@@ -1,7 +1,12 @@
1
1
  import { forceUpdate, h, Host } from "@stencil/core";
2
- import { debounce } from "../../../global/functions";
2
+ import { debounce, intl } from "../../../global/functions";
3
3
  export class TabList {
4
4
  constructor() {
5
+ this.selectLabel = intl.formatMessage({
6
+ id: "tab.selectLabel",
7
+ defaultMessage: "Choose a tab",
8
+ description: "Tab refers to a tab UI element",
9
+ });
5
10
  this.debouncedSetLayout = debounce(() => {
6
11
  if (!this.listWidth) {
7
12
  this.setListWidth();
@@ -135,7 +140,7 @@ export class TabList {
135
140
  renderMenuOrTabs() {
136
141
  if (this.menuLayout) {
137
142
  this.hideItems();
138
- return (h("wm-select", { label: "Choose a tab", "label-position": "none" }, this.renderOptions()));
143
+ return (h("wm-select", { label: this.selectLabel, "label-position": "none" }, this.renderOptions()));
139
144
  }
140
145
  else {
141
146
  this.showItems();
@@ -6,25 +6,31 @@ export class TagInput {
6
6
  this.addNewHelpText = intl.formatMessage({
7
7
  id: "tagInput.addNewHelpText",
8
8
  defaultMessage: "Press the Enter or Comma key to add a new tag.",
9
- description: "Help text appearing in a dropdown. Use imperative",
9
+ description: "Instructional text, where tag refers to a tag UI element that can be added to a list. Use imperative",
10
10
  });
11
11
  this.selectionHelpText = intl.formatMessage({
12
12
  id: "tagInput.selectionHelpText",
13
13
  defaultMessage: "Search and select a tag.",
14
- description: "Help text appearing in a dropdown. Use imperative",
14
+ description: "Instructional text, where tag refers to a tag UI element that can be added to a list. Use imperative",
15
15
  });
16
16
  this.maxTagsReachedMessage = intl.formatMessage({
17
17
  id: "tagInput.maxTagsReached",
18
18
  defaultMessage: "No more tags can be added because the limit has been reached.",
19
+ description: "Tag refers to a tag UI element that can be added to a list.",
19
20
  });
20
21
  this.tagAreaInstructions = intl.formatMessage({
21
22
  id: "tagInput.tagAreaInstructions",
22
23
  defaultMessage: "tag selection. Press Backspace or Delete to remove a tag.",
24
+ description: "Label for a UI element where a user can select from a list of tags.",
23
25
  });
24
26
  this.tagsAddedMessage = intl.formatMessage({
25
27
  id: "tagInput.tagsAdded",
26
28
  defaultMessage: "Tags added",
27
- description: "Full message for context: 'Tags added: x/y",
29
+ description: "Tag refers to a tag UI element that can be added to a list. Full message for context: 'Tags added: x/y",
30
+ });
31
+ this.noResultsMessage = intl.formatMessage({
32
+ id: "tagInput.noResults",
33
+ defaultMessage: "No results match your search.",
28
34
  });
29
35
  this.openUp = false;
30
36
  this.inModal = false;
@@ -51,6 +57,13 @@ export class TagInput {
51
57
  this.focusedTagIndex = undefined;
52
58
  this.tagsList = [];
53
59
  }
60
+ addNewTagMessage(newTagName) {
61
+ return intl.formatMessage({
62
+ id: "tagInput.addNewTag",
63
+ defaultMessage: "Add {newTagName}",
64
+ description: "Button text to add a new tag to a list of tags",
65
+ }, { newTagName: newTagName });
66
+ }
54
67
  toggleKeyingOn() {
55
68
  this.isKeying = true;
56
69
  }
@@ -142,13 +155,6 @@ export class TagInput {
142
155
  get tagLimitReached() {
143
156
  return !!(this.maxTags && this.taggedOptions.length >= this.maxTags);
144
157
  }
145
- get noResultsMessage() {
146
- return intl.formatMessage({
147
- id: "tagInput.noResults",
148
- defaultMessage: "No results match your search.",
149
- description: "Message displayed when a user's search returns empty.",
150
- });
151
- }
152
158
  get inputMinimumWidth() {
153
159
  if (this._tagEls) {
154
160
  // 150px is the minimum width of the input field, or the length of the placeholder text
@@ -180,28 +186,28 @@ export class TagInput {
180
186
  return intl.formatMessage({
181
187
  id: "tagInput.tagAdded",
182
188
  defaultMessage: "{tagName} added.",
183
- description: "A confirmation for adding a tag.",
189
+ description: "Confirmation for adding a tag UI element to a list of tags.",
184
190
  }, { tagName: tag });
185
191
  }
186
192
  tagRemovedMessage(tag) {
187
193
  return intl.formatMessage({
188
194
  id: "tagInput.tagRemoved",
189
195
  defaultMessage: "{tagName} removed.",
190
- description: "A confirmation for removing a tag.",
196
+ description: "Confirmation for removing a tag UI element from a list of tags.",
191
197
  }, { tagName: tag });
192
198
  }
193
199
  tagAlreadyAddedMessage(tag) {
194
200
  return intl.formatMessage({
195
201
  id: "tagInput.tagAlreadyAdded",
196
202
  defaultMessage: "{tagName} has already been added.",
197
- description: "An alert for adding a tag that is already present.",
203
+ description: "Alert for adding a tag UI element that is already included in the list.",
198
204
  }, { tagName: tag });
199
205
  }
200
206
  tagLockedMessage(tag) {
201
207
  return intl.formatMessage({
202
208
  id: "tagInput.tagLocked",
203
209
  defaultMessage: "{tagName} is locked and cannot be removed.",
204
- description: "An alert for when a user tries to remove a tag that is locked.",
210
+ description: "Alert indicating a tag UI element cannot be removed from its list.",
205
211
  }, { tagName: tag });
206
212
  }
207
213
  isElOrChild(el) {
@@ -779,7 +785,7 @@ export class TagInput {
779
785
  const optionAlreadyExists = this.isExistingTag(this.inputEl.value.trim());
780
786
  return (this.addNew &&
781
787
  hasNonWhiteSpaceCharacters &&
782
- !optionAlreadyExists && (h("li", { ref: (el) => (this.addNewButton = el), id: "add-new-btn", class: "add-new-btn", onClick: () => this.addTags(inputValue) }, "Add " + inputValue)));
788
+ !optionAlreadyExists && (h("li", { ref: (el) => (this.addNewButton = el), id: "add-new-btn", class: "add-new-btn", onClick: () => this.addTags(inputValue) }, this.addNewTagMessage(inputValue))));
783
789
  }
784
790
  renderTable() {
785
791
  return (h("div", { class: "table-wrapper", onScroll: () => this.dismissTooltip() }, h("table", { id: "table", role: "grid", class: `${this.colWidths ? "fixed-widths" : ""}`, "aria-label": this.label, "aria-multiselectable": "true" }, this.renderTableHeaders(), this.filteredOptionEls.length ? (this.filteredOptionEls.map((o) => this.renderTableRow(o))) : (h("div", { class: "no-results" }, this.noResultsMessage)))));
@@ -840,7 +846,7 @@ export class TagInput {
840
846
  const classes = {
841
847
  focused: !!this._focusedCell && cellId === this._focusedCell.id,
842
848
  };
843
- return (h("td", { id: cellId, class: classes, role: "gridcell", "aria-describedby": `${cellId}-description`, "aria-selected": o.selected ? "true" : "false", "aria-readonly": o.locked ? "true" : null, onMouseEnter: (ev) => this.handleCellMouseEnter(ev), onMouseLeave: () => hideTooltip() }, h("div", { class: `cell-content-wrapper ${overflowRule}` }, o.locked && idx == 0 && h("div", { class: "svg-icon svg-locked" }), val), h("div", { class: "description", id: `${cellId}-description` }, o.locked ? "locked" : "")));
849
+ return (h("td", { id: cellId, class: classes, role: "gridcell", "aria-describedby": `${cellId}-description`, "aria-selected": o.selected ? "true" : "false", "aria-readonly": o.locked ? "true" : null, onMouseEnter: (ev) => this.handleCellMouseEnter(ev), onMouseLeave: () => hideTooltip() }, h("div", { class: `cell-content-wrapper ${overflowRule}` }, o.locked && idx == 0 && h("div", { class: "svg-icon svg-locked" }), val), h("div", { class: "description", id: `${cellId}-description` }, o.locked ? globalMessages.locked : "")));
844
850
  });
845
851
  }
846
852
  renderTableRow(o) {
@@ -19,6 +19,11 @@ export const globalMessages = {
19
19
  defaultMessage: "Hide",
20
20
  description: "For a button, to hide something",
21
21
  }),
22
+ locked: intl.formatMessage({
23
+ id: "global.locked",
24
+ defaultMessage: "locked",
25
+ description: "For an interactive element, indicating its state cannot be changed",
26
+ }),
22
27
  newWindow: intl.formatMessage({
23
28
  id: "global.newWindowLink",
24
29
  defaultMessage: "Opens in a new window.",
@@ -159,6 +164,11 @@ export const lineChartMessages = {
159
164
  defaultMessage: "No Data",
160
165
  description: "Message displayed when a data point has missing data",
161
166
  }),
167
+ highlightQualifier: intl.formatMessage({
168
+ id: "linechart.highlightQualifier",
169
+ defaultMessage: "highlighted",
170
+ description: "Descriptor for highlighted areas of a chart",
171
+ }),
162
172
  // -------------------------------------------------------------------------- //
163
173
  // Functions //
164
174
  // -------------------------------------------------------------------------- //
@@ -169,4 +179,96 @@ export const lineChartMessages = {
169
179
  }, {
170
180
  time: prevXValue,
171
181
  }),
182
+ getToggleButtonLabel: (itemCount) => intl.formatMessage({
183
+ id: "linechart.toggleButtonLabel",
184
+ defaultMessage: "Toggle line visibility, list with {itemCount} items",
185
+ }, {
186
+ itemCount: itemCount,
187
+ }),
188
+ getToggleButtonState: (isPressed) => intl.formatMessage({
189
+ id: "linechart.toggleButtonState",
190
+ defaultMessage: "toggle {isPressed, select, true {pressed} other {}}",
191
+ description: "Descriptor and state for a toggle button UI element",
192
+ }, {
193
+ isPressed: isPressed,
194
+ }),
195
+ getLineFocusAnnouncement: (label, lineNumber, lineTotal, lineLength) => intl.formatMessage({
196
+ id: "linechart.getLineFocusAnnouncement",
197
+ defaultMessage: `{label}, line {lineNumber} of {lineTotal} with {lineLength} data points`,
198
+ }, {
199
+ label: label,
200
+ lineNumber: lineNumber,
201
+ lineTotal: lineTotal,
202
+ lineLength: lineLength,
203
+ }),
204
+ };
205
+ export const selectMessages = {
206
+ multiPlaceholder: intl.formatMessage({
207
+ id: "select.multiPlaceholder",
208
+ defaultMessage: "Make a selection",
209
+ }),
210
+ singlePlaceholder: intl.formatMessage({
211
+ id: "select.singlePlaceholder",
212
+ defaultMessage: "Select an Option",
213
+ }),
214
+ multiClearSelection: intl.formatMessage({
215
+ id: "select.multiClearSelection",
216
+ defaultMessage: "Clear all Selections",
217
+ description: "Clear as in remove. Use imperative",
218
+ }),
219
+ singleClearSelection: intl.formatMessage({
220
+ id: "select.singleClearSelection",
221
+ defaultMessage: "Clear Selection",
222
+ description: "Clear as in remove. Use imperative",
223
+ }),
224
+ selectionCleared: intl.formatMessage({
225
+ id: "select.selectionCleared",
226
+ defaultMessage: "Selection cleared",
227
+ }),
228
+ searchPlaceholder: intl.formatMessage({
229
+ id: "select.searchPlaceholder",
230
+ defaultMessage: "Search",
231
+ description: "Appears in a search field UI element",
232
+ }),
233
+ allSelected: intl.formatMessage({
234
+ id: "select.allSelected",
235
+ defaultMessage: "All selected",
236
+ description: "Indicates all possible options have been selected",
237
+ }),
238
+ selectAllMessage: intl.formatMessage({
239
+ id: "select.selectAll",
240
+ defaultMessage: "Select All",
241
+ }),
242
+ deselectAllMessage: intl.formatMessage({
243
+ id: "select.deselectAll",
244
+ defaultMessage: "Deselect All",
245
+ }),
246
+ allOptionsSelectedMessage: intl.formatMessage({
247
+ id: "select.allOptionsSelected",
248
+ defaultMessage: "All options selected",
249
+ }),
250
+ allOptionsDeselectedMessage: intl.formatMessage({
251
+ id: "select.allOptionsDeselected",
252
+ defaultMessage: "All options deselected",
253
+ }),
254
+ noSearchResults: intl.formatMessage({
255
+ id: "select.noSearchResults",
256
+ defaultMessage: "No results found. Please try your search again.",
257
+ }),
258
+ optgroupSingleSelectionCount: () => intl.formatMessage({
259
+ id: "select.optgroupSingleSelectionCount",
260
+ defaultMessage: "Item Selected",
261
+ description: "Item refers to an option in a list",
262
+ }),
263
+ // -------------------------------------------------------------------------- //
264
+ // Functions //
265
+ // -------------------------------------------------------------------------- //
266
+ getOptgroupMultipleSelectionCount: (selectionCount) => intl.formatMessage({
267
+ id: "select.optgroupMultipleSelectionCount",
268
+ defaultMessage: "{numberSelected} selected",
269
+ }, { numberSelected: selectionCount }),
270
+ getSearchResultsFound: (numResults) => intl.formatMessage({
271
+ id: "select.searchResultsFound",
272
+ defaultMessage: "{numberResults, plural, one {1 option found} other {# options found}}",
273
+ }, { numberResults: numResults }),
172
274
  };
@@ -83,11 +83,19 @@ function pigLatinize(word) {
83
83
  return specialKBefore + word + specialKAfter;
84
84
  }
85
85
 
86
+ function pigifyIgnoringTags(word) {
87
+ const tagPattern = /<\/?[^>]+>/g;
88
+
89
+ const strippedText = word.replace(tagPattern, "");
90
+ const pigifiedText = pigLatinize(strippedText);
91
+ return word.replace(strippedText, pigifiedText);
92
+ }
93
+
86
94
  function translateSentence(string) {
87
95
  let words = string.split(" ");
88
96
  return words
89
97
  .reduce((acc, word) => {
90
- return acc + " " + pigLatinize(word);
98
+ return acc + " " + pigifyIgnoringTags(word);
91
99
  }, "")
92
100
  .substring(1); // rm leading space
93
101
  }
@@ -1,5 +1,5 @@
1
1
  import { h } from './index-558b5a82.js';
2
- import { i as intl, c as checkForActiveElInShadow, e as safeMultiplyFloat, f as getPosition } from './functions-899cea51.js';
2
+ import { i as intl, c as checkForActiveElInShadow, e as safeMultiplyFloat, f as getPosition } from './functions-00e1916b.js';
3
3
 
4
4
  const colors = {
5
5
  salmon: "#ff5f4e",