@cloudscape-design/components 3.0.345 → 3.0.347

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 (209) hide show
  1. package/alert/internal.js +1 -1
  2. package/alert/internal.js.map +1 -1
  3. package/app-layout/index.js +1 -1
  4. package/app-layout/index.js.map +1 -1
  5. package/area-chart/chart-container.d.ts.map +1 -1
  6. package/area-chart/chart-container.js +8 -4
  7. package/area-chart/chart-container.js.map +1 -1
  8. package/area-chart/elements/use-highlight-details.js +1 -1
  9. package/area-chart/elements/use-highlight-details.js.map +1 -1
  10. package/attribute-editor/row.js +1 -1
  11. package/attribute-editor/row.js.map +1 -1
  12. package/autosuggest/autosuggest-option.js +1 -1
  13. package/autosuggest/autosuggest-option.js.map +1 -1
  14. package/autosuggest/internal.js +1 -1
  15. package/autosuggest/internal.js.map +1 -1
  16. package/breadcrumb-group/internal.js +1 -1
  17. package/breadcrumb-group/internal.js.map +1 -1
  18. package/button/internal.d.ts.map +1 -1
  19. package/button/internal.js +24 -2
  20. package/button/internal.js.map +1 -1
  21. package/calendar/internal.js +1 -1
  22. package/calendar/internal.js.map +1 -1
  23. package/cards/index.js +1 -1
  24. package/cards/index.js.map +1 -1
  25. package/code-editor/index.js +1 -1
  26. package/code-editor/index.js.map +1 -1
  27. package/code-editor/status-bar.js +1 -1
  28. package/code-editor/status-bar.js.map +1 -1
  29. package/collection-preferences/content-display/index.js +1 -1
  30. package/collection-preferences/content-display/index.js.map +1 -1
  31. package/collection-preferences/index.js +1 -1
  32. package/collection-preferences/index.js.map +1 -1
  33. package/collection-preferences/utils.js +1 -1
  34. package/collection-preferences/utils.js.map +1 -1
  35. package/date-picker/index.js +1 -1
  36. package/date-picker/index.js.map +1 -1
  37. package/date-range-picker/calendar/index.js +1 -1
  38. package/date-range-picker/calendar/index.js.map +1 -1
  39. package/date-range-picker/calendar/range-inputs.js +1 -1
  40. package/date-range-picker/calendar/range-inputs.js.map +1 -1
  41. package/date-range-picker/dropdown.js +1 -1
  42. package/date-range-picker/dropdown.js.map +1 -1
  43. package/date-range-picker/index.js +1 -1
  44. package/date-range-picker/index.js.map +1 -1
  45. package/date-range-picker/mode-switcher.js +1 -1
  46. package/date-range-picker/mode-switcher.js.map +1 -1
  47. package/date-range-picker/relative-range/index.js +1 -1
  48. package/date-range-picker/relative-range/index.js.map +1 -1
  49. package/flashbar/collapsible-flashbar.js +1 -1
  50. package/flashbar/collapsible-flashbar.js.map +1 -1
  51. package/flashbar/non-collapsible-flashbar.js +1 -1
  52. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  53. package/form/internal.js +1 -1
  54. package/form/internal.js.map +1 -1
  55. package/form-field/internal.js +1 -1
  56. package/form-field/internal.js.map +1 -1
  57. package/help-panel/index.js +1 -1
  58. package/help-panel/index.js.map +1 -1
  59. package/input/internal.js +1 -1
  60. package/input/internal.js.map +1 -1
  61. package/internal/components/abstract-switch/index.js +1 -1
  62. package/internal/components/abstract-switch/index.js.map +1 -1
  63. package/internal/components/cartesian-chart/bottom-labels.d.ts +14 -5
  64. package/internal/components/cartesian-chart/bottom-labels.d.ts.map +1 -1
  65. package/internal/components/cartesian-chart/bottom-labels.js +14 -15
  66. package/internal/components/cartesian-chart/bottom-labels.js.map +1 -1
  67. package/internal/components/cartesian-chart/left-labels.js +1 -1
  68. package/internal/components/cartesian-chart/left-labels.js.map +1 -1
  69. package/internal/components/chart-filter/index.js +1 -1
  70. package/internal/components/chart-filter/index.js.map +1 -1
  71. package/internal/components/chart-legend/index.js +1 -1
  72. package/internal/components/chart-legend/index.js.map +1 -1
  73. package/internal/components/chart-plot/index.js +1 -1
  74. package/internal/components/chart-plot/index.js.map +1 -1
  75. package/internal/components/chart-status-container/index.js +1 -1
  76. package/internal/components/chart-status-container/index.js.map +1 -1
  77. package/internal/components/token-list/token-limit-toggle.js +1 -1
  78. package/internal/components/token-list/token-limit-toggle.js.map +1 -1
  79. package/internal/environment.js +1 -1
  80. package/internal/environment.json +1 -1
  81. package/internal/manifest.json +1 -1
  82. package/link/internal.js +1 -1
  83. package/link/internal.js.map +1 -1
  84. package/mixed-line-bar-chart/chart-container.d.ts.map +1 -1
  85. package/mixed-line-bar-chart/chart-container.js +60 -37
  86. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  87. package/modal/internal.js +1 -1
  88. package/modal/internal.js.map +1 -1
  89. package/multiselect/internal.js +1 -1
  90. package/multiselect/internal.js.map +1 -1
  91. package/package.json +2 -29
  92. package/pagination/internal.js +1 -1
  93. package/pagination/internal.js.map +1 -1
  94. package/pie-chart/pie-chart.js +1 -1
  95. package/pie-chart/pie-chart.js.map +1 -1
  96. package/pie-chart/segments.js +1 -1
  97. package/pie-chart/segments.js.map +1 -1
  98. package/pie-chart/utils.d.ts +1 -1
  99. package/pie-chart/utils.d.ts.map +1 -1
  100. package/pie-chart/utils.js.map +1 -1
  101. package/popover/body.js +1 -1
  102. package/popover/body.js.map +1 -1
  103. package/popover/internal.js +1 -1
  104. package/popover/internal.js.map +1 -1
  105. package/property-filter/index.js +1 -1
  106. package/property-filter/index.js.map +1 -1
  107. package/s3-resource-selector/s3-in-context/index.js +1 -1
  108. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  109. package/s3-resource-selector/s3-in-context/validation.d.ts +1 -1
  110. package/s3-resource-selector/s3-in-context/validation.d.ts.map +1 -1
  111. package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  112. package/s3-resource-selector/s3-modal/basic-table.d.ts +1 -1
  113. package/s3-resource-selector/s3-modal/basic-table.d.ts.map +1 -1
  114. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  115. package/s3-resource-selector/s3-modal/buckets-table.js +1 -1
  116. package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  117. package/s3-resource-selector/s3-modal/index.js +1 -1
  118. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  119. package/s3-resource-selector/s3-modal/objects-table.js +1 -1
  120. package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  121. package/s3-resource-selector/s3-modal/table-utils.d.ts +1 -1
  122. package/s3-resource-selector/s3-modal/table-utils.d.ts.map +1 -1
  123. package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  124. package/s3-resource-selector/s3-modal/versions-table.js +1 -1
  125. package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  126. package/select/internal.js +1 -1
  127. package/select/internal.js.map +1 -1
  128. package/split-panel/index.js +1 -1
  129. package/split-panel/index.js.map +1 -1
  130. package/table/body-cell/index.js +1 -1
  131. package/table/body-cell/index.js.map +1 -1
  132. package/table/body-cell/inline-editor.js +1 -1
  133. package/table/body-cell/inline-editor.js.map +1 -1
  134. package/table/header-cell/index.js +1 -1
  135. package/table/header-cell/index.js.map +1 -1
  136. package/tabs/tab-header-bar.js +1 -1
  137. package/tabs/tab-header-bar.js.map +1 -1
  138. package/tag-editor/index.js +1 -1
  139. package/tag-editor/index.js.map +1 -1
  140. package/tag-editor/validation.d.ts +1 -1
  141. package/tag-editor/validation.d.ts.map +1 -1
  142. package/tag-editor/validation.js.map +1 -1
  143. package/tiles/tile.d.ts.map +1 -1
  144. package/tiles/tile.js +1 -2
  145. package/tiles/tile.js.map +1 -1
  146. package/top-navigation/internal.js +1 -1
  147. package/top-navigation/internal.js.map +1 -1
  148. package/top-navigation/parts/overflow-menu/index.js +1 -1
  149. package/top-navigation/parts/overflow-menu/index.js.map +1 -1
  150. package/wizard/internal.js +1 -1
  151. package/wizard/internal.js.map +1 -1
  152. package/wizard/wizard-form.d.ts.map +1 -1
  153. package/wizard/wizard-form.js +11 -8
  154. package/wizard/wizard-form.js.map +1 -1
  155. package/internal/i18n/context.d.ts +0 -2
  156. package/internal/i18n/context.d.ts.map +0 -1
  157. package/internal/i18n/context.js +0 -4
  158. package/internal/i18n/context.js.map +0 -1
  159. package/internal/i18n/index.d.ts +0 -2
  160. package/internal/i18n/index.d.ts.map +0 -1
  161. package/internal/i18n/index.js +0 -4
  162. package/internal/i18n/index.js.map +0 -1
  163. package/internal/i18n/messages/all.all.d.ts +0 -3
  164. package/internal/i18n/messages/all.all.js +0 -8627
  165. package/internal/i18n/messages/all.all.json +0 -8697
  166. package/internal/i18n/messages/all.de.d.ts +0 -3
  167. package/internal/i18n/messages/all.de.js +0 -741
  168. package/internal/i18n/messages/all.de.json +0 -751
  169. package/internal/i18n/messages/all.en-GB.d.ts +0 -3
  170. package/internal/i18n/messages/all.en-GB.js +0 -721
  171. package/internal/i18n/messages/all.en-GB.json +0 -724
  172. package/internal/i18n/messages/all.en.d.ts +0 -3
  173. package/internal/i18n/messages/all.en.js +0 -722
  174. package/internal/i18n/messages/all.en.json +0 -721
  175. package/internal/i18n/messages/all.es.d.ts +0 -3
  176. package/internal/i18n/messages/all.es.js +0 -726
  177. package/internal/i18n/messages/all.es.json +0 -732
  178. package/internal/i18n/messages/all.fr.d.ts +0 -3
  179. package/internal/i18n/messages/all.fr.js +0 -759
  180. package/internal/i18n/messages/all.fr.json +0 -765
  181. package/internal/i18n/messages/all.id.d.ts +0 -3
  182. package/internal/i18n/messages/all.id.js +0 -718
  183. package/internal/i18n/messages/all.id.json +0 -726
  184. package/internal/i18n/messages/all.it.d.ts +0 -3
  185. package/internal/i18n/messages/all.it.js +0 -730
  186. package/internal/i18n/messages/all.it.json +0 -737
  187. package/internal/i18n/messages/all.ja.d.ts +0 -3
  188. package/internal/i18n/messages/all.ja.js +0 -725
  189. package/internal/i18n/messages/all.ja.json +0 -730
  190. package/internal/i18n/messages/all.ko.d.ts +0 -3
  191. package/internal/i18n/messages/all.ko.js +0 -699
  192. package/internal/i18n/messages/all.ko.json +0 -713
  193. package/internal/i18n/messages/all.pt-BR.d.ts +0 -3
  194. package/internal/i18n/messages/all.pt-BR.js +0 -729
  195. package/internal/i18n/messages/all.pt-BR.json +0 -737
  196. package/internal/i18n/messages/all.zh-CN.d.ts +0 -3
  197. package/internal/i18n/messages/all.zh-CN.js +0 -701
  198. package/internal/i18n/messages/all.zh-CN.json +0 -703
  199. package/internal/i18n/messages/all.zh-TW.d.ts +0 -3
  200. package/internal/i18n/messages/all.zh-TW.js +0 -700
  201. package/internal/i18n/messages/all.zh-TW.json +0 -702
  202. package/internal/i18n/provider.d.ts +0 -2
  203. package/internal/i18n/provider.d.ts.map +0 -1
  204. package/internal/i18n/provider.js +0 -4
  205. package/internal/i18n/provider.js.map +0 -1
  206. package/internal/i18n/testing.d.ts +0 -2
  207. package/internal/i18n/testing.d.ts.map +0 -1
  208. package/internal/i18n/testing.js +0 -4
  209. package/internal/i18n/testing.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"lib/default/","sources":["tag-editor/validation.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ComponentFormatFunction } from '../internal/i18n/context';\nimport { TagEditorProps } from './interfaces';\n\n/**\n * RegEx for tags.\n * As < ES6 does not support Unicode groups this regex string was generated\n * using a 3rd party library (XRegExp) with the following command:\n *\n * new XRegExp('^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$').toString().\n *\n * The output was then converted to escaped unicode to help prevent corruption\n * during transfer to clients. This was done as the XRegExp library is ~90KB\n * minified and we do not want to include this to our bundle size.\n *\n * @see http://xregexp.com/\n */\nconst ALLOWED_UNICODE_CHARS =\n '\\\\xAA\\\\xB5\\\\xBA\\\\xC0-\\\\xD6\\\\xD8-\\\\xF6\\\\xF8-\\\\u02C1\\\\u02C6-\\\\u02D1\\\\u02E0-\\\\u02E4\\\\u02EC\\\\u02EE\\\\u0370-\\\\u0374\\\\u0376\\\\u0377\\\\u037A-\\\\u037D\\\\u037F\\\\u0386\\\\u0388-\\\\u038A\\\\u038C\\\\u038E-\\\\u03A1\\\\u03A3-\\\\u03F5\\\\u03F7-\\\\u0481\\\\u048A-\\\\u052F\\\\u0531-\\\\u0556\\\\u0559\\\\u0560-\\\\u0588\\\\u05D0-\\\\u05EA\\\\u05EF-\\\\u05F2\\\\u0620-\\\\u064A\\\\u066E\\\\u066F\\\\u0671-\\\\u06D3\\\\u06D5\\\\u06E5\\\\u06E6\\\\u06EE\\\\u06EF\\\\u06FA-\\\\u06FC\\\\u06FF\\\\u0710\\\\u0712-\\\\u072F\\\\u074D-\\\\u07A5\\\\u07B1\\\\u07CA-\\\\u07EA\\\\u07F4\\\\u07F5\\\\u07FA\\\\u0800-\\\\u0815\\\\u081A\\\\u0824\\\\u0828\\\\u0840-\\\\u0858\\\\u0860-\\\\u086A\\\\u08A0-\\\\u08B4\\\\u08B6-\\\\u08BD\\\\u0904-\\\\u0939\\\\u093D\\\\u0950\\\\u0958-\\\\u0961\\\\u0971-\\\\u0980\\\\u0985-\\\\u098C\\\\u098F\\\\u0990\\\\u0993-\\\\u09A8\\\\u09AA-\\\\u09B0\\\\u09B2\\\\u09B6-\\\\u09B9\\\\u09BD\\\\u09CE\\\\u09DC\\\\u09DD\\\\u09DF-\\\\u09E1\\\\u09F0\\\\u09F1\\\\u09FC\\\\u0A05-\\\\u0A0A\\\\u0A0F\\\\u0A10\\\\u0A13-\\\\u0A28\\\\u0A2A-\\\\u0A30\\\\u0A32\\\\u0A33\\\\u0A35\\\\u0A36\\\\u0A38\\\\u0A39\\\\u0A59-\\\\u0A5C\\\\u0A5E\\\\u0A72-\\\\u0A74\\\\u0A85-\\\\u0A8D\\\\u0A8F-\\\\u0A91\\\\u0A93-\\\\u0AA8\\\\u0AAA-\\\\u0AB0\\\\u0AB2\\\\u0AB3\\\\u0AB5-\\\\u0AB9\\\\u0ABD\\\\u0AD0\\\\u0AE0\\\\u0AE1\\\\u0AF9\\\\u0B05-\\\\u0B0C\\\\u0B0F\\\\u0B10\\\\u0B13-\\\\u0B28\\\\u0B2A-\\\\u0B30\\\\u0B32\\\\u0B33\\\\u0B35-\\\\u0B39\\\\u0B3D\\\\u0B5C\\\\u0B5D\\\\u0B5F-\\\\u0B61\\\\u0B71\\\\u0B83\\\\u0B85-\\\\u0B8A\\\\u0B8E-\\\\u0B90\\\\u0B92-\\\\u0B95\\\\u0B99\\\\u0B9A\\\\u0B9C\\\\u0B9E\\\\u0B9F\\\\u0BA3\\\\u0BA4\\\\u0BA8-\\\\u0BAA\\\\u0BAE-\\\\u0BB9\\\\u0BD0\\\\u0C05-\\\\u0C0C\\\\u0C0E-\\\\u0C10\\\\u0C12-\\\\u0C28\\\\u0C2A-\\\\u0C39\\\\u0C3D\\\\u0C58-\\\\u0C5A\\\\u0C60\\\\u0C61\\\\u0C80\\\\u0C85-\\\\u0C8C\\\\u0C8E-\\\\u0C90\\\\u0C92-\\\\u0CA8\\\\u0CAA-\\\\u0CB3\\\\u0CB5-\\\\u0CB9\\\\u0CBD\\\\u0CDE\\\\u0CE0\\\\u0CE1\\\\u0CF1\\\\u0CF2\\\\u0D05-\\\\u0D0C\\\\u0D0E-\\\\u0D10\\\\u0D12-\\\\u0D3A\\\\u0D3D\\\\u0D4E\\\\u0D54-\\\\u0D56\\\\u0D5F-\\\\u0D61\\\\u0D7A-\\\\u0D7F\\\\u0D85-\\\\u0D96\\\\u0D9A-\\\\u0DB1\\\\u0DB3-\\\\u0DBB\\\\u0DBD\\\\u0DC0-\\\\u0DC6\\\\u0E01-\\\\u0E30\\\\u0E32\\\\u0E33\\\\u0E40-\\\\u0E46\\\\u0E81\\\\u0E82\\\\u0E84\\\\u0E87\\\\u0E88\\\\u0E8A\\\\u0E8D\\\\u0E94-\\\\u0E97\\\\u0E99-\\\\u0E9F\\\\u0EA1-\\\\u0EA3\\\\u0EA5\\\\u0EA7\\\\u0EAA\\\\u0EAB\\\\u0EAD-\\\\u0EB0\\\\u0EB2\\\\u0EB3\\\\u0EBD\\\\u0EC0-\\\\u0EC4\\\\u0EC6\\\\u0EDC-\\\\u0EDF\\\\u0F00\\\\u0F40-\\\\u0F47\\\\u0F49-\\\\u0F6C\\\\u0F88-\\\\u0F8C\\\\u1000-\\\\u102A\\\\u103F\\\\u1050-\\\\u1055\\\\u105A-\\\\u105D\\\\u1061\\\\u1065\\\\u1066\\\\u106E-\\\\u1070\\\\u1075-\\\\u1081\\\\u108E\\\\u10A0-\\\\u10C5\\\\u10C7\\\\u10CD\\\\u10D0-\\\\u10FA\\\\u10FC-\\\\u1248\\\\u124A-\\\\u124D\\\\u1250-\\\\u1256\\\\u1258\\\\u125A-\\\\u125D\\\\u1260-\\\\u1288\\\\u128A-\\\\u128D\\\\u1290-\\\\u12B0\\\\u12B2-\\\\u12B5\\\\u12B8-\\\\u12BE\\\\u12C0\\\\u12C2-\\\\u12C5\\\\u12C8-\\\\u12D6\\\\u12D8-\\\\u1310\\\\u1312-\\\\u1315\\\\u1318-\\\\u135A\\\\u1380-\\\\u138F\\\\u13A0-\\\\u13F5\\\\u13F8-\\\\u13FD\\\\u1401-\\\\u166C\\\\u166F-\\\\u167F\\\\u1681-\\\\u169A\\\\u16A0-\\\\u16EA\\\\u16F1-\\\\u16F8\\\\u1700-\\\\u170C\\\\u170E-\\\\u1711\\\\u1720-\\\\u1731\\\\u1740-\\\\u1751\\\\u1760-\\\\u176C\\\\u176E-\\\\u1770\\\\u1780-\\\\u17B3\\\\u17D7\\\\u17DC\\\\u1820-\\\\u1878\\\\u1880-\\\\u1884\\\\u1887-\\\\u18A8\\\\u18AA\\\\u18B0-\\\\u18F5\\\\u1900-\\\\u191E\\\\u1950-\\\\u196D\\\\u1970-\\\\u1974\\\\u1980-\\\\u19AB\\\\u19B0-\\\\u19C9\\\\u1A00-\\\\u1A16\\\\u1A20-\\\\u1A54\\\\u1AA7\\\\u1B05-\\\\u1B33\\\\u1B45-\\\\u1B4B\\\\u1B83-\\\\u1BA0\\\\u1BAE\\\\u1BAF\\\\u1BBA-\\\\u1BE5\\\\u1C00-\\\\u1C23\\\\u1C4D-\\\\u1C4F\\\\u1C5A-\\\\u1C7D\\\\u1C80-\\\\u1C88\\\\u1C90-\\\\u1CBA\\\\u1CBD-\\\\u1CBF\\\\u1CE9-\\\\u1CEC\\\\u1CEE-\\\\u1CF1\\\\u1CF5\\\\u1CF6\\\\u1D00-\\\\u1DBF\\\\u1E00-\\\\u1F15\\\\u1F18-\\\\u1F1D\\\\u1F20-\\\\u1F45\\\\u1F48-\\\\u1F4D\\\\u1F50-\\\\u1F57\\\\u1F59\\\\u1F5B\\\\u1F5D\\\\u1F5F-\\\\u1F7D\\\\u1F80-\\\\u1FB4\\\\u1FB6-\\\\u1FBC\\\\u1FBE\\\\u1FC2-\\\\u1FC4\\\\u1FC6-\\\\u1FCC\\\\u1FD0-\\\\u1FD3\\\\u1FD6-\\\\u1FDB\\\\u1FE0-\\\\u1FEC\\\\u1FF2-\\\\u1FF4\\\\u1FF6-\\\\u1FFC\\\\u2071\\\\u207F\\\\u2090-\\\\u209C\\\\u2102\\\\u2107\\\\u210A-\\\\u2113\\\\u2115\\\\u2119-\\\\u211D\\\\u2124\\\\u2126\\\\u2128\\\\u212A-\\\\u212D\\\\u212F-\\\\u2139\\\\u213C-\\\\u213F\\\\u2145-\\\\u2149\\\\u214E\\\\u2183\\\\u2184\\\\u2C00-\\\\u2C2E\\\\u2C30-\\\\u2C5E\\\\u2C60-\\\\u2CE4\\\\u2CEB-\\\\u2CEE\\\\u2CF2\\\\u2CF3\\\\u2D00-\\\\u2D25\\\\u2D27\\\\u2D2D\\\\u2D30-\\\\u2D67\\\\u2D6F\\\\u2D80-\\\\u2D96\\\\u2DA0-\\\\u2DA6\\\\u2DA8-\\\\u2DAE\\\\u2DB0-\\\\u2DB6\\\\u2DB8-\\\\u2DBE\\\\u2DC0-\\\\u2DC6\\\\u2DC8-\\\\u2DCE\\\\u2DD0-\\\\u2DD6\\\\u2DD8-\\\\u2DDE\\\\u2E2F\\\\u3005\\\\u3006\\\\u3031-\\\\u3035\\\\u303B\\\\u303C\\\\u3041-\\\\u3096\\\\u309D-\\\\u309F\\\\u30A1-\\\\u30FA\\\\u30FC-\\\\u30FF\\\\u3105-\\\\u312F\\\\u3131-\\\\u318E\\\\u31A0-\\\\u31BA\\\\u31F0-\\\\u31FF\\\\u3400-\\\\u4DB5\\\\u4E00-\\\\u9FEF\\\\uA000-\\\\uA48C\\\\uA4D0-\\\\uA4FD\\\\uA500-\\\\uA60C\\\\uA610-\\\\uA61F\\\\uA62A\\\\uA62B\\\\uA640-\\\\uA66E\\\\uA67F-\\\\uA69D\\\\uA6A0-\\\\uA6E5\\\\uA717-\\\\uA71F\\\\uA722-\\\\uA788\\\\uA78B-\\\\uA7B9\\\\uA7F7-\\\\uA801\\\\uA803-\\\\uA805\\\\uA807-\\\\uA80A\\\\uA80C-\\\\uA822\\\\uA840-\\\\uA873\\\\uA882-\\\\uA8B3\\\\uA8F2-\\\\uA8F7\\\\uA8FB\\\\uA8FD\\\\uA8FE\\\\uA90A-\\\\uA925\\\\uA930-\\\\uA946\\\\uA960-\\\\uA97C\\\\uA984-\\\\uA9B2\\\\uA9CF\\\\uA9E0-\\\\uA9E4\\\\uA9E6-\\\\uA9EF\\\\uA9FA-\\\\uA9FE\\\\uAA00-\\\\uAA28\\\\uAA40-\\\\uAA42\\\\uAA44-\\\\uAA4B\\\\uAA60-\\\\uAA76\\\\uAA7A\\\\uAA7E-\\\\uAAAF\\\\uAAB1\\\\uAAB5\\\\uAAB6\\\\uAAB9-\\\\uAABD\\\\uAAC0\\\\uAAC2\\\\uAADB-\\\\uAADD\\\\uAAE0-\\\\uAAEA\\\\uAAF2-\\\\uAAF4\\\\uAB01-\\\\uAB06\\\\uAB09-\\\\uAB0E\\\\uAB11-\\\\uAB16\\\\uAB20-\\\\uAB26\\\\uAB28-\\\\uAB2E\\\\uAB30-\\\\uAB5A\\\\uAB5C-\\\\uAB65\\\\uAB70-\\\\uABE2\\\\uAC00-\\\\uD7A3\\\\uD7B0-\\\\uD7C6\\\\uD7CB-\\\\uD7FB\\\\uF900-\\\\uFA6D\\\\uFA70-\\\\uFAD9\\\\uFB00-\\\\uFB06\\\\uFB13-\\\\uFB17\\\\uFB1D\\\\uFB1F-\\\\uFB28\\\\uFB2A-\\\\uFB36\\\\uFB38-\\\\uFB3C\\\\uFB3E\\\\uFB40\\\\uFB41\\\\uFB43\\\\uFB44\\\\uFB46-\\\\uFBB1\\\\uFBD3-\\\\uFD3D\\\\uFD50-\\\\uFD8F\\\\uFD92-\\\\uFDC7\\\\uFDF0-\\\\uFDFB\\\\uFE70-\\\\uFE74\\\\uFE76-\\\\uFEFC\\\\uFF21-\\\\uFF3A\\\\uFF41-\\\\uFF5A\\\\uFF66-\\\\uFFBE\\\\uFFC2-\\\\uFFC7\\\\uFFCA-\\\\uFFCF\\\\uFFD2-\\\\uFFD7\\\\uFFDA-\\\\uFFDC \\\\xA0\\\\u1680\\\\u2000-\\\\u200A\\\\u2028\\\\u2029\\\\u202F\\\\u205F\\\\u30000-9\\\\xB2\\\\xB3\\\\xB9\\\\xBC-\\\\xBE\\\\u0660-\\\\u0669\\\\u06F0-\\\\u06F9\\\\u07C0-\\\\u07C9\\\\u0966-\\\\u096F\\\\u09E6-\\\\u09EF\\\\u09F4-\\\\u09F9\\\\u0A66-\\\\u0A6F\\\\u0AE6-\\\\u0AEF\\\\u0B66-\\\\u0B6F\\\\u0B72-\\\\u0B77\\\\u0BE6-\\\\u0BF2\\\\u0C66-\\\\u0C6F\\\\u0C78-\\\\u0C7E\\\\u0CE6-\\\\u0CEF\\\\u0D58-\\\\u0D5E\\\\u0D66-\\\\u0D78\\\\u0DE6-\\\\u0DEF\\\\u0E50-\\\\u0E59\\\\u0ED0-\\\\u0ED9\\\\u0F20-\\\\u0F33\\\\u1040-\\\\u1049\\\\u1090-\\\\u1099\\\\u1369-\\\\u137C\\\\u16EE-\\\\u16F0\\\\u17E0-\\\\u17E9\\\\u17F0-\\\\u17F9\\\\u1810-\\\\u1819\\\\u1946-\\\\u194F\\\\u19D0-\\\\u19DA\\\\u1A80-\\\\u1A89\\\\u1A90-\\\\u1A99\\\\u1B50-\\\\u1B59\\\\u1BB0-\\\\u1BB9\\\\u1C40-\\\\u1C49\\\\u1C50-\\\\u1C59\\\\u2070\\\\u2074-\\\\u2079\\\\u2080-\\\\u2089\\\\u2150-\\\\u2182\\\\u2185-\\\\u2189\\\\u2460-\\\\u249B\\\\u24EA-\\\\u24FF\\\\u2776-\\\\u2793\\\\u2CFD\\\\u3007\\\\u3021-\\\\u3029\\\\u3038-\\\\u303A\\\\u3192-\\\\u3195\\\\u3220-\\\\u3229\\\\u3248-\\\\u324F\\\\u3251-\\\\u325F\\\\u3280-\\\\u3289\\\\u32B1-\\\\u32BF\\\\uA620-\\\\uA629\\\\uA6E6-\\\\uA6EF\\\\uA830-\\\\uA835\\\\uA8D0-\\\\uA8D9\\\\uA900-\\\\uA909\\\\uA9D0-\\\\uA9D9\\\\uA9F0-\\\\uA9F9\\\\uAA50-\\\\uAA59\\\\uABF0-\\\\uABF9\\\\uFF10-\\\\uFF19';\nconst DEFAULT_CHAR_REGEX = new RegExp(`^([A-Za-z${ALLOWED_UNICODE_CHARS}_.:/=+\\\\-@]*)$`);\n\nconst SYSTEM_TAG_PREFIX = 'aws:';\nconst MAX_KEY_LENGTH = 128;\nconst MAX_VALUE_LENGTH = 256;\n\nexport interface ValidationError {\n key?: string;\n value?: string;\n}\n\nexport function validate(\n tags: ReadonlyArray<TagEditorProps.Tag>,\n keyDirtyState: ReadonlyArray<boolean>,\n i18n: ComponentFormatFunction<'tag-editor'>,\n i18nStrings: TagEditorProps.I18nStrings | undefined,\n charRegex: RegExp = DEFAULT_CHAR_REGEX\n): ReadonlyArray<ValidationError | undefined> {\n // Create cache to use for duplicate key check\n const tagKeysCache: Record<string, number | undefined> = {};\n tags.forEach(tag => {\n if (tag.key && !tag.markedForRemoval) {\n tagKeysCache[tag.key] = (tagKeysCache[tag.key] ?? 0) + 1;\n }\n });\n\n return tags.map((tag, i) => {\n let keyError: string | undefined, valueError: string | undefined;\n\n if (keyDirtyState[i] && emptyKeyCheck(tag.key)) {\n keyError = i18n('i18nStrings.emptyKeyError', i18nStrings?.emptyKeyError);\n } else if (awsPrefixCheck(tag.key)) {\n keyError = i18n('i18nStrings.awsPrefixError', i18nStrings?.awsPrefixError);\n } else if (invalidCharCheck(tag.key, charRegex)) {\n keyError = i18n('i18nStrings.invalidKeyError', i18nStrings?.invalidKeyError);\n } else if (maxKeyLengthCheck(tag.key)) {\n keyError = i18n('i18nStrings.maxKeyCharLengthError', i18nStrings?.maxKeyCharLengthError);\n } else if (duplicateKeyCheck(tag.key, tagKeysCache)) {\n keyError = i18n('i18nStrings.duplicateKeyError', i18nStrings?.duplicateKeyError);\n }\n\n if (!tag.markedForRemoval) {\n if (invalidCharCheck(tag.value, charRegex)) {\n valueError = i18n('i18nStrings.invalidValueError', i18nStrings?.invalidValueError);\n } else if (maxValueLengthCheck(tag.value)) {\n valueError = i18n('i18nStrings.maxValueCharLengthError', i18nStrings?.maxValueCharLengthError);\n }\n }\n\n if (keyError || valueError) {\n return { key: keyError, value: valueError };\n }\n });\n}\n\nexport const awsPrefixCheck = (value: string) => {\n return value.toLowerCase().indexOf(SYSTEM_TAG_PREFIX) === 0;\n};\n\nexport const emptyKeyCheck = (value: string) => {\n return !value || value.trim().length === 0;\n};\n\nexport const maxKeyLengthCheck = (value: string) => {\n return value && value.length > MAX_KEY_LENGTH;\n};\n\nexport const duplicateKeyCheck = (value: string, keyCache?: Record<string, number | undefined>) => {\n return (keyCache?.[value] ?? 0) > 1;\n};\n\nexport const maxValueLengthCheck = (value: string) => {\n return value && value.length > MAX_VALUE_LENGTH;\n};\n\nexport const invalidCharCheck = (value: string, validCharRegex: RegExp = DEFAULT_CHAR_REGEX) => {\n // Empty values are valid\n if (!value || !validCharRegex) {\n return false;\n }\n return !validCharRegex.test(value);\n};\n"]}
1
+ {"version":3,"file":"validation.js","sourceRoot":"lib/default/","sources":["tag-editor/validation.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ComponentFormatFunction } from '../i18n/context';\nimport { TagEditorProps } from './interfaces';\n\n/**\n * RegEx for tags.\n * As < ES6 does not support Unicode groups this regex string was generated\n * using a 3rd party library (XRegExp) with the following command:\n *\n * new XRegExp('^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$').toString().\n *\n * The output was then converted to escaped unicode to help prevent corruption\n * during transfer to clients. This was done as the XRegExp library is ~90KB\n * minified and we do not want to include this to our bundle size.\n *\n * @see http://xregexp.com/\n */\nconst ALLOWED_UNICODE_CHARS =\n '\\\\xAA\\\\xB5\\\\xBA\\\\xC0-\\\\xD6\\\\xD8-\\\\xF6\\\\xF8-\\\\u02C1\\\\u02C6-\\\\u02D1\\\\u02E0-\\\\u02E4\\\\u02EC\\\\u02EE\\\\u0370-\\\\u0374\\\\u0376\\\\u0377\\\\u037A-\\\\u037D\\\\u037F\\\\u0386\\\\u0388-\\\\u038A\\\\u038C\\\\u038E-\\\\u03A1\\\\u03A3-\\\\u03F5\\\\u03F7-\\\\u0481\\\\u048A-\\\\u052F\\\\u0531-\\\\u0556\\\\u0559\\\\u0560-\\\\u0588\\\\u05D0-\\\\u05EA\\\\u05EF-\\\\u05F2\\\\u0620-\\\\u064A\\\\u066E\\\\u066F\\\\u0671-\\\\u06D3\\\\u06D5\\\\u06E5\\\\u06E6\\\\u06EE\\\\u06EF\\\\u06FA-\\\\u06FC\\\\u06FF\\\\u0710\\\\u0712-\\\\u072F\\\\u074D-\\\\u07A5\\\\u07B1\\\\u07CA-\\\\u07EA\\\\u07F4\\\\u07F5\\\\u07FA\\\\u0800-\\\\u0815\\\\u081A\\\\u0824\\\\u0828\\\\u0840-\\\\u0858\\\\u0860-\\\\u086A\\\\u08A0-\\\\u08B4\\\\u08B6-\\\\u08BD\\\\u0904-\\\\u0939\\\\u093D\\\\u0950\\\\u0958-\\\\u0961\\\\u0971-\\\\u0980\\\\u0985-\\\\u098C\\\\u098F\\\\u0990\\\\u0993-\\\\u09A8\\\\u09AA-\\\\u09B0\\\\u09B2\\\\u09B6-\\\\u09B9\\\\u09BD\\\\u09CE\\\\u09DC\\\\u09DD\\\\u09DF-\\\\u09E1\\\\u09F0\\\\u09F1\\\\u09FC\\\\u0A05-\\\\u0A0A\\\\u0A0F\\\\u0A10\\\\u0A13-\\\\u0A28\\\\u0A2A-\\\\u0A30\\\\u0A32\\\\u0A33\\\\u0A35\\\\u0A36\\\\u0A38\\\\u0A39\\\\u0A59-\\\\u0A5C\\\\u0A5E\\\\u0A72-\\\\u0A74\\\\u0A85-\\\\u0A8D\\\\u0A8F-\\\\u0A91\\\\u0A93-\\\\u0AA8\\\\u0AAA-\\\\u0AB0\\\\u0AB2\\\\u0AB3\\\\u0AB5-\\\\u0AB9\\\\u0ABD\\\\u0AD0\\\\u0AE0\\\\u0AE1\\\\u0AF9\\\\u0B05-\\\\u0B0C\\\\u0B0F\\\\u0B10\\\\u0B13-\\\\u0B28\\\\u0B2A-\\\\u0B30\\\\u0B32\\\\u0B33\\\\u0B35-\\\\u0B39\\\\u0B3D\\\\u0B5C\\\\u0B5D\\\\u0B5F-\\\\u0B61\\\\u0B71\\\\u0B83\\\\u0B85-\\\\u0B8A\\\\u0B8E-\\\\u0B90\\\\u0B92-\\\\u0B95\\\\u0B99\\\\u0B9A\\\\u0B9C\\\\u0B9E\\\\u0B9F\\\\u0BA3\\\\u0BA4\\\\u0BA8-\\\\u0BAA\\\\u0BAE-\\\\u0BB9\\\\u0BD0\\\\u0C05-\\\\u0C0C\\\\u0C0E-\\\\u0C10\\\\u0C12-\\\\u0C28\\\\u0C2A-\\\\u0C39\\\\u0C3D\\\\u0C58-\\\\u0C5A\\\\u0C60\\\\u0C61\\\\u0C80\\\\u0C85-\\\\u0C8C\\\\u0C8E-\\\\u0C90\\\\u0C92-\\\\u0CA8\\\\u0CAA-\\\\u0CB3\\\\u0CB5-\\\\u0CB9\\\\u0CBD\\\\u0CDE\\\\u0CE0\\\\u0CE1\\\\u0CF1\\\\u0CF2\\\\u0D05-\\\\u0D0C\\\\u0D0E-\\\\u0D10\\\\u0D12-\\\\u0D3A\\\\u0D3D\\\\u0D4E\\\\u0D54-\\\\u0D56\\\\u0D5F-\\\\u0D61\\\\u0D7A-\\\\u0D7F\\\\u0D85-\\\\u0D96\\\\u0D9A-\\\\u0DB1\\\\u0DB3-\\\\u0DBB\\\\u0DBD\\\\u0DC0-\\\\u0DC6\\\\u0E01-\\\\u0E30\\\\u0E32\\\\u0E33\\\\u0E40-\\\\u0E46\\\\u0E81\\\\u0E82\\\\u0E84\\\\u0E87\\\\u0E88\\\\u0E8A\\\\u0E8D\\\\u0E94-\\\\u0E97\\\\u0E99-\\\\u0E9F\\\\u0EA1-\\\\u0EA3\\\\u0EA5\\\\u0EA7\\\\u0EAA\\\\u0EAB\\\\u0EAD-\\\\u0EB0\\\\u0EB2\\\\u0EB3\\\\u0EBD\\\\u0EC0-\\\\u0EC4\\\\u0EC6\\\\u0EDC-\\\\u0EDF\\\\u0F00\\\\u0F40-\\\\u0F47\\\\u0F49-\\\\u0F6C\\\\u0F88-\\\\u0F8C\\\\u1000-\\\\u102A\\\\u103F\\\\u1050-\\\\u1055\\\\u105A-\\\\u105D\\\\u1061\\\\u1065\\\\u1066\\\\u106E-\\\\u1070\\\\u1075-\\\\u1081\\\\u108E\\\\u10A0-\\\\u10C5\\\\u10C7\\\\u10CD\\\\u10D0-\\\\u10FA\\\\u10FC-\\\\u1248\\\\u124A-\\\\u124D\\\\u1250-\\\\u1256\\\\u1258\\\\u125A-\\\\u125D\\\\u1260-\\\\u1288\\\\u128A-\\\\u128D\\\\u1290-\\\\u12B0\\\\u12B2-\\\\u12B5\\\\u12B8-\\\\u12BE\\\\u12C0\\\\u12C2-\\\\u12C5\\\\u12C8-\\\\u12D6\\\\u12D8-\\\\u1310\\\\u1312-\\\\u1315\\\\u1318-\\\\u135A\\\\u1380-\\\\u138F\\\\u13A0-\\\\u13F5\\\\u13F8-\\\\u13FD\\\\u1401-\\\\u166C\\\\u166F-\\\\u167F\\\\u1681-\\\\u169A\\\\u16A0-\\\\u16EA\\\\u16F1-\\\\u16F8\\\\u1700-\\\\u170C\\\\u170E-\\\\u1711\\\\u1720-\\\\u1731\\\\u1740-\\\\u1751\\\\u1760-\\\\u176C\\\\u176E-\\\\u1770\\\\u1780-\\\\u17B3\\\\u17D7\\\\u17DC\\\\u1820-\\\\u1878\\\\u1880-\\\\u1884\\\\u1887-\\\\u18A8\\\\u18AA\\\\u18B0-\\\\u18F5\\\\u1900-\\\\u191E\\\\u1950-\\\\u196D\\\\u1970-\\\\u1974\\\\u1980-\\\\u19AB\\\\u19B0-\\\\u19C9\\\\u1A00-\\\\u1A16\\\\u1A20-\\\\u1A54\\\\u1AA7\\\\u1B05-\\\\u1B33\\\\u1B45-\\\\u1B4B\\\\u1B83-\\\\u1BA0\\\\u1BAE\\\\u1BAF\\\\u1BBA-\\\\u1BE5\\\\u1C00-\\\\u1C23\\\\u1C4D-\\\\u1C4F\\\\u1C5A-\\\\u1C7D\\\\u1C80-\\\\u1C88\\\\u1C90-\\\\u1CBA\\\\u1CBD-\\\\u1CBF\\\\u1CE9-\\\\u1CEC\\\\u1CEE-\\\\u1CF1\\\\u1CF5\\\\u1CF6\\\\u1D00-\\\\u1DBF\\\\u1E00-\\\\u1F15\\\\u1F18-\\\\u1F1D\\\\u1F20-\\\\u1F45\\\\u1F48-\\\\u1F4D\\\\u1F50-\\\\u1F57\\\\u1F59\\\\u1F5B\\\\u1F5D\\\\u1F5F-\\\\u1F7D\\\\u1F80-\\\\u1FB4\\\\u1FB6-\\\\u1FBC\\\\u1FBE\\\\u1FC2-\\\\u1FC4\\\\u1FC6-\\\\u1FCC\\\\u1FD0-\\\\u1FD3\\\\u1FD6-\\\\u1FDB\\\\u1FE0-\\\\u1FEC\\\\u1FF2-\\\\u1FF4\\\\u1FF6-\\\\u1FFC\\\\u2071\\\\u207F\\\\u2090-\\\\u209C\\\\u2102\\\\u2107\\\\u210A-\\\\u2113\\\\u2115\\\\u2119-\\\\u211D\\\\u2124\\\\u2126\\\\u2128\\\\u212A-\\\\u212D\\\\u212F-\\\\u2139\\\\u213C-\\\\u213F\\\\u2145-\\\\u2149\\\\u214E\\\\u2183\\\\u2184\\\\u2C00-\\\\u2C2E\\\\u2C30-\\\\u2C5E\\\\u2C60-\\\\u2CE4\\\\u2CEB-\\\\u2CEE\\\\u2CF2\\\\u2CF3\\\\u2D00-\\\\u2D25\\\\u2D27\\\\u2D2D\\\\u2D30-\\\\u2D67\\\\u2D6F\\\\u2D80-\\\\u2D96\\\\u2DA0-\\\\u2DA6\\\\u2DA8-\\\\u2DAE\\\\u2DB0-\\\\u2DB6\\\\u2DB8-\\\\u2DBE\\\\u2DC0-\\\\u2DC6\\\\u2DC8-\\\\u2DCE\\\\u2DD0-\\\\u2DD6\\\\u2DD8-\\\\u2DDE\\\\u2E2F\\\\u3005\\\\u3006\\\\u3031-\\\\u3035\\\\u303B\\\\u303C\\\\u3041-\\\\u3096\\\\u309D-\\\\u309F\\\\u30A1-\\\\u30FA\\\\u30FC-\\\\u30FF\\\\u3105-\\\\u312F\\\\u3131-\\\\u318E\\\\u31A0-\\\\u31BA\\\\u31F0-\\\\u31FF\\\\u3400-\\\\u4DB5\\\\u4E00-\\\\u9FEF\\\\uA000-\\\\uA48C\\\\uA4D0-\\\\uA4FD\\\\uA500-\\\\uA60C\\\\uA610-\\\\uA61F\\\\uA62A\\\\uA62B\\\\uA640-\\\\uA66E\\\\uA67F-\\\\uA69D\\\\uA6A0-\\\\uA6E5\\\\uA717-\\\\uA71F\\\\uA722-\\\\uA788\\\\uA78B-\\\\uA7B9\\\\uA7F7-\\\\uA801\\\\uA803-\\\\uA805\\\\uA807-\\\\uA80A\\\\uA80C-\\\\uA822\\\\uA840-\\\\uA873\\\\uA882-\\\\uA8B3\\\\uA8F2-\\\\uA8F7\\\\uA8FB\\\\uA8FD\\\\uA8FE\\\\uA90A-\\\\uA925\\\\uA930-\\\\uA946\\\\uA960-\\\\uA97C\\\\uA984-\\\\uA9B2\\\\uA9CF\\\\uA9E0-\\\\uA9E4\\\\uA9E6-\\\\uA9EF\\\\uA9FA-\\\\uA9FE\\\\uAA00-\\\\uAA28\\\\uAA40-\\\\uAA42\\\\uAA44-\\\\uAA4B\\\\uAA60-\\\\uAA76\\\\uAA7A\\\\uAA7E-\\\\uAAAF\\\\uAAB1\\\\uAAB5\\\\uAAB6\\\\uAAB9-\\\\uAABD\\\\uAAC0\\\\uAAC2\\\\uAADB-\\\\uAADD\\\\uAAE0-\\\\uAAEA\\\\uAAF2-\\\\uAAF4\\\\uAB01-\\\\uAB06\\\\uAB09-\\\\uAB0E\\\\uAB11-\\\\uAB16\\\\uAB20-\\\\uAB26\\\\uAB28-\\\\uAB2E\\\\uAB30-\\\\uAB5A\\\\uAB5C-\\\\uAB65\\\\uAB70-\\\\uABE2\\\\uAC00-\\\\uD7A3\\\\uD7B0-\\\\uD7C6\\\\uD7CB-\\\\uD7FB\\\\uF900-\\\\uFA6D\\\\uFA70-\\\\uFAD9\\\\uFB00-\\\\uFB06\\\\uFB13-\\\\uFB17\\\\uFB1D\\\\uFB1F-\\\\uFB28\\\\uFB2A-\\\\uFB36\\\\uFB38-\\\\uFB3C\\\\uFB3E\\\\uFB40\\\\uFB41\\\\uFB43\\\\uFB44\\\\uFB46-\\\\uFBB1\\\\uFBD3-\\\\uFD3D\\\\uFD50-\\\\uFD8F\\\\uFD92-\\\\uFDC7\\\\uFDF0-\\\\uFDFB\\\\uFE70-\\\\uFE74\\\\uFE76-\\\\uFEFC\\\\uFF21-\\\\uFF3A\\\\uFF41-\\\\uFF5A\\\\uFF66-\\\\uFFBE\\\\uFFC2-\\\\uFFC7\\\\uFFCA-\\\\uFFCF\\\\uFFD2-\\\\uFFD7\\\\uFFDA-\\\\uFFDC \\\\xA0\\\\u1680\\\\u2000-\\\\u200A\\\\u2028\\\\u2029\\\\u202F\\\\u205F\\\\u30000-9\\\\xB2\\\\xB3\\\\xB9\\\\xBC-\\\\xBE\\\\u0660-\\\\u0669\\\\u06F0-\\\\u06F9\\\\u07C0-\\\\u07C9\\\\u0966-\\\\u096F\\\\u09E6-\\\\u09EF\\\\u09F4-\\\\u09F9\\\\u0A66-\\\\u0A6F\\\\u0AE6-\\\\u0AEF\\\\u0B66-\\\\u0B6F\\\\u0B72-\\\\u0B77\\\\u0BE6-\\\\u0BF2\\\\u0C66-\\\\u0C6F\\\\u0C78-\\\\u0C7E\\\\u0CE6-\\\\u0CEF\\\\u0D58-\\\\u0D5E\\\\u0D66-\\\\u0D78\\\\u0DE6-\\\\u0DEF\\\\u0E50-\\\\u0E59\\\\u0ED0-\\\\u0ED9\\\\u0F20-\\\\u0F33\\\\u1040-\\\\u1049\\\\u1090-\\\\u1099\\\\u1369-\\\\u137C\\\\u16EE-\\\\u16F0\\\\u17E0-\\\\u17E9\\\\u17F0-\\\\u17F9\\\\u1810-\\\\u1819\\\\u1946-\\\\u194F\\\\u19D0-\\\\u19DA\\\\u1A80-\\\\u1A89\\\\u1A90-\\\\u1A99\\\\u1B50-\\\\u1B59\\\\u1BB0-\\\\u1BB9\\\\u1C40-\\\\u1C49\\\\u1C50-\\\\u1C59\\\\u2070\\\\u2074-\\\\u2079\\\\u2080-\\\\u2089\\\\u2150-\\\\u2182\\\\u2185-\\\\u2189\\\\u2460-\\\\u249B\\\\u24EA-\\\\u24FF\\\\u2776-\\\\u2793\\\\u2CFD\\\\u3007\\\\u3021-\\\\u3029\\\\u3038-\\\\u303A\\\\u3192-\\\\u3195\\\\u3220-\\\\u3229\\\\u3248-\\\\u324F\\\\u3251-\\\\u325F\\\\u3280-\\\\u3289\\\\u32B1-\\\\u32BF\\\\uA620-\\\\uA629\\\\uA6E6-\\\\uA6EF\\\\uA830-\\\\uA835\\\\uA8D0-\\\\uA8D9\\\\uA900-\\\\uA909\\\\uA9D0-\\\\uA9D9\\\\uA9F0-\\\\uA9F9\\\\uAA50-\\\\uAA59\\\\uABF0-\\\\uABF9\\\\uFF10-\\\\uFF19';\nconst DEFAULT_CHAR_REGEX = new RegExp(`^([A-Za-z${ALLOWED_UNICODE_CHARS}_.:/=+\\\\-@]*)$`);\n\nconst SYSTEM_TAG_PREFIX = 'aws:';\nconst MAX_KEY_LENGTH = 128;\nconst MAX_VALUE_LENGTH = 256;\n\nexport interface ValidationError {\n key?: string;\n value?: string;\n}\n\nexport function validate(\n tags: ReadonlyArray<TagEditorProps.Tag>,\n keyDirtyState: ReadonlyArray<boolean>,\n i18n: ComponentFormatFunction<'tag-editor'>,\n i18nStrings: TagEditorProps.I18nStrings | undefined,\n charRegex: RegExp = DEFAULT_CHAR_REGEX\n): ReadonlyArray<ValidationError | undefined> {\n // Create cache to use for duplicate key check\n const tagKeysCache: Record<string, number | undefined> = {};\n tags.forEach(tag => {\n if (tag.key && !tag.markedForRemoval) {\n tagKeysCache[tag.key] = (tagKeysCache[tag.key] ?? 0) + 1;\n }\n });\n\n return tags.map((tag, i) => {\n let keyError: string | undefined, valueError: string | undefined;\n\n if (keyDirtyState[i] && emptyKeyCheck(tag.key)) {\n keyError = i18n('i18nStrings.emptyKeyError', i18nStrings?.emptyKeyError);\n } else if (awsPrefixCheck(tag.key)) {\n keyError = i18n('i18nStrings.awsPrefixError', i18nStrings?.awsPrefixError);\n } else if (invalidCharCheck(tag.key, charRegex)) {\n keyError = i18n('i18nStrings.invalidKeyError', i18nStrings?.invalidKeyError);\n } else if (maxKeyLengthCheck(tag.key)) {\n keyError = i18n('i18nStrings.maxKeyCharLengthError', i18nStrings?.maxKeyCharLengthError);\n } else if (duplicateKeyCheck(tag.key, tagKeysCache)) {\n keyError = i18n('i18nStrings.duplicateKeyError', i18nStrings?.duplicateKeyError);\n }\n\n if (!tag.markedForRemoval) {\n if (invalidCharCheck(tag.value, charRegex)) {\n valueError = i18n('i18nStrings.invalidValueError', i18nStrings?.invalidValueError);\n } else if (maxValueLengthCheck(tag.value)) {\n valueError = i18n('i18nStrings.maxValueCharLengthError', i18nStrings?.maxValueCharLengthError);\n }\n }\n\n if (keyError || valueError) {\n return { key: keyError, value: valueError };\n }\n });\n}\n\nexport const awsPrefixCheck = (value: string) => {\n return value.toLowerCase().indexOf(SYSTEM_TAG_PREFIX) === 0;\n};\n\nexport const emptyKeyCheck = (value: string) => {\n return !value || value.trim().length === 0;\n};\n\nexport const maxKeyLengthCheck = (value: string) => {\n return value && value.length > MAX_KEY_LENGTH;\n};\n\nexport const duplicateKeyCheck = (value: string, keyCache?: Record<string, number | undefined>) => {\n return (keyCache?.[value] ?? 0) > 1;\n};\n\nexport const maxValueLengthCheck = (value: string) => {\n return value && value.length > MAX_VALUE_LENGTH;\n};\n\nexport const invalidCharCheck = (value: string, validCharRegex: RegExp = DEFAULT_CHAR_REGEX) => {\n // Empty values are valid\n if (!value || !validCharRegex) {\n return false;\n }\n return !validCharRegex.test(value);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tile.d.ts","sourceRoot":"lib/default/","sources":["tiles/tile.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAK9E,UAAU,SAAS;IACjB,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,IAAI,oFA6ChB,CAAC"}
1
+ {"version":3,"file":"tile.d.ts","sourceRoot":"lib/default/","sources":["tiles/tile.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAK9E,UAAU,SAAS;IACjB,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,IAAI,oFA4ChB,CAAC"}
package/tiles/tile.js CHANGED
@@ -9,7 +9,6 @@ import { useMergeRefs } from '../internal/hooks/use-merge-refs';
9
9
  import { useVisualRefresh } from '../internal/hooks/use-visual-mode';
10
10
  export const Tile = React.forwardRef(({ item, selected, name, breakpoint, onChange }, forwardedRef) => {
11
11
  const internalRef = useRef(null);
12
- const controlId = item.controlId || `${name}-value-${item.value}`;
13
12
  const isVisualRefresh = useVisualRefresh();
14
13
  const mergedRef = useMergeRefs(internalRef, forwardedRef);
15
14
  return (React.createElement("div", { className: clsx(styles['tile-container'], { [styles['has-metadata']]: item.description || item.image }, { [styles.selected]: selected }, { [styles.disabled]: !!item.disabled }, { [styles.refresh]: isVisualRefresh }, styles[`breakpoint-${breakpoint}`]), "data-value": item.value, onClick: () => {
@@ -23,7 +22,7 @@ export const Tile = React.forwardRef(({ item, selected, name, breakpoint, onChan
23
22
  }
24
23
  } },
25
24
  React.createElement("div", { className: clsx(styles.control, { [styles['no-image']]: !item.image }) },
26
- React.createElement(RadioButton, { checked: selected, ref: mergedRef, name: name, value: item.value, label: item.label, description: item.description, disabled: item.disabled, controlId: controlId })),
25
+ React.createElement(RadioButton, { checked: selected, ref: mergedRef, name: name, value: item.value, label: item.label, description: item.description, disabled: item.disabled, controlId: item.controlId })),
27
26
  item.image && React.createElement("div", { className: clsx(styles.image, { [styles.disabled]: !!item.disabled }) }, item.image)));
28
27
  });
29
28
  //# sourceMappingURL=tile.js.map
package/tiles/tile.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tile.js","sourceRoot":"lib/default/","sources":["tiles/tile.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAGrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAUrE,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAa,EAAE,YAAyC,EAAE,EAAE;IACvG,MAAM,WAAW,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;IAClE,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;IAE3C,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAE1D,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,EAC5D,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAC/B,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EACtC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,EACrC,MAAM,CAAC,cAAc,UAAU,EAAE,CAAC,CACnC,gBACW,IAAI,CAAC,KAAK,EACtB,OAAO,EAAE,GAAG,EAAE;;YACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YACD,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,EAAE;gBACb,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aACzD;QACH,CAAC;QAED,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACzE,oBAAC,WAAW,IACV,OAAO,EAAE,QAAQ,EACjB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,SAAS,GACpB,CACE;QACL,IAAI,CAAC,KAAK,IAAI,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAG,IAAI,CAAC,KAAK,CAAO,CACzG,CACP,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef } from 'react';\n\nimport { TilesProps } from './interfaces';\nimport RadioButton from '../radio-group/radio-button';\nimport styles from './styles.css.js';\n\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\n\ninterface TileProps {\n item: TilesProps.TilesDefinition;\n selected: boolean;\n name: string;\n breakpoint: ReturnType<typeof useContainerBreakpoints>[0];\n onChange: TilesProps['onChange'];\n}\n\nexport const Tile = React.forwardRef(\n ({ item, selected, name, breakpoint, onChange }: TileProps, forwardedRef: React.Ref<HTMLInputElement>) => {\n const internalRef = useRef<HTMLInputElement>(null);\n const controlId = item.controlId || `${name}-value-${item.value}`;\n const isVisualRefresh = useVisualRefresh();\n\n const mergedRef = useMergeRefs(internalRef, forwardedRef);\n\n return (\n <div\n className={clsx(\n styles['tile-container'],\n { [styles['has-metadata']]: item.description || item.image },\n { [styles.selected]: selected },\n { [styles.disabled]: !!item.disabled },\n { [styles.refresh]: isVisualRefresh },\n styles[`breakpoint-${breakpoint}`]\n )}\n data-value={item.value}\n onClick={() => {\n if (item.disabled) {\n return;\n }\n internalRef.current?.focus();\n if (!selected) {\n fireNonCancelableEvent(onChange, { value: item.value });\n }\n }}\n >\n <div className={clsx(styles.control, { [styles['no-image']]: !item.image })}>\n <RadioButton\n checked={selected}\n ref={mergedRef}\n name={name}\n value={item.value}\n label={item.label}\n description={item.description}\n disabled={item.disabled}\n controlId={controlId}\n />\n </div>\n {item.image && <div className={clsx(styles.image, { [styles.disabled]: !!item.disabled })}>{item.image}</div>}\n </div>\n );\n }\n);\n"]}
1
+ {"version":3,"file":"tile.js","sourceRoot":"lib/default/","sources":["tiles/tile.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAGrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAUrE,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAa,EAAE,YAAyC,EAAE,EAAE;IACvG,MAAM,WAAW,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;IAE3C,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAE1D,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,EAC5D,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAC/B,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EACtC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,EACrC,MAAM,CAAC,cAAc,UAAU,EAAE,CAAC,CACnC,gBACW,IAAI,CAAC,KAAK,EACtB,OAAO,EAAE,GAAG,EAAE;;YACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YACD,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,EAAE;gBACb,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aACzD;QACH,CAAC;QAED,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACzE,oBAAC,WAAW,IACV,OAAO,EAAE,QAAQ,EACjB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,GACzB,CACE;QACL,IAAI,CAAC,KAAK,IAAI,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAG,IAAI,CAAC,KAAK,CAAO,CACzG,CACP,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef } from 'react';\n\nimport { TilesProps } from './interfaces';\nimport RadioButton from '../radio-group/radio-button';\nimport styles from './styles.css.js';\n\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\n\ninterface TileProps {\n item: TilesProps.TilesDefinition;\n selected: boolean;\n name: string;\n breakpoint: ReturnType<typeof useContainerBreakpoints>[0];\n onChange: TilesProps['onChange'];\n}\n\nexport const Tile = React.forwardRef(\n ({ item, selected, name, breakpoint, onChange }: TileProps, forwardedRef: React.Ref<HTMLInputElement>) => {\n const internalRef = useRef<HTMLInputElement>(null);\n const isVisualRefresh = useVisualRefresh();\n\n const mergedRef = useMergeRefs(internalRef, forwardedRef);\n\n return (\n <div\n className={clsx(\n styles['tile-container'],\n { [styles['has-metadata']]: item.description || item.image },\n { [styles.selected]: selected },\n { [styles.disabled]: !!item.disabled },\n { [styles.refresh]: isVisualRefresh },\n styles[`breakpoint-${breakpoint}`]\n )}\n data-value={item.value}\n onClick={() => {\n if (item.disabled) {\n return;\n }\n internalRef.current?.focus();\n if (!selected) {\n fireNonCancelableEvent(onChange, { value: item.value });\n }\n }}\n >\n <div className={clsx(styles.control, { [styles['no-image']]: !item.image })}>\n <RadioButton\n checked={selected}\n ref={mergedRef}\n name={name}\n value={item.value}\n label={item.label}\n description={item.description}\n disabled={item.disabled}\n controlId={item.controlId}\n />\n </div>\n {item.image && <div className={clsx(styles.image, { [styles.disabled]: !!item.disabled })}>{item.image}</div>}\n </div>\n );\n }\n);\n"]}
@@ -14,7 +14,7 @@ import OverflowMenu from './parts/overflow-menu';
14
14
  import { ButtonTrigger } from '../internal/components/menu-dropdown';
15
15
  import styles from './styles.css.js';
16
16
  import { checkSafeUrl } from '../internal/utils/check-safe-url';
17
- import { useInternalI18n } from '../internal/i18n/context';
17
+ import { useInternalI18n } from '../i18n/context';
18
18
  export default function InternalTopNavigation(_a) {
19
19
  var { __internalRootRef, identity, i18nStrings, utilities, search } = _a, restProps = __rest(_a, ["__internalRootRef", "identity", "i18nStrings", "utilities", "search"]);
20
20
  checkSafeUrl('TopNavigation', identity.href);
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["top-navigation/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireCancelableEvent, isPlainLeftClick } from '../internal/events';\nimport VisualContext from '../internal/components/visual-context';\nimport Portal from '../internal/components/portal';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\n\nimport { TopNavigationProps } from './interfaces';\nimport { useTopNavigation } from './use-top-navigation.js';\nimport Utility from './parts/utility';\nimport OverflowMenu from './parts/overflow-menu';\nimport { ButtonTrigger } from '../internal/components/menu-dropdown';\n\nimport styles from './styles.css.js';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport { SomeRequired } from '../internal/types';\nimport { useInternalI18n } from '../internal/i18n/context';\n\nexport type InternalTopNavigationProps = SomeRequired<TopNavigationProps, 'utilities'> & InternalBaseComponentProps;\n\nexport default function InternalTopNavigation({\n __internalRootRef,\n identity,\n i18nStrings,\n utilities,\n search,\n ...restProps\n}: InternalTopNavigationProps) {\n checkSafeUrl('TopNavigation', identity.href);\n const baseProps = getBaseProps(restProps);\n const { mainRef, virtualRef, breakpoint, responsiveState, isSearchExpanded, onSearchUtilityClick } = useTopNavigation(\n { identity, search, utilities }\n );\n const [overflowMenuOpen, setOverflowMenuOpen] = useState(false);\n const overflowMenuTriggerRef = useRef<HTMLButtonElement>(null);\n const isNarrowViewport = breakpoint === 'default';\n const isMediumViewport = breakpoint === 'xxs';\n const isLargeViewport = breakpoint === 's';\n const i18n = useInternalI18n('top-navigation');\n\n const onIdentityClick = (event: React.MouseEvent) => {\n if (isPlainLeftClick(event)) {\n fireCancelableEvent(identity.onFollow, {}, event);\n }\n };\n\n const toggleOverflowMenu = () => {\n setOverflowMenuOpen(overflowMenuOpen => !overflowMenuOpen);\n };\n\n const menuTriggerVisible = !isSearchExpanded && responsiveState.hideUtilities;\n\n useEffect(() => {\n setOverflowMenuOpen(false);\n }, [menuTriggerVisible]);\n\n useEffectOnUpdate(() => {\n if (!overflowMenuOpen) {\n overflowMenuTriggerRef.current?.focus();\n }\n }, [overflowMenuOpen]);\n\n // Render the top nav twice; once as the top nav that users can see, and another\n // \"virtual\" top nav used just for calculations. The virtual top nav doesn't react to\n // layout changes and renders two sets of utilities: one with labels and one without.\n const content = (isVirtual: boolean) => {\n const Wrapper = isVirtual ? 'div' : 'header';\n const showIdentity = isVirtual || !isSearchExpanded;\n const showTitle = isVirtual || !responsiveState.hideTitle;\n const showSearchSlot = search && (isVirtual || !responsiveState.hideSearch || isSearchExpanded);\n const showSearchUtility = isVirtual || (search && responsiveState.hideSearch);\n const showUtilities = isVirtual || !isSearchExpanded;\n const showMenuTrigger = isVirtual || menuTriggerVisible;\n\n return (\n <Wrapper\n ref={isVirtual ? virtualRef : mainRef}\n aria-hidden={isVirtual ? true : undefined}\n // Wrapper is an alias for \"div\" or \"header\".\n // eslint-disable-next-line react/forbid-component-props\n className={clsx(styles['top-navigation'], {\n [styles.virtual]: isVirtual,\n [styles.hidden]: isVirtual,\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n })}\n >\n <div className={styles['padding-box']}>\n {showIdentity && (\n <div className={clsx(styles.identity, !identity.logo && styles['no-logo'])}>\n <a className={styles['identity-link']} href={identity.href} onClick={onIdentityClick}>\n {identity.logo && (\n <img\n role=\"img\"\n src={identity.logo?.src}\n alt={identity.logo?.alt}\n className={clsx(styles.logo, {\n [styles.narrow]: isNarrowViewport,\n })}\n />\n )}\n {showTitle && <span className={styles.title}>{identity.title}</span>}\n </a>\n </div>\n )}\n\n {showSearchSlot && (\n <div className={styles.inputs}>\n <div className={clsx(styles.search, !isVirtual && isSearchExpanded && styles['search-expanded'])}>\n {search}\n </div>\n </div>\n )}\n\n <div className={styles.utilities}>\n {showSearchUtility && (\n <div\n className={clsx(\n styles['utility-wrapper'],\n styles['utility-type-button'],\n styles['utility-type-button-link'],\n {\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n }\n )}\n data-utility-special=\"search\"\n >\n <Utility\n hideText={true}\n definition={{\n type: 'button',\n iconName: isSearchExpanded ? 'close' : 'search',\n ariaLabel: isSearchExpanded\n ? i18n('i18nStrings.searchDismissIconAriaLabel', i18nStrings?.searchDismissIconAriaLabel)\n : i18n('i18nStrings.searchIconAriaLabel', i18nStrings?.searchIconAriaLabel),\n onClick: onSearchUtilityClick,\n }}\n />\n </div>\n )}\n\n {showUtilities &&\n utilities\n .filter(\n (_utility, i) =>\n isVirtual || !responsiveState.hideUtilities || responsiveState.hideUtilities.indexOf(i) === -1\n )\n .map((utility, i) => {\n const hideText = !!responsiveState.hideUtilityText;\n const isLast = (isVirtual || !showMenuTrigger) && i === utilities.length - 1;\n const offsetRight = isLast && isLargeViewport ? 'xxl' : isLast ? 'l' : undefined;\n\n return (\n <div\n key={i}\n className={clsx(\n styles['utility-wrapper'],\n styles[`utility-type-${utility.type}`],\n utility.type === 'button' && styles[`utility-type-button-${utility.variant ?? 'link'}`],\n {\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n }\n )}\n data-utility-index={i}\n data-utility-hide={`${hideText}`}\n >\n <Utility hideText={hideText} definition={utility} offsetRight={offsetRight} />\n </div>\n );\n })}\n\n {isVirtual &&\n utilities.map((utility, i) => {\n const hideText = !responsiveState.hideUtilityText;\n const isLast = !showMenuTrigger && i === utilities.length - 1;\n const offsetRight = isLast && isLargeViewport ? 'xxl' : isLast ? 'l' : undefined;\n\n return (\n <div\n key={i}\n className={clsx(\n styles['utility-wrapper'],\n styles[`utility-type-${utility.type}`],\n utility.type === 'button' && styles[`utility-type-button-${utility.variant ?? 'link'}`],\n {\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n }\n )}\n data-utility-index={i}\n data-utility-hide={`${hideText}`}\n >\n <Utility hideText={hideText} definition={utility} offsetRight={offsetRight} />\n </div>\n );\n })}\n\n {showMenuTrigger && (\n <div\n className={clsx(styles['utility-wrapper'], styles['utility-type-menu-dropdown'], {\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n })}\n data-utility-special=\"menu-trigger\"\n >\n <ButtonTrigger\n expanded={overflowMenuOpen}\n onClick={toggleOverflowMenu}\n offsetRight=\"l\"\n ref={!isVirtual ? overflowMenuTriggerRef : undefined}\n >\n {i18n('i18nStrings.overflowMenuTriggerText', i18nStrings?.overflowMenuTriggerText)}\n </ButtonTrigger>\n </div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n };\n\n return (\n <div {...baseProps} ref={__internalRootRef}>\n <VisualContext contextName=\"top-navigation\">\n {content(false)}\n <Portal>{content(true)}</Portal>\n {menuTriggerVisible && overflowMenuOpen && (\n <div className={styles['overflow-menu-drawer']}>\n <OverflowMenu\n headerText={i18nStrings?.overflowMenuTitleText}\n dismissIconAriaLabel={i18nStrings?.overflowMenuDismissIconAriaLabel}\n backIconAriaLabel={i18nStrings?.overflowMenuBackIconAriaLabel}\n items={utilities.filter(\n (utility, i) =>\n (!responsiveState.hideUtilities || responsiveState.hideUtilities.indexOf(i) !== -1) &&\n !utility.disableUtilityCollapse\n )}\n onClose={toggleOverflowMenu}\n />\n </div>\n )}\n </VisualContext>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["top-navigation/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireCancelableEvent, isPlainLeftClick } from '../internal/events';\nimport VisualContext from '../internal/components/visual-context';\nimport Portal from '../internal/components/portal';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\n\nimport { TopNavigationProps } from './interfaces';\nimport { useTopNavigation } from './use-top-navigation.js';\nimport Utility from './parts/utility';\nimport OverflowMenu from './parts/overflow-menu';\nimport { ButtonTrigger } from '../internal/components/menu-dropdown';\n\nimport styles from './styles.css.js';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport { SomeRequired } from '../internal/types';\nimport { useInternalI18n } from '../i18n/context';\n\nexport type InternalTopNavigationProps = SomeRequired<TopNavigationProps, 'utilities'> & InternalBaseComponentProps;\n\nexport default function InternalTopNavigation({\n __internalRootRef,\n identity,\n i18nStrings,\n utilities,\n search,\n ...restProps\n}: InternalTopNavigationProps) {\n checkSafeUrl('TopNavigation', identity.href);\n const baseProps = getBaseProps(restProps);\n const { mainRef, virtualRef, breakpoint, responsiveState, isSearchExpanded, onSearchUtilityClick } = useTopNavigation(\n { identity, search, utilities }\n );\n const [overflowMenuOpen, setOverflowMenuOpen] = useState(false);\n const overflowMenuTriggerRef = useRef<HTMLButtonElement>(null);\n const isNarrowViewport = breakpoint === 'default';\n const isMediumViewport = breakpoint === 'xxs';\n const isLargeViewport = breakpoint === 's';\n const i18n = useInternalI18n('top-navigation');\n\n const onIdentityClick = (event: React.MouseEvent) => {\n if (isPlainLeftClick(event)) {\n fireCancelableEvent(identity.onFollow, {}, event);\n }\n };\n\n const toggleOverflowMenu = () => {\n setOverflowMenuOpen(overflowMenuOpen => !overflowMenuOpen);\n };\n\n const menuTriggerVisible = !isSearchExpanded && responsiveState.hideUtilities;\n\n useEffect(() => {\n setOverflowMenuOpen(false);\n }, [menuTriggerVisible]);\n\n useEffectOnUpdate(() => {\n if (!overflowMenuOpen) {\n overflowMenuTriggerRef.current?.focus();\n }\n }, [overflowMenuOpen]);\n\n // Render the top nav twice; once as the top nav that users can see, and another\n // \"virtual\" top nav used just for calculations. The virtual top nav doesn't react to\n // layout changes and renders two sets of utilities: one with labels and one without.\n const content = (isVirtual: boolean) => {\n const Wrapper = isVirtual ? 'div' : 'header';\n const showIdentity = isVirtual || !isSearchExpanded;\n const showTitle = isVirtual || !responsiveState.hideTitle;\n const showSearchSlot = search && (isVirtual || !responsiveState.hideSearch || isSearchExpanded);\n const showSearchUtility = isVirtual || (search && responsiveState.hideSearch);\n const showUtilities = isVirtual || !isSearchExpanded;\n const showMenuTrigger = isVirtual || menuTriggerVisible;\n\n return (\n <Wrapper\n ref={isVirtual ? virtualRef : mainRef}\n aria-hidden={isVirtual ? true : undefined}\n // Wrapper is an alias for \"div\" or \"header\".\n // eslint-disable-next-line react/forbid-component-props\n className={clsx(styles['top-navigation'], {\n [styles.virtual]: isVirtual,\n [styles.hidden]: isVirtual,\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n })}\n >\n <div className={styles['padding-box']}>\n {showIdentity && (\n <div className={clsx(styles.identity, !identity.logo && styles['no-logo'])}>\n <a className={styles['identity-link']} href={identity.href} onClick={onIdentityClick}>\n {identity.logo && (\n <img\n role=\"img\"\n src={identity.logo?.src}\n alt={identity.logo?.alt}\n className={clsx(styles.logo, {\n [styles.narrow]: isNarrowViewport,\n })}\n />\n )}\n {showTitle && <span className={styles.title}>{identity.title}</span>}\n </a>\n </div>\n )}\n\n {showSearchSlot && (\n <div className={styles.inputs}>\n <div className={clsx(styles.search, !isVirtual && isSearchExpanded && styles['search-expanded'])}>\n {search}\n </div>\n </div>\n )}\n\n <div className={styles.utilities}>\n {showSearchUtility && (\n <div\n className={clsx(\n styles['utility-wrapper'],\n styles['utility-type-button'],\n styles['utility-type-button-link'],\n {\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n }\n )}\n data-utility-special=\"search\"\n >\n <Utility\n hideText={true}\n definition={{\n type: 'button',\n iconName: isSearchExpanded ? 'close' : 'search',\n ariaLabel: isSearchExpanded\n ? i18n('i18nStrings.searchDismissIconAriaLabel', i18nStrings?.searchDismissIconAriaLabel)\n : i18n('i18nStrings.searchIconAriaLabel', i18nStrings?.searchIconAriaLabel),\n onClick: onSearchUtilityClick,\n }}\n />\n </div>\n )}\n\n {showUtilities &&\n utilities\n .filter(\n (_utility, i) =>\n isVirtual || !responsiveState.hideUtilities || responsiveState.hideUtilities.indexOf(i) === -1\n )\n .map((utility, i) => {\n const hideText = !!responsiveState.hideUtilityText;\n const isLast = (isVirtual || !showMenuTrigger) && i === utilities.length - 1;\n const offsetRight = isLast && isLargeViewport ? 'xxl' : isLast ? 'l' : undefined;\n\n return (\n <div\n key={i}\n className={clsx(\n styles['utility-wrapper'],\n styles[`utility-type-${utility.type}`],\n utility.type === 'button' && styles[`utility-type-button-${utility.variant ?? 'link'}`],\n {\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n }\n )}\n data-utility-index={i}\n data-utility-hide={`${hideText}`}\n >\n <Utility hideText={hideText} definition={utility} offsetRight={offsetRight} />\n </div>\n );\n })}\n\n {isVirtual &&\n utilities.map((utility, i) => {\n const hideText = !responsiveState.hideUtilityText;\n const isLast = !showMenuTrigger && i === utilities.length - 1;\n const offsetRight = isLast && isLargeViewport ? 'xxl' : isLast ? 'l' : undefined;\n\n return (\n <div\n key={i}\n className={clsx(\n styles['utility-wrapper'],\n styles[`utility-type-${utility.type}`],\n utility.type === 'button' && styles[`utility-type-button-${utility.variant ?? 'link'}`],\n {\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n }\n )}\n data-utility-index={i}\n data-utility-hide={`${hideText}`}\n >\n <Utility hideText={hideText} definition={utility} offsetRight={offsetRight} />\n </div>\n );\n })}\n\n {showMenuTrigger && (\n <div\n className={clsx(styles['utility-wrapper'], styles['utility-type-menu-dropdown'], {\n [styles.narrow]: isNarrowViewport,\n [styles.medium]: isMediumViewport,\n })}\n data-utility-special=\"menu-trigger\"\n >\n <ButtonTrigger\n expanded={overflowMenuOpen}\n onClick={toggleOverflowMenu}\n offsetRight=\"l\"\n ref={!isVirtual ? overflowMenuTriggerRef : undefined}\n >\n {i18n('i18nStrings.overflowMenuTriggerText', i18nStrings?.overflowMenuTriggerText)}\n </ButtonTrigger>\n </div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n };\n\n return (\n <div {...baseProps} ref={__internalRootRef}>\n <VisualContext contextName=\"top-navigation\">\n {content(false)}\n <Portal>{content(true)}</Portal>\n {menuTriggerVisible && overflowMenuOpen && (\n <div className={styles['overflow-menu-drawer']}>\n <OverflowMenu\n headerText={i18nStrings?.overflowMenuTitleText}\n dismissIconAriaLabel={i18nStrings?.overflowMenuDismissIconAriaLabel}\n backIconAriaLabel={i18nStrings?.overflowMenuBackIconAriaLabel}\n items={utilities.filter(\n (utility, i) =>\n (!responsiveState.hideUtilities || responsiveState.hideUtilities.indexOf(i) !== -1) &&\n !utility.disableUtilityCollapse\n )}\n onClose={toggleOverflowMenu}\n />\n </div>\n )}\n </VisualContext>\n </div>\n );\n}\n"]}
@@ -5,7 +5,7 @@ import Router, { Route } from './router';
5
5
  import UtilitiesView from './views/utilities';
6
6
  import SubmenuView from './views/submenu';
7
7
  import styles from '../../styles.css.js';
8
- import { useInternalI18n } from '../../../internal/i18n/context';
8
+ import { useInternalI18n } from '../../../i18n/context';
9
9
  const OverflowMenu = ({ headerText, dismissIconAriaLabel, backIconAriaLabel, items = [], onClose, }) => {
10
10
  const i18n = useInternalI18n('top-navigation');
11
11
  const renderedDismissIconAriaLabel = i18n('i18nStrings.overflowMenuDismissIconAriaLabel', dismissIconAriaLabel);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["top-navigation/parts/overflow-menu/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAajE,MAAM,YAAY,GAAG,CAAC,EACpB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,GAAG,EAAE,EACV,OAAO,GACW,EAAE,EAAE;IACtB,MAAM,IAAI,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAC/C,MAAM,4BAA4B,GAAG,IAAI,CAAC,8CAA8C,EAAE,oBAAoB,CAAC,CAAC;IAChH,MAAM,yBAAyB,GAAG,IAAI,CAAC,2CAA2C,EAAE,iBAAiB,CAAC,CAAC;IAEvG,OAAO,CACL,6BACE,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAClC,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC1B,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;aACb;QACH,CAAC;QAED,oBAAC,MAAM;YACL,oBAAC,KAAK,IACJ,IAAI,EAAC,WAAW,EAChB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CACf,oBAAC,aAAa,IACZ,UAAU,EAAE,IAAI,CAAC,mCAAmC,EAAE,UAAU,CAAC,EACjE,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAC9B,oBAAoB,EAAE,4BAA4B,EAClD,iBAAiB,EAAE,yBAAyB,EAC5C,OAAO,EAAE,OAAO,GAChB,CACH,GACD;YACF,oBAAC,KAAK,IACJ,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CACf,oBAAC,WAAW,IACV,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAC5B,mBAAmB,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,EAC9C,oBAAoB,EAAE,4BAA4B,EAClD,iBAAiB,EAAE,yBAAyB,EAC5C,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAC5B,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAChC,OAAO,EAAE,OAAO,GAChB,CACH,GACD,CACK,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport Router, { Route } from './router';\nimport UtilitiesView from './views/utilities';\nimport SubmenuView from './views/submenu';\n\nimport { HeaderProps } from './header';\n\nimport styles from '../../styles.css.js';\nimport { TopNavigationProps } from '../../interfaces';\nimport { useInternalI18n } from '../../../internal/i18n/context';\ninterface OverflowMenuProps {\n headerText?: string;\n items?: TopNavigationProps['utilities'];\n dismissIconAriaLabel?: HeaderProps['dismissIconAriaLabel'];\n backIconAriaLabel?: HeaderProps['backIconAriaLabel'];\n onClose?: HeaderProps['onClose'];\n}\n\nexport interface View extends Omit<OverflowMenuProps, 'items'> {\n headerSecondaryText?: HeaderProps['secondaryText'];\n}\n\nconst OverflowMenu = ({\n headerText,\n dismissIconAriaLabel,\n backIconAriaLabel,\n items = [],\n onClose,\n}: OverflowMenuProps) => {\n const i18n = useInternalI18n('top-navigation');\n const renderedDismissIconAriaLabel = i18n('i18nStrings.overflowMenuDismissIconAriaLabel', dismissIconAriaLabel);\n const renderedBackIconAriaLabel = i18n('i18nStrings.overflowMenuBackIconAriaLabel', backIconAriaLabel);\n\n return (\n <div\n className={styles['overflow-menu']}\n onKeyUp={event => {\n if (event.key === 'Escape') {\n onClose?.();\n }\n }}\n >\n <Router>\n <Route\n view=\"utilities\"\n element={data => (\n <UtilitiesView\n headerText={i18n('i18nStrings.overflowMenuTitleText', headerText)}\n items={items}\n focusIndex={data?.utilityIndex}\n dismissIconAriaLabel={renderedDismissIconAriaLabel}\n backIconAriaLabel={renderedBackIconAriaLabel}\n onClose={onClose}\n />\n )}\n />\n <Route\n view=\"dropdown-menu\"\n element={data => (\n <SubmenuView\n headerText={data?.headerText}\n headerSecondaryText={data?.headerSecondaryText}\n dismissIconAriaLabel={renderedDismissIconAriaLabel}\n backIconAriaLabel={renderedBackIconAriaLabel}\n definition={data?.definition}\n utilityIndex={data?.utilityIndex}\n onClose={onClose}\n />\n )}\n />\n </Router>\n </div>\n );\n};\n\nexport default OverflowMenu;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["top-navigation/parts/overflow-menu/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAaxD,MAAM,YAAY,GAAG,CAAC,EACpB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,GAAG,EAAE,EACV,OAAO,GACW,EAAE,EAAE;IACtB,MAAM,IAAI,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAC/C,MAAM,4BAA4B,GAAG,IAAI,CAAC,8CAA8C,EAAE,oBAAoB,CAAC,CAAC;IAChH,MAAM,yBAAyB,GAAG,IAAI,CAAC,2CAA2C,EAAE,iBAAiB,CAAC,CAAC;IAEvG,OAAO,CACL,6BACE,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAClC,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC1B,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;aACb;QACH,CAAC;QAED,oBAAC,MAAM;YACL,oBAAC,KAAK,IACJ,IAAI,EAAC,WAAW,EAChB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CACf,oBAAC,aAAa,IACZ,UAAU,EAAE,IAAI,CAAC,mCAAmC,EAAE,UAAU,CAAC,EACjE,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAC9B,oBAAoB,EAAE,4BAA4B,EAClD,iBAAiB,EAAE,yBAAyB,EAC5C,OAAO,EAAE,OAAO,GAChB,CACH,GACD;YACF,oBAAC,KAAK,IACJ,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CACf,oBAAC,WAAW,IACV,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAC5B,mBAAmB,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,EAC9C,oBAAoB,EAAE,4BAA4B,EAClD,iBAAiB,EAAE,yBAAyB,EAC5C,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAC5B,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAChC,OAAO,EAAE,OAAO,GAChB,CACH,GACD,CACK,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport Router, { Route } from './router';\nimport UtilitiesView from './views/utilities';\nimport SubmenuView from './views/submenu';\n\nimport { HeaderProps } from './header';\n\nimport styles from '../../styles.css.js';\nimport { TopNavigationProps } from '../../interfaces';\nimport { useInternalI18n } from '../../../i18n/context';\ninterface OverflowMenuProps {\n headerText?: string;\n items?: TopNavigationProps['utilities'];\n dismissIconAriaLabel?: HeaderProps['dismissIconAriaLabel'];\n backIconAriaLabel?: HeaderProps['backIconAriaLabel'];\n onClose?: HeaderProps['onClose'];\n}\n\nexport interface View extends Omit<OverflowMenuProps, 'items'> {\n headerSecondaryText?: HeaderProps['secondaryText'];\n}\n\nconst OverflowMenu = ({\n headerText,\n dismissIconAriaLabel,\n backIconAriaLabel,\n items = [],\n onClose,\n}: OverflowMenuProps) => {\n const i18n = useInternalI18n('top-navigation');\n const renderedDismissIconAriaLabel = i18n('i18nStrings.overflowMenuDismissIconAriaLabel', dismissIconAriaLabel);\n const renderedBackIconAriaLabel = i18n('i18nStrings.overflowMenuBackIconAriaLabel', backIconAriaLabel);\n\n return (\n <div\n className={styles['overflow-menu']}\n onKeyUp={event => {\n if (event.key === 'Escape') {\n onClose?.();\n }\n }}\n >\n <Router>\n <Route\n view=\"utilities\"\n element={data => (\n <UtilitiesView\n headerText={i18n('i18nStrings.overflowMenuTitleText', headerText)}\n items={items}\n focusIndex={data?.utilityIndex}\n dismissIconAriaLabel={renderedDismissIconAriaLabel}\n backIconAriaLabel={renderedBackIconAriaLabel}\n onClose={onClose}\n />\n )}\n />\n <Route\n view=\"dropdown-menu\"\n element={data => (\n <SubmenuView\n headerText={data?.headerText}\n headerSecondaryText={data?.headerSecondaryText}\n dismissIconAriaLabel={renderedDismissIconAriaLabel}\n backIconAriaLabel={renderedBackIconAriaLabel}\n definition={data?.definition}\n utilityIndex={data?.utilityIndex}\n onClose={onClose}\n />\n )}\n />\n </Router>\n </div>\n );\n};\n\nexport default OverflowMenu;\n"]}
@@ -10,7 +10,7 @@ import { useContainerBreakpoints } from '../internal/hooks/container-queries';
10
10
  import { useControllable } from '../internal/hooks/use-controllable';
11
11
  import { useMergeRefs } from '../internal/hooks/use-merge-refs';
12
12
  import { useVisualRefresh } from '../internal/hooks/use-visual-mode';
13
- import { useInternalI18n } from '../internal/i18n/context';
13
+ import { useInternalI18n } from '../i18n/context';
14
14
  import { FunnelMetrics } from '../internal/analytics';
15
15
  import { useFunnel } from '../internal/analytics/hooks/use-funnel';
16
16
  import { getNameFromSelector, getSubStepAllSelector } from '../internal/analytics/selectors';
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["wizard/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\nimport { useInternalI18n } from '../internal/i18n/context';\n\nimport { FunnelMetrics } from '../internal/analytics';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel';\nimport { getNameFromSelector, getSubStepAllSelector } from '../internal/analytics/selectors';\n\nimport WizardForm from './wizard-form';\nimport WizardNavigation from './wizard-navigation';\n\nimport { WizardProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\ntype InternalWizardProps = WizardProps & InternalBaseComponentProps;\n\nexport default function InternalWizard({\n steps,\n activeStepIndex: controlledActiveStepIndex,\n submitButtonText,\n isLoadingNextStep = false,\n allowSkipTo = false,\n secondaryActions,\n onCancel,\n onSubmit,\n onNavigate,\n __internalRootRef,\n ...rest\n}: InternalWizardProps) {\n const baseProps = getBaseProps(rest);\n\n const [breakpoint, breakpointsRef] = useContainerBreakpoints(['xs']);\n const ref = useMergeRefs(breakpointsRef, __internalRootRef);\n\n const smallContainer = breakpoint === 'default';\n\n const [activeStepIndex, setActiveStepIndex] = useControllable(controlledActiveStepIndex, onNavigate, 0, {\n componentName: 'Wizard',\n controlledProp: 'activeStepIndex',\n changeHandler: 'onNavigate',\n });\n const { funnelInteractionId, funnelSubmit, funnelCancel, funnelProps, funnelNextOrSubmitAttempt } = useFunnel();\n const actualActiveStepIndex = activeStepIndex ? Math.min(activeStepIndex, steps.length - 1) : 0;\n\n const farthestStepIndex = useRef<number>(actualActiveStepIndex);\n farthestStepIndex.current = Math.max(farthestStepIndex.current, actualActiveStepIndex);\n\n const isVisualRefresh = useVisualRefresh();\n const isLastStep = actualActiveStepIndex >= steps.length - 1;\n\n const navigationEvent = (requestedStepIndex: number, reason: WizardProps.NavigationReason) => {\n if (funnelInteractionId) {\n const stepNameSelector = `.${styles['form-header-component-wrapper']}`;\n const stepName = getNameFromSelector(stepNameSelector);\n\n FunnelMetrics.funnelStepNavigation({\n navigationType: reason,\n funnelInteractionId,\n stepNumber: actualActiveStepIndex + 1,\n stepName,\n stepNameSelector,\n destinationStepNumber: requestedStepIndex + 1,\n subStepAllSelector: getSubStepAllSelector(),\n });\n }\n\n setActiveStepIndex(requestedStepIndex);\n fireNonCancelableEvent(onNavigate, { requestedStepIndex, reason });\n };\n const onStepClick = (stepIndex: number) => navigationEvent(stepIndex, 'step');\n const onSkipToClick = (stepIndex: number) => navigationEvent(stepIndex, 'skip');\n const onCancelClick = () => {\n funnelCancel();\n fireNonCancelableEvent(onCancel);\n };\n const onPreviousClick = () => navigationEvent(actualActiveStepIndex - 1, 'previous');\n const onPrimaryClick = () => {\n funnelNextOrSubmitAttempt();\n\n if (isLastStep) {\n funnelSubmit();\n fireNonCancelableEvent(onSubmit);\n } else {\n navigationEvent(actualActiveStepIndex + 1, 'next');\n }\n };\n\n const i18n = useInternalI18n('wizard');\n const skipToButtonLabel = i18n(\n 'i18nStrings.skipToButtonLabel',\n rest.i18nStrings?.skipToButtonLabel,\n format => task => format({ task__title: task.title })\n );\n\n const i18nStrings: WizardProps.I18nStrings = {\n ...rest.i18nStrings,\n skipToButtonLabel,\n stepNumberLabel: i18n(\n 'i18nStrings.stepNumberLabel',\n rest.i18nStrings?.stepNumberLabel,\n format => stepNumber => format({ stepNumber })\n ),\n collapsedStepsLabel: i18n(\n 'i18nStrings.collapsedStepsLabel',\n rest.i18nStrings?.collapsedStepsLabel,\n format => (stepNumber, stepsCount) => format({ stepNumber, stepsCount })\n ),\n navigationAriaLabel: i18n('i18nStrings.navigationAriaLabel', rest.i18nStrings?.navigationAriaLabel),\n cancelButton: i18n('i18nStrings.cancelButton', rest.i18nStrings?.cancelButton),\n previousButton: i18n('i18nStrings.previousButton', rest.i18nStrings?.previousButton),\n nextButton: i18n('i18nStrings.nextButton', rest.i18nStrings?.nextButton),\n optional: i18n('i18nStrings.optional', rest.i18nStrings?.optional),\n };\n\n if (activeStepIndex && activeStepIndex >= steps.length) {\n warnOnce(\n 'Wizard',\n `You have set \\`activeStepIndex\\` to ${activeStepIndex} but you have provided only ${\n steps.length\n } steps. Its value is ignored and the component uses ${steps.length - 1} instead.`\n );\n }\n\n if (allowSkipTo && !skipToButtonLabel) {\n warnOnce(\n 'Wizard',\n `You have set \\`allowSkipTo\\` but you have not provided \\`i18nStrings.skipToButtonLabel\\`. The skip-to button will not be rendered.`\n );\n }\n\n return (\n <div {...baseProps} {...funnelProps} ref={ref} className={clsx(styles.root, baseProps.className)}>\n <div\n className={clsx(styles.wizard, isVisualRefresh && styles.refresh, smallContainer && styles['small-container'])}\n >\n <WizardNavigation\n activeStepIndex={actualActiveStepIndex}\n farthestStepIndex={farthestStepIndex.current}\n allowSkipTo={allowSkipTo}\n hidden={smallContainer}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n isLoadingNextStep={isLoadingNextStep}\n onStepClick={onStepClick}\n onSkipToClick={onSkipToClick}\n steps={steps}\n />\n <div\n className={clsx(styles.form, isVisualRefresh && styles.refresh, smallContainer && styles['small-container'])}\n >\n {isVisualRefresh && <div className={clsx(styles.background, 'awsui-context-content-header')} />}\n <WizardForm\n steps={steps}\n isVisualRefresh={isVisualRefresh}\n showCollapsedSteps={smallContainer}\n i18nStrings={i18nStrings}\n submitButtonText={submitButtonText}\n activeStepIndex={actualActiveStepIndex}\n isPrimaryLoading={isLoadingNextStep}\n allowSkipTo={allowSkipTo}\n secondaryActions={secondaryActions}\n onCancelClick={onCancelClick}\n onPreviousClick={onPreviousClick}\n onSkipToClick={onSkipToClick}\n onPrimaryClick={onPrimaryClick}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["wizard/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\nimport { useInternalI18n } from '../i18n/context';\n\nimport { FunnelMetrics } from '../internal/analytics';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel';\nimport { getNameFromSelector, getSubStepAllSelector } from '../internal/analytics/selectors';\n\nimport WizardForm from './wizard-form';\nimport WizardNavigation from './wizard-navigation';\n\nimport { WizardProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\ntype InternalWizardProps = WizardProps & InternalBaseComponentProps;\n\nexport default function InternalWizard({\n steps,\n activeStepIndex: controlledActiveStepIndex,\n submitButtonText,\n isLoadingNextStep = false,\n allowSkipTo = false,\n secondaryActions,\n onCancel,\n onSubmit,\n onNavigate,\n __internalRootRef,\n ...rest\n}: InternalWizardProps) {\n const baseProps = getBaseProps(rest);\n\n const [breakpoint, breakpointsRef] = useContainerBreakpoints(['xs']);\n const ref = useMergeRefs(breakpointsRef, __internalRootRef);\n\n const smallContainer = breakpoint === 'default';\n\n const [activeStepIndex, setActiveStepIndex] = useControllable(controlledActiveStepIndex, onNavigate, 0, {\n componentName: 'Wizard',\n controlledProp: 'activeStepIndex',\n changeHandler: 'onNavigate',\n });\n const { funnelInteractionId, funnelSubmit, funnelCancel, funnelProps, funnelNextOrSubmitAttempt } = useFunnel();\n const actualActiveStepIndex = activeStepIndex ? Math.min(activeStepIndex, steps.length - 1) : 0;\n\n const farthestStepIndex = useRef<number>(actualActiveStepIndex);\n farthestStepIndex.current = Math.max(farthestStepIndex.current, actualActiveStepIndex);\n\n const isVisualRefresh = useVisualRefresh();\n const isLastStep = actualActiveStepIndex >= steps.length - 1;\n\n const navigationEvent = (requestedStepIndex: number, reason: WizardProps.NavigationReason) => {\n if (funnelInteractionId) {\n const stepNameSelector = `.${styles['form-header-component-wrapper']}`;\n const stepName = getNameFromSelector(stepNameSelector);\n\n FunnelMetrics.funnelStepNavigation({\n navigationType: reason,\n funnelInteractionId,\n stepNumber: actualActiveStepIndex + 1,\n stepName,\n stepNameSelector,\n destinationStepNumber: requestedStepIndex + 1,\n subStepAllSelector: getSubStepAllSelector(),\n });\n }\n\n setActiveStepIndex(requestedStepIndex);\n fireNonCancelableEvent(onNavigate, { requestedStepIndex, reason });\n };\n const onStepClick = (stepIndex: number) => navigationEvent(stepIndex, 'step');\n const onSkipToClick = (stepIndex: number) => navigationEvent(stepIndex, 'skip');\n const onCancelClick = () => {\n funnelCancel();\n fireNonCancelableEvent(onCancel);\n };\n const onPreviousClick = () => navigationEvent(actualActiveStepIndex - 1, 'previous');\n const onPrimaryClick = () => {\n funnelNextOrSubmitAttempt();\n\n if (isLastStep) {\n funnelSubmit();\n fireNonCancelableEvent(onSubmit);\n } else {\n navigationEvent(actualActiveStepIndex + 1, 'next');\n }\n };\n\n const i18n = useInternalI18n('wizard');\n const skipToButtonLabel = i18n(\n 'i18nStrings.skipToButtonLabel',\n rest.i18nStrings?.skipToButtonLabel,\n format => task => format({ task__title: task.title })\n );\n\n const i18nStrings: WizardProps.I18nStrings = {\n ...rest.i18nStrings,\n skipToButtonLabel,\n stepNumberLabel: i18n(\n 'i18nStrings.stepNumberLabel',\n rest.i18nStrings?.stepNumberLabel,\n format => stepNumber => format({ stepNumber })\n ),\n collapsedStepsLabel: i18n(\n 'i18nStrings.collapsedStepsLabel',\n rest.i18nStrings?.collapsedStepsLabel,\n format => (stepNumber, stepsCount) => format({ stepNumber, stepsCount })\n ),\n navigationAriaLabel: i18n('i18nStrings.navigationAriaLabel', rest.i18nStrings?.navigationAriaLabel),\n cancelButton: i18n('i18nStrings.cancelButton', rest.i18nStrings?.cancelButton),\n previousButton: i18n('i18nStrings.previousButton', rest.i18nStrings?.previousButton),\n nextButton: i18n('i18nStrings.nextButton', rest.i18nStrings?.nextButton),\n optional: i18n('i18nStrings.optional', rest.i18nStrings?.optional),\n };\n\n if (activeStepIndex && activeStepIndex >= steps.length) {\n warnOnce(\n 'Wizard',\n `You have set \\`activeStepIndex\\` to ${activeStepIndex} but you have provided only ${\n steps.length\n } steps. Its value is ignored and the component uses ${steps.length - 1} instead.`\n );\n }\n\n if (allowSkipTo && !skipToButtonLabel) {\n warnOnce(\n 'Wizard',\n `You have set \\`allowSkipTo\\` but you have not provided \\`i18nStrings.skipToButtonLabel\\`. The skip-to button will not be rendered.`\n );\n }\n\n return (\n <div {...baseProps} {...funnelProps} ref={ref} className={clsx(styles.root, baseProps.className)}>\n <div\n className={clsx(styles.wizard, isVisualRefresh && styles.refresh, smallContainer && styles['small-container'])}\n >\n <WizardNavigation\n activeStepIndex={actualActiveStepIndex}\n farthestStepIndex={farthestStepIndex.current}\n allowSkipTo={allowSkipTo}\n hidden={smallContainer}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n isLoadingNextStep={isLoadingNextStep}\n onStepClick={onStepClick}\n onSkipToClick={onSkipToClick}\n steps={steps}\n />\n <div\n className={clsx(styles.form, isVisualRefresh && styles.refresh, smallContainer && styles['small-container'])}\n >\n {isVisualRefresh && <div className={clsx(styles.background, 'awsui-context-content-header')} />}\n <WizardForm\n steps={steps}\n isVisualRefresh={isVisualRefresh}\n showCollapsedSteps={smallContainer}\n i18nStrings={i18nStrings}\n submitButtonText={submitButtonText}\n activeStepIndex={actualActiveStepIndex}\n isPrimaryLoading={isLoadingNextStep}\n allowSkipTo={allowSkipTo}\n secondaryActions={secondaryActions}\n onCancelClick={onCancelClick}\n onPreviousClick={onPreviousClick}\n onSkipToClick={onSkipToClick}\n onPrimaryClick={onPrimaryClick}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"wizard-form.d.ts","sourceRoot":"lib/default/","sources":["wizard/wizard-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,UAAU,eAAe;IACvB,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,GACd,EAAE,eAAe,eAoEjB"}
1
+ {"version":3,"file":"wizard-form.d.ts","sourceRoot":"lib/default/","sources":["wizard/wizard-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,UAAU,eAAe;IACvB,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,GACd,EAAE,eAAe,eA4EjB"}
@@ -11,7 +11,6 @@ import styles from './styles.css.js';
11
11
  import { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';
12
12
  import { AnalyticsFunnelStep } from '../internal/analytics/components/analytics-funnel';
13
13
  export default function WizardForm({ steps, activeStepIndex, isVisualRefresh, showCollapsedSteps, i18nStrings, submitButtonText, isPrimaryLoading, allowSkipTo, secondaryActions, onCancelClick, onPreviousClick, onPrimaryClick, onSkipToClick, }) {
14
- var _a;
15
14
  const { title, info, description, content, errorText, isOptional } = steps[activeStepIndex] || {};
16
15
  const isLastStep = activeStepIndex >= steps.length - 1;
17
16
  const skipToTargetIndex = findSkipToTargetIndex(steps, activeStepIndex);
@@ -28,13 +27,17 @@ export default function WizardForm({ steps, activeStepIndex, isVisualRefresh, sh
28
27
  ? i18nStrings.skipToButtonLabel(steps[skipToTargetIndex], skipToTargetIndex + 1)
29
28
  : undefined;
30
29
  return (React.createElement(React.Fragment, null,
31
- React.createElement(WizardFormHeader, { isMobile: isMobile || showCollapsedSteps, isVisualRefresh: isVisualRefresh },
32
- React.createElement("div", { className: clsx(styles['collapsed-steps'], !showCollapsedSteps && styles['collapsed-steps-hidden']) }, (_a = i18nStrings.collapsedStepsLabel) === null || _a === void 0 ? void 0 : _a.call(i18nStrings, activeStepIndex + 1, steps.length)),
33
- React.createElement(InternalHeader, { className: styles['form-header-component'], variant: "h1", description: description, info: info },
34
- React.createElement("span", { className: styles['form-header-component-wrapper'], tabIndex: -1, ref: stepHeaderRef },
35
- title,
36
- isOptional && React.createElement("i", null, ` - ${i18nStrings.optional}`)))),
37
- React.createElement(AnalyticsFunnelStep, { stepNameSelector: `.${styles['form-header-component-wrapper']}`, stepNumber: activeStepIndex + 1 }, ({ funnelStepProps }) => (React.createElement(InternalForm, Object.assign({ className: clsx(styles['form-component']), actions: React.createElement(WizardActions, { cancelButtonText: i18nStrings.cancelButton, primaryButtonText: isLastStep ? submitButtonText !== null && submitButtonText !== void 0 ? submitButtonText : i18nStrings.submitButton : i18nStrings.nextButton, primaryButtonLoadingText: isLastStep ? i18nStrings.submitButtonLoadingAnnouncement : i18nStrings.nextButtonLoadingAnnouncement, previousButtonText: i18nStrings.previousButton, onCancelClick: onCancelClick, onPreviousClick: onPreviousClick, onPrimaryClick: onPrimaryClick, onSkipToClick: () => onSkipToClick(skipToTargetIndex), showPrevious: activeStepIndex !== 0, isPrimaryLoading: isPrimaryLoading, showSkipTo: showSkipTo, skipToButtonText: skipToButtonText }), secondaryActions: secondaryActions, errorText: errorText, errorIconAriaLabel: i18nStrings.errorIconAriaLabel }, funnelStepProps), content)))));
30
+ React.createElement(AnalyticsFunnelStep, { stepNameSelector: `.${styles['form-header-component-wrapper']}`, stepNumber: activeStepIndex + 1 }, ({ funnelStepProps }) => {
31
+ var _a;
32
+ return (React.createElement(React.Fragment, null,
33
+ React.createElement(WizardFormHeader, { isMobile: isMobile || showCollapsedSteps, isVisualRefresh: isVisualRefresh },
34
+ React.createElement("div", { className: clsx(styles['collapsed-steps'], !showCollapsedSteps && styles['collapsed-steps-hidden']) }, (_a = i18nStrings.collapsedStepsLabel) === null || _a === void 0 ? void 0 : _a.call(i18nStrings, activeStepIndex + 1, steps.length)),
35
+ React.createElement(InternalHeader, { className: styles['form-header-component'], variant: "h1", description: description, info: info },
36
+ React.createElement("span", { className: styles['form-header-component-wrapper'], tabIndex: -1, ref: stepHeaderRef },
37
+ title,
38
+ isOptional && React.createElement("i", null, ` - ${i18nStrings.optional}`)))),
39
+ React.createElement(InternalForm, Object.assign({ className: clsx(styles['form-component']), actions: React.createElement(WizardActions, { cancelButtonText: i18nStrings.cancelButton, primaryButtonText: isLastStep ? submitButtonText !== null && submitButtonText !== void 0 ? submitButtonText : i18nStrings.submitButton : i18nStrings.nextButton, primaryButtonLoadingText: isLastStep ? i18nStrings.submitButtonLoadingAnnouncement : i18nStrings.nextButtonLoadingAnnouncement, previousButtonText: i18nStrings.previousButton, onCancelClick: onCancelClick, onPreviousClick: onPreviousClick, onPrimaryClick: onPrimaryClick, onSkipToClick: () => onSkipToClick(skipToTargetIndex), showPrevious: activeStepIndex !== 0, isPrimaryLoading: isPrimaryLoading, showSkipTo: showSkipTo, skipToButtonText: skipToButtonText }), secondaryActions: secondaryActions, errorText: errorText, errorIconAriaLabel: i18nStrings.errorIconAriaLabel }, funnelStepProps), content)));
40
+ })));
38
41
  }
39
42
  function findSkipToTargetIndex(steps, activeStepIndex) {
40
43
  let nextRequiredStepIndex = activeStepIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"wizard-form.js","sourceRoot":"lib/default/","sources":["wizard/wizard-form.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\nimport InternalForm from '../form/internal';\nimport InternalHeader from '../header/internal';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport WizardActions from './wizard-actions';\nimport { WizardProps } from './interfaces';\nimport WizardFormHeader from './wizard-form-header';\nimport styles from './styles.css.js';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\nimport { AnalyticsFunnelStep } from '../internal/analytics/components/analytics-funnel';\n\ninterface WizardFormProps {\n steps: ReadonlyArray<WizardProps.Step>;\n activeStepIndex: number;\n isVisualRefresh: boolean;\n showCollapsedSteps: boolean;\n i18nStrings: WizardProps.I18nStrings;\n submitButtonText?: string;\n isPrimaryLoading: boolean;\n allowSkipTo: boolean;\n secondaryActions?: React.ReactNode;\n onCancelClick: () => void;\n onPreviousClick: () => void;\n onPrimaryClick: () => void;\n onSkipToClick: (stepIndex: number) => void;\n}\n\nexport default function WizardForm({\n steps,\n activeStepIndex,\n isVisualRefresh,\n showCollapsedSteps,\n i18nStrings,\n submitButtonText,\n isPrimaryLoading,\n allowSkipTo,\n secondaryActions,\n onCancelClick,\n onPreviousClick,\n onPrimaryClick,\n onSkipToClick,\n}: WizardFormProps) {\n const { title, info, description, content, errorText, isOptional } = steps[activeStepIndex] || {};\n const isLastStep = activeStepIndex >= steps.length - 1;\n const skipToTargetIndex = findSkipToTargetIndex(steps, activeStepIndex);\n const isMobile = useMobile();\n const stepHeaderRef = useRef<HTMLDivElement | null>(null);\n\n useEffectOnUpdate(() => {\n if (stepHeaderRef && stepHeaderRef.current) {\n stepHeaderRef.current?.focus();\n }\n }, [activeStepIndex]);\n\n const showSkipTo = allowSkipTo && skipToTargetIndex !== -1;\n const skipToButtonText =\n skipToTargetIndex !== -1 && i18nStrings.skipToButtonLabel\n ? i18nStrings.skipToButtonLabel(steps[skipToTargetIndex], skipToTargetIndex + 1)\n : undefined;\n\n return (\n <>\n <WizardFormHeader isMobile={isMobile || showCollapsedSteps} isVisualRefresh={isVisualRefresh}>\n <div className={clsx(styles['collapsed-steps'], !showCollapsedSteps && styles['collapsed-steps-hidden'])}>\n {i18nStrings.collapsedStepsLabel?.(activeStepIndex + 1, steps.length)}\n </div>\n <InternalHeader className={styles['form-header-component']} variant=\"h1\" description={description} info={info}>\n <span className={styles['form-header-component-wrapper']} tabIndex={-1} ref={stepHeaderRef}>\n {title}\n {isOptional && <i>{` - ${i18nStrings.optional}`}</i>}\n </span>\n </InternalHeader>\n </WizardFormHeader>\n <AnalyticsFunnelStep\n stepNameSelector={`.${styles['form-header-component-wrapper']}`}\n stepNumber={activeStepIndex + 1}\n >\n {({ funnelStepProps }) => (\n <InternalForm\n className={clsx(styles['form-component'])}\n actions={\n <WizardActions\n cancelButtonText={i18nStrings.cancelButton}\n primaryButtonText={isLastStep ? submitButtonText ?? i18nStrings.submitButton : i18nStrings.nextButton}\n primaryButtonLoadingText={\n isLastStep ? i18nStrings.submitButtonLoadingAnnouncement : i18nStrings.nextButtonLoadingAnnouncement\n }\n previousButtonText={i18nStrings.previousButton}\n onCancelClick={onCancelClick}\n onPreviousClick={onPreviousClick}\n onPrimaryClick={onPrimaryClick}\n onSkipToClick={() => onSkipToClick(skipToTargetIndex)}\n showPrevious={activeStepIndex !== 0}\n isPrimaryLoading={isPrimaryLoading}\n showSkipTo={showSkipTo}\n skipToButtonText={skipToButtonText}\n />\n }\n secondaryActions={secondaryActions}\n errorText={errorText}\n errorIconAriaLabel={i18nStrings.errorIconAriaLabel}\n {...funnelStepProps}\n >\n {content}\n </InternalForm>\n )}\n </AnalyticsFunnelStep>\n </>\n );\n}\n\nfunction findSkipToTargetIndex(steps: ReadonlyArray<WizardProps.Step>, activeStepIndex: number): number {\n let nextRequiredStepIndex = activeStepIndex;\n do {\n nextRequiredStepIndex++;\n } while (nextRequiredStepIndex < steps.length - 1 && steps[nextRequiredStepIndex].isOptional);\n\n return nextRequiredStepIndex > activeStepIndex + 1 ? nextRequiredStepIndex : -1;\n}\n"]}
1
+ {"version":3,"file":"wizard-form.js","sourceRoot":"lib/default/","sources":["wizard/wizard-form.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\nimport InternalForm from '../form/internal';\nimport InternalHeader from '../header/internal';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport WizardActions from './wizard-actions';\nimport { WizardProps } from './interfaces';\nimport WizardFormHeader from './wizard-form-header';\nimport styles from './styles.css.js';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\nimport { AnalyticsFunnelStep } from '../internal/analytics/components/analytics-funnel';\n\ninterface WizardFormProps {\n steps: ReadonlyArray<WizardProps.Step>;\n activeStepIndex: number;\n isVisualRefresh: boolean;\n showCollapsedSteps: boolean;\n i18nStrings: WizardProps.I18nStrings;\n submitButtonText?: string;\n isPrimaryLoading: boolean;\n allowSkipTo: boolean;\n secondaryActions?: React.ReactNode;\n onCancelClick: () => void;\n onPreviousClick: () => void;\n onPrimaryClick: () => void;\n onSkipToClick: (stepIndex: number) => void;\n}\n\nexport default function WizardForm({\n steps,\n activeStepIndex,\n isVisualRefresh,\n showCollapsedSteps,\n i18nStrings,\n submitButtonText,\n isPrimaryLoading,\n allowSkipTo,\n secondaryActions,\n onCancelClick,\n onPreviousClick,\n onPrimaryClick,\n onSkipToClick,\n}: WizardFormProps) {\n const { title, info, description, content, errorText, isOptional } = steps[activeStepIndex] || {};\n const isLastStep = activeStepIndex >= steps.length - 1;\n const skipToTargetIndex = findSkipToTargetIndex(steps, activeStepIndex);\n const isMobile = useMobile();\n const stepHeaderRef = useRef<HTMLDivElement | null>(null);\n\n useEffectOnUpdate(() => {\n if (stepHeaderRef && stepHeaderRef.current) {\n stepHeaderRef.current?.focus();\n }\n }, [activeStepIndex]);\n\n const showSkipTo = allowSkipTo && skipToTargetIndex !== -1;\n const skipToButtonText =\n skipToTargetIndex !== -1 && i18nStrings.skipToButtonLabel\n ? i18nStrings.skipToButtonLabel(steps[skipToTargetIndex], skipToTargetIndex + 1)\n : undefined;\n\n return (\n <>\n <AnalyticsFunnelStep\n stepNameSelector={`.${styles['form-header-component-wrapper']}`}\n stepNumber={activeStepIndex + 1}\n >\n {({ funnelStepProps }) => (\n <>\n <WizardFormHeader isMobile={isMobile || showCollapsedSteps} isVisualRefresh={isVisualRefresh}>\n <div className={clsx(styles['collapsed-steps'], !showCollapsedSteps && styles['collapsed-steps-hidden'])}>\n {i18nStrings.collapsedStepsLabel?.(activeStepIndex + 1, steps.length)}\n </div>\n <InternalHeader\n className={styles['form-header-component']}\n variant=\"h1\"\n description={description}\n info={info}\n >\n <span className={styles['form-header-component-wrapper']} tabIndex={-1} ref={stepHeaderRef}>\n {title}\n {isOptional && <i>{` - ${i18nStrings.optional}`}</i>}\n </span>\n </InternalHeader>\n </WizardFormHeader>\n\n <InternalForm\n className={clsx(styles['form-component'])}\n actions={\n <WizardActions\n cancelButtonText={i18nStrings.cancelButton}\n primaryButtonText={isLastStep ? submitButtonText ?? i18nStrings.submitButton : i18nStrings.nextButton}\n primaryButtonLoadingText={\n isLastStep ? i18nStrings.submitButtonLoadingAnnouncement : i18nStrings.nextButtonLoadingAnnouncement\n }\n previousButtonText={i18nStrings.previousButton}\n onCancelClick={onCancelClick}\n onPreviousClick={onPreviousClick}\n onPrimaryClick={onPrimaryClick}\n onSkipToClick={() => onSkipToClick(skipToTargetIndex)}\n showPrevious={activeStepIndex !== 0}\n isPrimaryLoading={isPrimaryLoading}\n showSkipTo={showSkipTo}\n skipToButtonText={skipToButtonText}\n />\n }\n secondaryActions={secondaryActions}\n errorText={errorText}\n errorIconAriaLabel={i18nStrings.errorIconAriaLabel}\n {...funnelStepProps}\n >\n {content}\n </InternalForm>\n </>\n )}\n </AnalyticsFunnelStep>\n </>\n );\n}\n\nfunction findSkipToTargetIndex(steps: ReadonlyArray<WizardProps.Step>, activeStepIndex: number): number {\n let nextRequiredStepIndex = activeStepIndex;\n do {\n nextRequiredStepIndex++;\n } while (nextRequiredStepIndex < steps.length - 1 && steps[nextRequiredStepIndex].isOptional);\n\n return nextRequiredStepIndex > activeStepIndex + 1 ? nextRequiredStepIndex : -1;\n}\n"]}
@@ -1,2 +0,0 @@
1
- export * from '../../i18n/context';
2
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"lib/default/","sources":["internal/i18n/context.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC"}
@@ -1,4 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- export * from '../../i18n/context';
4
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"lib/default/","sources":["internal/i18n/context.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,cAAc,oBAAoB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport * from '../../i18n/context';\n"]}
@@ -1,2 +0,0 @@
1
- export { I18nProvider, I18nProviderProps } from '../../i18n';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["internal/i18n/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,4 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- export { I18nProvider } from '../../i18n';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["internal/i18n/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,YAAY,EAAqB,MAAM,YAAY,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { I18nProvider, I18nProviderProps } from '../../i18n';\n"]}
@@ -1,3 +0,0 @@
1
- import { I18nProviderProps } from '../provider';
2
- declare const messages: I18nProviderProps.Messages;
3
- export default messages;