@cloudscape-design/components-themeable 3.0.1137 → 3.0.1139

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 (827) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +127 -99
  3. package/lib/internal/scss/progress-bar/styles.scss +39 -25
  4. package/lib/internal/scss/prompt-input/styles.scss +75 -13
  5. package/lib/internal/scss/radio-group/analytics-metadata/styles.scss +8 -0
  6. package/lib/internal/template/alert/actions-wrapper/index.js +3 -3
  7. package/lib/internal/template/alert/actions-wrapper/index.js.map +1 -1
  8. package/lib/internal/template/alert/index.js +2 -4
  9. package/lib/internal/template/alert/index.js.map +1 -1
  10. package/lib/internal/template/alert/internal.js +8 -10
  11. package/lib/internal/template/alert/internal.js.map +1 -1
  12. package/lib/internal/template/alert/style.js +12 -5
  13. package/lib/internal/template/alert/style.js.map +1 -1
  14. package/lib/internal/template/alert/styles.css.js +27 -27
  15. package/lib/internal/template/alert/styles.scoped.css +50 -50
  16. package/lib/internal/template/alert/styles.selectors.js +27 -27
  17. package/lib/internal/template/anchor-navigation/anchor-item/index.js +1 -1
  18. package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
  19. package/lib/internal/template/anchor-navigation/index.js +2 -4
  20. package/lib/internal/template/anchor-navigation/index.js.map +1 -1
  21. package/lib/internal/template/anchor-navigation/internal.js +2 -4
  22. package/lib/internal/template/anchor-navigation/internal.js.map +1 -1
  23. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  24. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
  25. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  26. package/lib/internal/template/annotation-context/index.js +3 -4
  27. package/lib/internal/template/annotation-context/index.js.map +1 -1
  28. package/lib/internal/template/app-layout/classic.js +20 -17
  29. package/lib/internal/template/app-layout/classic.js.map +1 -1
  30. package/lib/internal/template/app-layout/defaults.js +8 -3
  31. package/lib/internal/template/app-layout/defaults.js.map +1 -1
  32. package/lib/internal/template/app-layout/drawer/resizable-drawer.js +8 -10
  33. package/lib/internal/template/app-layout/drawer/resizable-drawer.js.map +1 -1
  34. package/lib/internal/template/app-layout/index.js +24 -21
  35. package/lib/internal/template/app-layout/index.js.map +1 -1
  36. package/lib/internal/template/app-layout/internal.js +3 -3
  37. package/lib/internal/template/app-layout/internal.js.map +1 -1
  38. package/lib/internal/template/app-layout/notifications/index.js +3 -5
  39. package/lib/internal/template/app-layout/notifications/index.js.map +1 -1
  40. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  41. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  42. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  43. package/lib/internal/template/app-layout/runtime-drawer/index.js +36 -18
  44. package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
  45. package/lib/internal/template/app-layout/split-panel/provider.js +2 -4
  46. package/lib/internal/template/app-layout/split-panel/provider.js.map +1 -1
  47. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js +1 -1
  48. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js.map +1 -1
  49. package/lib/internal/template/app-layout/utils/use-drawers.js +9 -3
  50. package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
  51. package/lib/internal/template/app-layout/visual-refresh/context.js +28 -11
  52. package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -1
  54. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh/index.js +1 -1
  56. package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh/layout.js +9 -1
  58. package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh/main.js +4 -1
  60. package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh/split-panel.js +1 -1
  62. package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
  63. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  64. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  65. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  66. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +6 -3
  67. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  68. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +5 -2
  69. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  70. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +8 -4
  71. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
  73. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  74. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
  75. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  76. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
  77. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  78. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  79. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  80. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  81. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  82. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  83. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  84. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
  85. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  86. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
  87. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  88. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  89. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  90. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  91. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  92. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  93. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
  94. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  95. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +1 -1
  96. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  97. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
  98. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  99. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +5 -2
  100. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  101. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
  102. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  103. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +4 -1
  104. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  105. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  106. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  107. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +8 -8
  108. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  109. package/lib/internal/template/app-layout-toolbar/index.js +24 -21
  110. package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
  111. package/lib/internal/template/area-chart/chart-container.js +1 -1
  112. package/lib/internal/template/area-chart/chart-container.js.map +1 -1
  113. package/lib/internal/template/area-chart/elements/chart-popover.js +1 -1
  114. package/lib/internal/template/area-chart/elements/chart-popover.js.map +1 -1
  115. package/lib/internal/template/area-chart/elements/threshold-series.js +1 -1
  116. package/lib/internal/template/area-chart/elements/threshold-series.js.map +1 -1
  117. package/lib/internal/template/area-chart/index.js +2 -4
  118. package/lib/internal/template/area-chart/index.js.map +1 -1
  119. package/lib/internal/template/area-chart/internal.js +2 -4
  120. package/lib/internal/template/area-chart/internal.js.map +1 -1
  121. package/lib/internal/template/area-chart/model/interactions-store.js +39 -9
  122. package/lib/internal/template/area-chart/model/interactions-store.js.map +1 -1
  123. package/lib/internal/template/attribute-editor/index.d.ts.map +1 -1
  124. package/lib/internal/template/attribute-editor/index.js +4 -6
  125. package/lib/internal/template/attribute-editor/index.js.map +1 -1
  126. package/lib/internal/template/attribute-editor/interfaces.d.ts +8 -0
  127. package/lib/internal/template/attribute-editor/interfaces.d.ts.map +1 -1
  128. package/lib/internal/template/attribute-editor/interfaces.js.map +1 -1
  129. package/lib/internal/template/attribute-editor/internal.d.ts.map +1 -1
  130. package/lib/internal/template/attribute-editor/internal.js +14 -10
  131. package/lib/internal/template/attribute-editor/internal.js.map +1 -1
  132. package/lib/internal/template/attribute-editor/row.js +1 -1
  133. package/lib/internal/template/attribute-editor/row.js.map +1 -1
  134. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  135. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  136. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  137. package/lib/internal/template/autosuggest/autosuggest-option.js +3 -5
  138. package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
  139. package/lib/internal/template/autosuggest/index.js +2 -4
  140. package/lib/internal/template/autosuggest/index.js.map +1 -1
  141. package/lib/internal/template/autosuggest/internal.js +10 -5
  142. package/lib/internal/template/autosuggest/internal.js.map +1 -1
  143. package/lib/internal/template/autosuggest/options-controller.js +15 -8
  144. package/lib/internal/template/autosuggest/options-controller.js.map +1 -1
  145. package/lib/internal/template/autosuggest/plain-list.js +3 -3
  146. package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
  147. package/lib/internal/template/autosuggest/virtual-list.js +2 -2
  148. package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
  149. package/lib/internal/template/badge/index.js +2 -4
  150. package/lib/internal/template/badge/index.js.map +1 -1
  151. package/lib/internal/template/bar-chart/index.js +2 -4
  152. package/lib/internal/template/bar-chart/index.js.map +1 -1
  153. package/lib/internal/template/box/index.js +2 -4
  154. package/lib/internal/template/box/index.js.map +1 -1
  155. package/lib/internal/template/box/internal.js +2 -4
  156. package/lib/internal/template/box/internal.js.map +1 -1
  157. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js +3 -3
  158. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js.map +1 -1
  159. package/lib/internal/template/breadcrumb-group/implementation.js +9 -8
  160. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  161. package/lib/internal/template/breadcrumb-group/index.js +3 -5
  162. package/lib/internal/template/breadcrumb-group/index.js.map +1 -1
  163. package/lib/internal/template/breadcrumb-group/item/funnel.js +1 -1
  164. package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
  165. package/lib/internal/template/breadcrumb-group/item/item.js +5 -7
  166. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  167. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  168. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  169. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  170. package/lib/internal/template/button/icon-helper.js +3 -5
  171. package/lib/internal/template/button/icon-helper.js.map +1 -1
  172. package/lib/internal/template/button/index.js +2 -4
  173. package/lib/internal/template/button/index.js.map +1 -1
  174. package/lib/internal/template/button/internal.js +31 -14
  175. package/lib/internal/template/button/internal.js.map +1 -1
  176. package/lib/internal/template/button/style.js +38 -27
  177. package/lib/internal/template/button/style.js.map +1 -1
  178. package/lib/internal/template/button/styles.css.js +22 -22
  179. package/lib/internal/template/button/styles.scoped.css +256 -256
  180. package/lib/internal/template/button/styles.selectors.js +22 -22
  181. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +11 -11
  182. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  183. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
  184. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  185. package/lib/internal/template/button-dropdown/index.js +4 -6
  186. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  187. package/lib/internal/template/button-dropdown/internal.js +36 -25
  188. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  189. package/lib/internal/template/button-dropdown/item-element/index.js +25 -17
  190. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  191. package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
  192. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
  193. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
  194. package/lib/internal/template/button-dropdown/tooltip.js +1 -1
  195. package/lib/internal/template/button-dropdown/tooltip.js.map +1 -1
  196. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +1 -2
  197. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  198. package/lib/internal/template/button-group/index.js +2 -4
  199. package/lib/internal/template/button-group/index.js.map +1 -1
  200. package/lib/internal/template/button-group/internal.js +2 -4
  201. package/lib/internal/template/button-group/internal.js.map +1 -1
  202. package/lib/internal/template/button-group/item-element.js +4 -4
  203. package/lib/internal/template/button-group/item-element.js.map +1 -1
  204. package/lib/internal/template/button-group/menu-dropdown-item.js +1 -1
  205. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  206. package/lib/internal/template/button-group/style.js +34 -20
  207. package/lib/internal/template/button-group/style.js.map +1 -1
  208. package/lib/internal/template/calendar/grid/index.js +2 -3
  209. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  210. package/lib/internal/template/calendar/index.js +2 -4
  211. package/lib/internal/template/calendar/index.js.map +1 -1
  212. package/lib/internal/template/calendar/internal.js +2 -4
  213. package/lib/internal/template/calendar/internal.js.map +1 -1
  214. package/lib/internal/template/cards/index.js +17 -19
  215. package/lib/internal/template/cards/index.js.map +1 -1
  216. package/lib/internal/template/checkbox/index.js +2 -4
  217. package/lib/internal/template/checkbox/index.js.map +1 -1
  218. package/lib/internal/template/checkbox/internal.js +4 -6
  219. package/lib/internal/template/checkbox/internal.js.map +1 -1
  220. package/lib/internal/template/checkbox/styles.css.js +3 -3
  221. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  222. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  223. package/lib/internal/template/code-editor/index.js +2 -3
  224. package/lib/internal/template/code-editor/index.js.map +1 -1
  225. package/lib/internal/template/code-editor/use-editor.js +4 -1
  226. package/lib/internal/template/code-editor/use-editor.js.map +1 -1
  227. package/lib/internal/template/code-editor/util.js +4 -1
  228. package/lib/internal/template/code-editor/util.js.map +1 -1
  229. package/lib/internal/template/collection-preferences/content-display/index.js +1 -1
  230. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  231. package/lib/internal/template/collection-preferences/content-display/utils.js +1 -1
  232. package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -1
  233. package/lib/internal/template/collection-preferences/index.js +20 -13
  234. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  235. package/lib/internal/template/collection-preferences/utils.js +9 -9
  236. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  237. package/lib/internal/template/collection-preferences/visible-content.js +8 -8
  238. package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
  239. package/lib/internal/template/column-layout/index.js +2 -4
  240. package/lib/internal/template/column-layout/index.js.map +1 -1
  241. package/lib/internal/template/column-layout/internal.js +2 -4
  242. package/lib/internal/template/column-layout/internal.js.map +1 -1
  243. package/lib/internal/template/container/index.js +2 -4
  244. package/lib/internal/template/container/index.js.map +1 -1
  245. package/lib/internal/template/container/internal.js +11 -9
  246. package/lib/internal/template/container/internal.js.map +1 -1
  247. package/lib/internal/template/container/style.js +11 -2
  248. package/lib/internal/template/container/style.js.map +1 -1
  249. package/lib/internal/template/content-layout/index.js +1 -1
  250. package/lib/internal/template/content-layout/index.js.map +1 -1
  251. package/lib/internal/template/content-layout/internal.js +3 -5
  252. package/lib/internal/template/content-layout/internal.js.map +1 -1
  253. package/lib/internal/template/content-layout/styles.css.js +14 -14
  254. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  255. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  256. package/lib/internal/template/copy-to-clipboard/index.js +2 -4
  257. package/lib/internal/template/copy-to-clipboard/index.js.map +1 -1
  258. package/lib/internal/template/copy-to-clipboard/internal.js +2 -4
  259. package/lib/internal/template/copy-to-clipboard/internal.js.map +1 -1
  260. package/lib/internal/template/date-input/index.js +1 -1
  261. package/lib/internal/template/date-input/index.js.map +1 -1
  262. package/lib/internal/template/date-input/internal.js +6 -8
  263. package/lib/internal/template/date-input/internal.js.map +1 -1
  264. package/lib/internal/template/date-picker/index.js +9 -6
  265. package/lib/internal/template/date-picker/index.js.map +1 -1
  266. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js +3 -4
  267. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  268. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +8 -8
  269. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  270. package/lib/internal/template/date-range-picker/calendar/grids/index.js +2 -2
  271. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  272. package/lib/internal/template/date-range-picker/calendar/index.js +5 -2
  273. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  274. package/lib/internal/template/date-range-picker/index.js +8 -6
  275. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  276. package/lib/internal/template/date-range-picker/utils.js +8 -2
  277. package/lib/internal/template/date-range-picker/utils.js.map +1 -1
  278. package/lib/internal/template/drawer/implementation.js +7 -6
  279. package/lib/internal/template/drawer/implementation.js.map +1 -1
  280. package/lib/internal/template/drawer/index.js +1 -1
  281. package/lib/internal/template/drawer/index.js.map +1 -1
  282. package/lib/internal/template/expandable-section/expandable-section-container.js +3 -5
  283. package/lib/internal/template/expandable-section/expandable-section-container.js.map +1 -1
  284. package/lib/internal/template/expandable-section/expandable-section-header.js +8 -8
  285. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  286. package/lib/internal/template/expandable-section/index.js +2 -4
  287. package/lib/internal/template/expandable-section/index.js.map +1 -1
  288. package/lib/internal/template/expandable-section/internal.js +2 -4
  289. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  290. package/lib/internal/template/file-dropzone/index.js +1 -1
  291. package/lib/internal/template/file-dropzone/index.js.map +1 -1
  292. package/lib/internal/template/file-dropzone/internal.js +3 -5
  293. package/lib/internal/template/file-dropzone/internal.js.map +1 -1
  294. package/lib/internal/template/file-input/index.js +2 -4
  295. package/lib/internal/template/file-input/index.js.map +1 -1
  296. package/lib/internal/template/file-input/internal.js +11 -8
  297. package/lib/internal/template/file-input/internal.js.map +1 -1
  298. package/lib/internal/template/file-token-group/default-formatters.js +3 -3
  299. package/lib/internal/template/file-token-group/default-formatters.js.map +1 -1
  300. package/lib/internal/template/file-token-group/index.js +2 -4
  301. package/lib/internal/template/file-token-group/index.js.map +1 -1
  302. package/lib/internal/template/file-token-group/internal.js +2 -4
  303. package/lib/internal/template/file-token-group/internal.js.map +1 -1
  304. package/lib/internal/template/file-upload/index.js +2 -4
  305. package/lib/internal/template/file-upload/index.js.map +1 -1
  306. package/lib/internal/template/file-upload/internal.js +5 -7
  307. package/lib/internal/template/file-upload/internal.js.map +1 -1
  308. package/lib/internal/template/flashbar/collapsible-flashbar.js +33 -23
  309. package/lib/internal/template/flashbar/collapsible-flashbar.js.map +1 -1
  310. package/lib/internal/template/flashbar/common.js +1 -3
  311. package/lib/internal/template/flashbar/common.js.map +1 -1
  312. package/lib/internal/template/flashbar/flash.js +4 -6
  313. package/lib/internal/template/flashbar/flash.js.map +1 -1
  314. package/lib/internal/template/flashbar/implementation.js +2 -2
  315. package/lib/internal/template/flashbar/implementation.js.map +1 -1
  316. package/lib/internal/template/flashbar/index.js +1 -1
  317. package/lib/internal/template/flashbar/index.js.map +1 -1
  318. package/lib/internal/template/flashbar/non-collapsible-flashbar.js +10 -9
  319. package/lib/internal/template/flashbar/non-collapsible-flashbar.js.map +1 -1
  320. package/lib/internal/template/flashbar/style.js +50 -32
  321. package/lib/internal/template/flashbar/style.js.map +1 -1
  322. package/lib/internal/template/flashbar/styles.css.js +50 -50
  323. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  324. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  325. package/lib/internal/template/flashbar/utils.js +2 -2
  326. package/lib/internal/template/flashbar/utils.js.map +1 -1
  327. package/lib/internal/template/form/index.js +4 -7
  328. package/lib/internal/template/form/index.js.map +1 -1
  329. package/lib/internal/template/form/internal.js +2 -4
  330. package/lib/internal/template/form/internal.js.map +1 -1
  331. package/lib/internal/template/form-field/index.js +7 -9
  332. package/lib/internal/template/form-field/index.js.map +1 -1
  333. package/lib/internal/template/form-field/internal.js +6 -5
  334. package/lib/internal/template/form-field/internal.js.map +1 -1
  335. package/lib/internal/template/grid/index.js +2 -4
  336. package/lib/internal/template/grid/index.js.map +1 -1
  337. package/lib/internal/template/grid/internal.js +2 -4
  338. package/lib/internal/template/grid/internal.js.map +1 -1
  339. package/lib/internal/template/header/analytics/use-table-integration.d.ts +2 -1
  340. package/lib/internal/template/header/analytics/use-table-integration.d.ts.map +1 -1
  341. package/lib/internal/template/header/analytics/use-table-integration.js +8 -1
  342. package/lib/internal/template/header/analytics/use-table-integration.js.map +1 -1
  343. package/lib/internal/template/header/index.js +2 -4
  344. package/lib/internal/template/header/index.js.map +1 -1
  345. package/lib/internal/template/header/interfaces.d.ts +2 -2
  346. package/lib/internal/template/header/interfaces.d.ts.map +1 -1
  347. package/lib/internal/template/header/interfaces.js.map +1 -1
  348. package/lib/internal/template/header/internal.js +4 -6
  349. package/lib/internal/template/header/internal.js.map +1 -1
  350. package/lib/internal/template/help-panel/implementation.js +7 -6
  351. package/lib/internal/template/help-panel/implementation.js.map +1 -1
  352. package/lib/internal/template/help-panel/index.js +1 -1
  353. package/lib/internal/template/help-panel/index.js.map +1 -1
  354. package/lib/internal/template/help-panel/styles.css.js +6 -6
  355. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  356. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  357. package/lib/internal/template/hotspot/index.js +3 -5
  358. package/lib/internal/template/hotspot/index.js.map +1 -1
  359. package/lib/internal/template/icon/index.js +2 -4
  360. package/lib/internal/template/icon/index.js.map +1 -1
  361. package/lib/internal/template/icon/internal.js +4 -6
  362. package/lib/internal/template/icon/internal.js.map +1 -1
  363. package/lib/internal/template/icon-provider/index.js +1 -1
  364. package/lib/internal/template/icon-provider/index.js.map +1 -1
  365. package/lib/internal/template/icon-provider/internal.js +2 -2
  366. package/lib/internal/template/icon-provider/internal.js.map +1 -1
  367. package/lib/internal/template/input/index.js +5 -5
  368. package/lib/internal/template/input/index.js.map +1 -1
  369. package/lib/internal/template/input/internal.js +10 -12
  370. package/lib/internal/template/input/internal.js.map +1 -1
  371. package/lib/internal/template/input/styles.css.js +13 -13
  372. package/lib/internal/template/input/styles.js +42 -30
  373. package/lib/internal/template/input/styles.js.map +1 -1
  374. package/lib/internal/template/input/styles.scoped.css +65 -65
  375. package/lib/internal/template/input/styles.selectors.js +13 -13
  376. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +9 -12
  377. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  378. package/lib/internal/template/internal/analytics/hooks/use-funnel.js +5 -6
  379. package/lib/internal/template/internal/analytics/hooks/use-funnel.js.map +1 -1
  380. package/lib/internal/template/internal/animate.js +1 -1
  381. package/lib/internal/template/internal/animate.js.map +1 -1
  382. package/lib/internal/template/internal/base-component/index.js +1 -1
  383. package/lib/internal/template/internal/base-component/index.js.map +1 -1
  384. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  385. package/lib/internal/template/internal/components/abstract-switch/index.js +21 -20
  386. package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
  387. package/lib/internal/template/internal/components/autosuggest-input/index.js +3 -5
  388. package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
  389. package/lib/internal/template/internal/components/button-trigger/index.js +25 -6
  390. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  391. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js +1 -1
  392. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  393. package/lib/internal/template/internal/components/chart-filter/index.js +2 -4
  394. package/lib/internal/template/internal/components/chart-filter/index.js.map +1 -1
  395. package/lib/internal/template/internal/components/chart-plot/index.js +2 -2
  396. package/lib/internal/template/internal/components/chart-plot/index.js.map +1 -1
  397. package/lib/internal/template/internal/components/chart-popover/index.js +3 -5
  398. package/lib/internal/template/internal/components/chart-popover/index.js.map +1 -1
  399. package/lib/internal/template/internal/components/chart-series-details/index.js +2 -4
  400. package/lib/internal/template/internal/components/chart-series-details/index.js.map +1 -1
  401. package/lib/internal/template/internal/components/chart-wrapper/index.js +3 -5
  402. package/lib/internal/template/internal/components/chart-wrapper/index.js.map +1 -1
  403. package/lib/internal/template/internal/components/checkbox-icon/index.js +5 -7
  404. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  405. package/lib/internal/template/internal/components/drag-handle/button.js +5 -5
  406. package/lib/internal/template/internal/components/drag-handle/button.js.map +1 -1
  407. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
  408. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  409. package/lib/internal/template/internal/components/drag-handle/index.js +1 -3
  410. package/lib/internal/template/internal/components/drag-handle/index.js.map +1 -1
  411. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  412. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  413. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  414. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  415. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  416. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  417. package/lib/internal/template/internal/components/masked-input/index.js +12 -8
  418. package/lib/internal/template/internal/components/masked-input/index.js.map +1 -1
  419. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +6 -1
  420. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
  421. package/lib/internal/template/internal/components/menu-dropdown/index.js +2 -4
  422. package/lib/internal/template/internal/components/menu-dropdown/index.js.map +1 -1
  423. package/lib/internal/template/internal/components/option/index.js +6 -8
  424. package/lib/internal/template/internal/components/option/index.js.map +1 -1
  425. package/lib/internal/template/internal/components/option/option-parts.js +1 -1
  426. package/lib/internal/template/internal/components/option/option-parts.js.map +1 -1
  427. package/lib/internal/template/internal/components/option/utils/flatten-options.js +1 -2
  428. package/lib/internal/template/internal/components/option/utils/flatten-options.js.map +1 -1
  429. package/lib/internal/template/internal/components/options-list/index.js +2 -4
  430. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  431. package/lib/internal/template/internal/components/screenreader-only/index.js +1 -1
  432. package/lib/internal/template/internal/components/screenreader-only/index.js.map +1 -1
  433. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
  434. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  435. package/lib/internal/template/internal/components/selectable-item/index.js +5 -7
  436. package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
  437. package/lib/internal/template/internal/components/sortable-area/index.js +19 -6
  438. package/lib/internal/template/internal/components/sortable-area/index.js.map +1 -1
  439. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  440. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  441. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  442. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js +1 -1
  443. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js.map +1 -1
  444. package/lib/internal/template/internal/components/tooltip/index.js +1 -1
  445. package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
  446. package/lib/internal/template/internal/components/transition/index.js +3 -5
  447. package/lib/internal/template/internal/components/transition/index.js.map +1 -1
  448. package/lib/internal/template/internal/environment.js +2 -2
  449. package/lib/internal/template/internal/environment.json +2 -2
  450. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +28 -0
  451. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  452. package/lib/internal/template/internal/generated/custom-css-properties/index.js +126 -98
  453. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  454. package/lib/internal/template/internal/generated/styles/tokens.d.ts +50 -75
  455. package/lib/internal/template/internal/generated/styles/tokens.js +50 -75
  456. package/lib/internal/template/internal/generated/theming/index.cjs +305 -461
  457. package/lib/internal/template/internal/generated/theming/index.js +305 -461
  458. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js +1 -1
  459. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js.map +1 -1
  460. package/lib/internal/template/internal/hooks/use-performance-marks/index.js +12 -2
  461. package/lib/internal/template/internal/hooks/use-performance-marks/index.js.map +1 -1
  462. package/lib/internal/template/internal/hooks/use-virtual/index.js +5 -2
  463. package/lib/internal/template/internal/hooks/use-virtual/index.js.map +1 -1
  464. package/lib/internal/template/internal/plugins/controllers/drawers.js +4 -6
  465. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  466. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
  467. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  468. package/lib/internal/template/internal/plugins/widget/index.js +1 -1
  469. package/lib/internal/template/internal/plugins/widget/index.js.map +1 -1
  470. package/lib/internal/template/internal/utils/with-native-attributes.js +4 -6
  471. package/lib/internal/template/internal/utils/with-native-attributes.js.map +1 -1
  472. package/lib/internal/template/internal/widgets/index.js +2 -2
  473. package/lib/internal/template/internal/widgets/index.js.map +1 -1
  474. package/lib/internal/template/internal/widgets/loader-mock.js +2 -2
  475. package/lib/internal/template/internal/widgets/loader-mock.js.map +1 -1
  476. package/lib/internal/template/key-value-pairs/index.js +2 -4
  477. package/lib/internal/template/key-value-pairs/index.js.map +1 -1
  478. package/lib/internal/template/key-value-pairs/internal.js +4 -6
  479. package/lib/internal/template/key-value-pairs/internal.js.map +1 -1
  480. package/lib/internal/template/line-chart/index.js +2 -4
  481. package/lib/internal/template/line-chart/index.js.map +1 -1
  482. package/lib/internal/template/link/index.js +2 -4
  483. package/lib/internal/template/link/index.js.map +1 -1
  484. package/lib/internal/template/link/internal.js +13 -6
  485. package/lib/internal/template/link/internal.js.map +1 -1
  486. package/lib/internal/template/link/style.js +12 -9
  487. package/lib/internal/template/link/style.js.map +1 -1
  488. package/lib/internal/template/link/styles.css.js +20 -20
  489. package/lib/internal/template/link/styles.scoped.css +103 -103
  490. package/lib/internal/template/link/styles.selectors.js +20 -20
  491. package/lib/internal/template/list/index.js +1 -1
  492. package/lib/internal/template/list/index.js.map +1 -1
  493. package/lib/internal/template/list/internal.js +6 -8
  494. package/lib/internal/template/list/internal.js.map +1 -1
  495. package/lib/internal/template/live-region/index.js +2 -4
  496. package/lib/internal/template/live-region/index.js.map +1 -1
  497. package/lib/internal/template/live-region/internal.js +2 -4
  498. package/lib/internal/template/live-region/internal.js.map +1 -1
  499. package/lib/internal/template/mixed-line-bar-chart/bar-series.js +3 -3
  500. package/lib/internal/template/mixed-line-bar-chart/bar-series.js.map +1 -1
  501. package/lib/internal/template/mixed-line-bar-chart/chart-container.js +7 -9
  502. package/lib/internal/template/mixed-line-bar-chart/chart-container.js.map +1 -1
  503. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js +4 -1
  504. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js.map +1 -1
  505. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
  506. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  507. package/lib/internal/template/mixed-line-bar-chart/index.js +2 -4
  508. package/lib/internal/template/mixed-line-bar-chart/index.js.map +1 -1
  509. package/lib/internal/template/mixed-line-bar-chart/internal.js +2 -4
  510. package/lib/internal/template/mixed-line-bar-chart/internal.js.map +1 -1
  511. package/lib/internal/template/mixed-line-bar-chart/line-series.js +3 -3
  512. package/lib/internal/template/mixed-line-bar-chart/line-series.js.map +1 -1
  513. package/lib/internal/template/modal/index.js +5 -8
  514. package/lib/internal/template/modal/index.js.map +1 -1
  515. package/lib/internal/template/modal/internal.js +11 -14
  516. package/lib/internal/template/modal/internal.js.map +1 -1
  517. package/lib/internal/template/multiselect/embedded.js +15 -6
  518. package/lib/internal/template/multiselect/embedded.js.map +1 -1
  519. package/lib/internal/template/multiselect/index.js +2 -4
  520. package/lib/internal/template/multiselect/index.js.map +1 -1
  521. package/lib/internal/template/multiselect/internal.js +13 -12
  522. package/lib/internal/template/multiselect/internal.js.map +1 -1
  523. package/lib/internal/template/multiselect/use-multiselect.js +9 -5
  524. package/lib/internal/template/multiselect/use-multiselect.js.map +1 -1
  525. package/lib/internal/template/navigable-group/index.js +2 -4
  526. package/lib/internal/template/navigable-group/index.js.map +1 -1
  527. package/lib/internal/template/navigable-group/internal.js +2 -4
  528. package/lib/internal/template/navigable-group/internal.js.map +1 -1
  529. package/lib/internal/template/pagination/index.js +10 -10
  530. package/lib/internal/template/pagination/index.js.map +1 -1
  531. package/lib/internal/template/pagination/internal.js +36 -40
  532. package/lib/internal/template/pagination/internal.js.map +1 -1
  533. package/lib/internal/template/pie-chart/index.js +4 -6
  534. package/lib/internal/template/pie-chart/index.js.map +1 -1
  535. package/lib/internal/template/pie-chart/labels.js +2 -2
  536. package/lib/internal/template/pie-chart/labels.js.map +1 -1
  537. package/lib/internal/template/pie-chart/segments.js +1 -1
  538. package/lib/internal/template/pie-chart/segments.js.map +1 -1
  539. package/lib/internal/template/pie-chart/utils.js +17 -5
  540. package/lib/internal/template/pie-chart/utils.js.map +1 -1
  541. package/lib/internal/template/popover/body.js +3 -3
  542. package/lib/internal/template/popover/body.js.map +1 -1
  543. package/lib/internal/template/popover/container.js +1 -1
  544. package/lib/internal/template/popover/container.js.map +1 -1
  545. package/lib/internal/template/popover/index.js +2 -4
  546. package/lib/internal/template/popover/index.js.map +1 -1
  547. package/lib/internal/template/popover/internal.js +4 -6
  548. package/lib/internal/template/popover/internal.js.map +1 -1
  549. package/lib/internal/template/progress-bar/index.d.ts +1 -1
  550. package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
  551. package/lib/internal/template/progress-bar/index.js +3 -5
  552. package/lib/internal/template/progress-bar/index.js.map +1 -1
  553. package/lib/internal/template/progress-bar/interfaces.d.ts +19 -0
  554. package/lib/internal/template/progress-bar/interfaces.d.ts.map +1 -1
  555. package/lib/internal/template/progress-bar/interfaces.js.map +1 -1
  556. package/lib/internal/template/progress-bar/internal.d.ts +2 -1
  557. package/lib/internal/template/progress-bar/internal.d.ts.map +1 -1
  558. package/lib/internal/template/progress-bar/internal.js +10 -3
  559. package/lib/internal/template/progress-bar/internal.js.map +1 -1
  560. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  561. package/lib/internal/template/progress-bar/styles.d.ts +16 -0
  562. package/lib/internal/template/progress-bar/styles.d.ts.map +1 -0
  563. package/lib/internal/template/progress-bar/styles.js +33 -0
  564. package/lib/internal/template/progress-bar/styles.js.map +1 -0
  565. package/lib/internal/template/progress-bar/styles.scoped.css +56 -56
  566. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  567. package/lib/internal/template/prompt-input/index.js +2 -4
  568. package/lib/internal/template/prompt-input/index.js.map +1 -1
  569. package/lib/internal/template/prompt-input/interfaces.d.ts +48 -0
  570. package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
  571. package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
  572. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  573. package/lib/internal/template/prompt-input/internal.js +5 -6
  574. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  575. package/lib/internal/template/prompt-input/styles.css.js +17 -17
  576. package/lib/internal/template/prompt-input/styles.d.ts +5 -0
  577. package/lib/internal/template/prompt-input/styles.d.ts.map +1 -0
  578. package/lib/internal/template/prompt-input/styles.js +44 -0
  579. package/lib/internal/template/prompt-input/styles.js.map +1 -0
  580. package/lib/internal/template/prompt-input/styles.scoped.css +73 -61
  581. package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
  582. package/lib/internal/template/property-filter/controller.js +6 -6
  583. package/lib/internal/template/property-filter/controller.js.map +1 -1
  584. package/lib/internal/template/property-filter/filter-options.js +1 -1
  585. package/lib/internal/template/property-filter/filter-options.js.map +1 -1
  586. package/lib/internal/template/property-filter/filtering-token/index.js +11 -14
  587. package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -1
  588. package/lib/internal/template/property-filter/i18n-utils.js +48 -11
  589. package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
  590. package/lib/internal/template/property-filter/index.js +4 -6
  591. package/lib/internal/template/property-filter/index.js.map +1 -1
  592. package/lib/internal/template/property-filter/internal.js +15 -13
  593. package/lib/internal/template/property-filter/internal.js.map +1 -1
  594. package/lib/internal/template/property-filter/property-editor.js +1 -1
  595. package/lib/internal/template/property-filter/property-editor.js.map +1 -1
  596. package/lib/internal/template/property-filter/property-filter-autosuggest.js +8 -4
  597. package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
  598. package/lib/internal/template/property-filter/token-editor-inputs.js +10 -9
  599. package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
  600. package/lib/internal/template/property-filter/token-editor.js +10 -10
  601. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  602. package/lib/internal/template/property-filter/token.js +8 -8
  603. package/lib/internal/template/property-filter/token.js.map +1 -1
  604. package/lib/internal/template/property-filter/use-load-items.js +6 -1
  605. package/lib/internal/template/property-filter/use-load-items.js.map +1 -1
  606. package/lib/internal/template/radio-group/analytics-metadata/interfaces.d.ts +1 -0
  607. package/lib/internal/template/radio-group/analytics-metadata/interfaces.d.ts.map +1 -1
  608. package/lib/internal/template/radio-group/analytics-metadata/interfaces.js.map +1 -1
  609. package/lib/internal/template/radio-group/analytics-metadata/styles.css.js +6 -0
  610. package/lib/internal/template/radio-group/analytics-metadata/styles.scoped.css +7 -0
  611. package/lib/internal/template/radio-group/analytics-metadata/styles.selectors.js +7 -0
  612. package/lib/internal/template/radio-group/index.d.ts.map +1 -1
  613. package/lib/internal/template/radio-group/index.js +10 -8
  614. package/lib/internal/template/radio-group/index.js.map +1 -1
  615. package/lib/internal/template/radio-group/internal.d.ts.map +1 -1
  616. package/lib/internal/template/radio-group/internal.js +11 -12
  617. package/lib/internal/template/radio-group/internal.js.map +1 -1
  618. package/lib/internal/template/radio-group/radio-button.js +4 -6
  619. package/lib/internal/template/radio-group/radio-button.js.map +1 -1
  620. package/lib/internal/template/radio-group/styles.css.js +10 -10
  621. package/lib/internal/template/radio-group/styles.scoped.css +22 -22
  622. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  623. package/lib/internal/template/s3-resource-selector/index.js +3 -5
  624. package/lib/internal/template/s3-resource-selector/index.js.map +1 -1
  625. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +1 -1
  626. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
  627. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js +1 -1
  628. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  629. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +4 -7
  630. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  631. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js +13 -1
  632. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  633. package/lib/internal/template/s3-resource-selector/s3-modal/index.js +4 -1
  634. package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
  635. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js +14 -2
  636. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  637. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js +13 -1
  638. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  639. package/lib/internal/template/segmented-control/index.js +1 -1
  640. package/lib/internal/template/segmented-control/index.js.map +1 -1
  641. package/lib/internal/template/segmented-control/internal.js +6 -8
  642. package/lib/internal/template/segmented-control/internal.js.map +1 -1
  643. package/lib/internal/template/segmented-control/segment.js +1 -1
  644. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  645. package/lib/internal/template/select/index.js +2 -4
  646. package/lib/internal/template/select/index.js.map +1 -1
  647. package/lib/internal/template/select/internal.js +13 -10
  648. package/lib/internal/template/select/internal.js.map +1 -1
  649. package/lib/internal/template/select/parts/filter.js +9 -4
  650. package/lib/internal/template/select/parts/filter.js.map +1 -1
  651. package/lib/internal/template/select/parts/item.js +3 -5
  652. package/lib/internal/template/select/parts/item.js.map +1 -1
  653. package/lib/internal/template/select/parts/multiselect-item.js +3 -5
  654. package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
  655. package/lib/internal/template/select/parts/plain-list.js +1 -1
  656. package/lib/internal/template/select/parts/plain-list.js.map +1 -1
  657. package/lib/internal/template/select/parts/trigger.js +2 -2
  658. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  659. package/lib/internal/template/select/parts/virtual-list.js +3 -3
  660. package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
  661. package/lib/internal/template/select/utils/get-item-props.js +7 -1
  662. package/lib/internal/template/select/utils/get-item-props.js.map +1 -1
  663. package/lib/internal/template/select/utils/render-options.js +1 -1
  664. package/lib/internal/template/select/utils/render-options.js.map +1 -1
  665. package/lib/internal/template/side-navigation/implementation.js +2 -4
  666. package/lib/internal/template/side-navigation/implementation.js.map +1 -1
  667. package/lib/internal/template/side-navigation/index.js +2 -4
  668. package/lib/internal/template/side-navigation/index.js.map +1 -1
  669. package/lib/internal/template/side-navigation/parts.js +4 -4
  670. package/lib/internal/template/side-navigation/parts.js.map +1 -1
  671. package/lib/internal/template/slider/index.js +2 -4
  672. package/lib/internal/template/slider/index.js.map +1 -1
  673. package/lib/internal/template/slider/internal.js +2 -4
  674. package/lib/internal/template/slider/internal.js.map +1 -1
  675. package/lib/internal/template/slider/styles.css.js +26 -26
  676. package/lib/internal/template/slider/styles.scoped.css +86 -86
  677. package/lib/internal/template/slider/styles.selectors.js +26 -26
  678. package/lib/internal/template/slider/tick-marks.js +3 -3
  679. package/lib/internal/template/slider/tick-marks.js.map +1 -1
  680. package/lib/internal/template/space-between/index.js +2 -4
  681. package/lib/internal/template/space-between/index.js.map +1 -1
  682. package/lib/internal/template/space-between/internal.js +2 -4
  683. package/lib/internal/template/space-between/internal.js.map +1 -1
  684. package/lib/internal/template/spinner/index.js +2 -4
  685. package/lib/internal/template/spinner/index.js.map +1 -1
  686. package/lib/internal/template/spinner/internal.js +2 -4
  687. package/lib/internal/template/spinner/internal.js.map +1 -1
  688. package/lib/internal/template/spinner/styles.css.js +13 -13
  689. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  690. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  691. package/lib/internal/template/split-panel/bottom.js +2 -2
  692. package/lib/internal/template/split-panel/bottom.js.map +1 -1
  693. package/lib/internal/template/split-panel/implementation.js +2 -4
  694. package/lib/internal/template/split-panel/implementation.js.map +1 -1
  695. package/lib/internal/template/split-panel/index.js +16 -4
  696. package/lib/internal/template/split-panel/index.js.map +1 -1
  697. package/lib/internal/template/split-panel/side.js +6 -2
  698. package/lib/internal/template/split-panel/side.js.map +1 -1
  699. package/lib/internal/template/status-indicator/index.js +2 -4
  700. package/lib/internal/template/status-indicator/index.js.map +1 -1
  701. package/lib/internal/template/status-indicator/internal.js +3 -5
  702. package/lib/internal/template/status-indicator/internal.js.map +1 -1
  703. package/lib/internal/template/steps/index.js +2 -4
  704. package/lib/internal/template/steps/index.js.map +1 -1
  705. package/lib/internal/template/steps/internal.js +2 -4
  706. package/lib/internal/template/steps/internal.js.map +1 -1
  707. package/lib/internal/template/table/body-cell/disabled-inline-editor.js +4 -6
  708. package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
  709. package/lib/internal/template/table/body-cell/index.js +9 -11
  710. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  711. package/lib/internal/template/table/body-cell/inline-editor.js +18 -21
  712. package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -1
  713. package/lib/internal/template/table/body-cell/td-element.js +3 -5
  714. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  715. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +1 -1
  716. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  717. package/lib/internal/template/table/header-cell/index.js +20 -20
  718. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  719. package/lib/internal/template/table/header-cell/th-element.js +3 -5
  720. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  721. package/lib/internal/template/table/index.js +14 -10
  722. package/lib/internal/template/table/index.js.map +1 -1
  723. package/lib/internal/template/table/internal.js +47 -34
  724. package/lib/internal/template/table/internal.js.map +1 -1
  725. package/lib/internal/template/table/progressive-loading/loader-cell.js +2 -4
  726. package/lib/internal/template/table/progressive-loading/loader-cell.js.map +1 -1
  727. package/lib/internal/template/table/selection/selection-cell.js +8 -11
  728. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  729. package/lib/internal/template/table/selection/selection-control.js +10 -12
  730. package/lib/internal/template/table/selection/selection-control.js.map +1 -1
  731. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +1 -1
  732. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
  733. package/lib/internal/template/table/sticky-header.js +2 -2
  734. package/lib/internal/template/table/sticky-header.js.map +1 -1
  735. package/lib/internal/template/table/thead.js +5 -5
  736. package/lib/internal/template/table/thead.js.map +1 -1
  737. package/lib/internal/template/table/use-cell-editing.js +3 -4
  738. package/lib/internal/template/table/use-cell-editing.js.map +1 -1
  739. package/lib/internal/template/table/utils.js +1 -1
  740. package/lib/internal/template/table/utils.js.map +1 -1
  741. package/lib/internal/template/tabs/index.js +6 -8
  742. package/lib/internal/template/tabs/index.js.map +1 -1
  743. package/lib/internal/template/tabs/tab-header-bar.js +12 -5
  744. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  745. package/lib/internal/template/tag-editor/index.js +7 -9
  746. package/lib/internal/template/tag-editor/index.js.map +1 -1
  747. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  748. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  749. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  750. package/lib/internal/template/text-content/index.js +2 -4
  751. package/lib/internal/template/text-content/index.js.map +1 -1
  752. package/lib/internal/template/text-content/styles.css.js +1 -1
  753. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  754. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  755. package/lib/internal/template/text-filter/index.js +1 -1
  756. package/lib/internal/template/text-filter/index.js.map +1 -1
  757. package/lib/internal/template/text-filter/internal.js +2 -4
  758. package/lib/internal/template/text-filter/internal.js.map +1 -1
  759. package/lib/internal/template/textarea/index.js +3 -5
  760. package/lib/internal/template/textarea/index.js.map +1 -1
  761. package/lib/internal/template/textarea/styles.css.js +5 -5
  762. package/lib/internal/template/textarea/styles.js +42 -30
  763. package/lib/internal/template/textarea/styles.js.map +1 -1
  764. package/lib/internal/template/textarea/styles.scoped.css +41 -41
  765. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  766. package/lib/internal/template/tiles/index.js +3 -3
  767. package/lib/internal/template/tiles/index.js.map +1 -1
  768. package/lib/internal/template/tiles/internal.js +12 -14
  769. package/lib/internal/template/tiles/internal.js.map +1 -1
  770. package/lib/internal/template/tiles/tile.js +3 -5
  771. package/lib/internal/template/tiles/tile.js.map +1 -1
  772. package/lib/internal/template/time-input/index.js +2 -4
  773. package/lib/internal/template/time-input/index.js.map +1 -1
  774. package/lib/internal/template/time-input/internal.js +2 -4
  775. package/lib/internal/template/time-input/internal.js.map +1 -1
  776. package/lib/internal/template/toggle/index.js +1 -1
  777. package/lib/internal/template/toggle/index.js.map +1 -1
  778. package/lib/internal/template/toggle/internal.js +5 -7
  779. package/lib/internal/template/toggle/internal.js.map +1 -1
  780. package/lib/internal/template/toggle/styles.css.js +10 -10
  781. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  782. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  783. package/lib/internal/template/toggle-button/index.js +2 -4
  784. package/lib/internal/template/toggle-button/index.js.map +1 -1
  785. package/lib/internal/template/toggle-button/internal.js +3 -5
  786. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  787. package/lib/internal/template/token/dismiss-button.js +2 -2
  788. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  789. package/lib/internal/template/token/index.js +1 -1
  790. package/lib/internal/template/token/index.js.map +1 -1
  791. package/lib/internal/template/token/internal.js +20 -14
  792. package/lib/internal/template/token/internal.js.map +1 -1
  793. package/lib/internal/template/token-group/index.js +2 -4
  794. package/lib/internal/template/token-group/index.js.map +1 -1
  795. package/lib/internal/template/token-group/internal.js +6 -8
  796. package/lib/internal/template/token-group/internal.js.map +1 -1
  797. package/lib/internal/template/top-navigation/index.js +2 -4
  798. package/lib/internal/template/top-navigation/index.js.map +1 -1
  799. package/lib/internal/template/top-navigation/internal.js +2 -4
  800. package/lib/internal/template/top-navigation/internal.js.map +1 -1
  801. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js +7 -11
  802. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  803. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  804. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  805. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  806. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  807. package/lib/internal/template/top-navigation/parts/utility.js +1 -1
  808. package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
  809. package/lib/internal/template/tree-view/index.js +1 -1
  810. package/lib/internal/template/tree-view/index.js.map +1 -1
  811. package/lib/internal/template/tree-view/internal.js +2 -4
  812. package/lib/internal/template/tree-view/internal.js.map +1 -1
  813. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
  814. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  815. package/lib/internal/template/tutorial-panel/index.js +2 -4
  816. package/lib/internal/template/tutorial-panel/index.js.map +1 -1
  817. package/lib/internal/template/wizard/index.js +2 -4
  818. package/lib/internal/template/wizard/index.js.map +1 -1
  819. package/lib/internal/template/wizard/internal.js +23 -10
  820. package/lib/internal/template/wizard/internal.js.map +1 -1
  821. package/lib/internal/template/wizard/wizard-actions.js +3 -3
  822. package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
  823. package/lib/internal/template/wizard/wizard-form.js +2 -2
  824. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  825. package/lib/internal/template/wizard/wizard-navigation.js +7 -7
  826. package/lib/internal/template/wizard/wizard-navigation.js.map +1 -1
  827. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date-input/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,YAAY,CAAC;AACb,OAAO,KAAc,MAAM,OAAO,CAAC;AAEnC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,iBAAiB,MAAM,YAAY,CAAC;AAI3C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAqB,EAAE,GAA4B,EAAE,EAAE;IACzF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,EAAE;QACvD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;KAChE,CAAC,CAAC;IACH,OAAO,oBAAC,iBAAiB,oBAAK,KAAK,EAAM,kBAAkB,IAAE,kCAAkC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtH,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEzC,eAAe,SAAS,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\nimport React, { Ref } from 'react';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { DateInputProps } from './interfaces';\nimport InternalDateInput from './internal';\n\nexport { DateInputProps };\n\nconst DateInput = React.forwardRef((props: DateInputProps, ref: Ref<DateInputProps.Ref>) => {\n const baseComponentProps = useBaseComponent('DateInput', {\n props: { autoFocus: props.autoFocus, readOnly: props.readOnly },\n });\n return <InternalDateInput {...props} {...baseComponentProps} __injectAnalyticsComponentMetadata={true} ref={ref} />;\n});\n\napplyDisplayName(DateInput, 'DateInput');\n\nexport default DateInput;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date-input/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,YAAY,CAAC;AACb,OAAO,KAAc,MAAM,OAAO,CAAC;AAEnC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,iBAAiB,MAAM,YAAY,CAAC;AAI3C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAqB,EAAE,GAA4B,EAAE,EAAE;IACzF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,EAAE;QACvD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;KAChE,CAAC,CAAC;IACH,OAAO,oBAAC,iBAAiB,OAAK,KAAK,KAAM,kBAAkB,EAAE,kCAAkC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;AACtH,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEzC,eAAe,SAAS,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\nimport React, { Ref } from 'react';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { DateInputProps } from './interfaces';\nimport InternalDateInput from './internal';\n\nexport { DateInputProps };\n\nconst DateInput = React.forwardRef((props: DateInputProps, ref: Ref<DateInputProps.Ref>) => {\n const baseComponentProps = useBaseComponent('DateInput', {\n props: { autoFocus: props.autoFocus, readOnly: props.readOnly },\n });\n return <InternalDateInput {...props} {...baseComponentProps} __injectAnalyticsComponentMetadata={true} ref={ref} />;\n});\n\napplyDisplayName(DateInput, 'DateInput');\n\nexport default DateInput;\n"]}
@@ -1,6 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { __rest } from "tslib";
4
3
  import React, { useMemo, useRef, useState } from 'react';
5
4
  import clsx from 'clsx';
6
5
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
@@ -12,8 +11,7 @@ import formatDateIso from '../internal/utils/date-time/format-date-iso';
12
11
  import formatDateLocalized from '../internal/utils/date-time/format-date-localized';
13
12
  import { generateMaskArgs, normalizeIsoDateString } from './utils';
14
13
  import styles from './styles.css.js';
15
- const InternalDateInput = React.forwardRef((_a, ref) => {
16
- var { value, onChange, onBlur, onFocus, granularity = 'day', locale, format = 'slashed', inputFormat = 'slashed', __internalRootRef, __injectAnalyticsComponentMetadata = false } = _a, props = __rest(_a, ["value", "onChange", "onBlur", "onFocus", "granularity", "locale", "format", "inputFormat", "__internalRootRef", "__injectAnalyticsComponentMetadata"]);
14
+ const InternalDateInput = React.forwardRef(({ value, onChange, onBlur, onFocus, granularity = 'day', locale, format = 'slashed', inputFormat = 'slashed', __internalRootRef, __injectAnalyticsComponentMetadata = false, ...props }, ref) => {
17
15
  const [isFocused, setIsFocused] = useState(false);
18
16
  const inputRef = useRef(null);
19
17
  const isIso = format === 'iso' || (format === 'long-localized' && inputFormat === 'iso');
@@ -41,9 +39,9 @@ const InternalDateInput = React.forwardRef((_a, ref) => {
41
39
  const formatProps = { hideTimeOffset: true, isDateOnly: true, isMonthOnly: granularity === 'month', locale };
42
40
  const normalizedValue = normalizeIsoDateString(isoValue, granularity);
43
41
  return usesLongLocalizedValue && normalizedValue
44
- ? formatDateLocalized(Object.assign({ date: normalizedValue }, formatProps))
42
+ ? formatDateLocalized({ date: normalizedValue, ...formatProps })
45
43
  : isIso
46
- ? formatDateIso(Object.assign({ date: isoValue }, formatProps))
44
+ ? formatDateIso({ date: isoValue, ...formatProps })
47
45
  : isoToDisplay(isoValue);
48
46
  }, [value, isIso, granularity, locale, usesLongLocalizedValue]);
49
47
  const componentAnalyticsMetadata = {
@@ -53,9 +51,9 @@ const InternalDateInput = React.forwardRef((_a, ref) => {
53
51
  value: value || '',
54
52
  },
55
53
  };
56
- return (React.createElement(MaskedInput, Object.assign({ ref: inputRef }, props, { value: displayedValue, onChange: onInputChange, onFocus: onInputFocus, onBlur: onInputBlur, className: clsx(styles.root, props.className), mask: generateMaskArgs({ granularity, isIso }), autofix: !usesLongLocalizedValue, disableAutocompleteOnBlur: false, disableBrowserAutocorrect: true, showUnmaskedValue: usesLongLocalizedValue, autoComplete: false, __internalRootRef: __internalRootRef }, (__injectAnalyticsComponentMetadata
57
- ? getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata })
58
- : {}))));
54
+ return (React.createElement(MaskedInput, { ref: inputRef, ...props, value: displayedValue, onChange: onInputChange, onFocus: onInputFocus, onBlur: onInputBlur, className: clsx(styles.root, props.className), mask: generateMaskArgs({ granularity, isIso }), autofix: !usesLongLocalizedValue, disableAutocompleteOnBlur: false, disableBrowserAutocorrect: true, showUnmaskedValue: usesLongLocalizedValue, autoComplete: false, __internalRootRef: __internalRootRef, ...(__injectAnalyticsComponentMetadata
55
+ ? getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata })
56
+ : {}) }));
59
57
  });
60
58
  export default InternalDateInput;
61
59
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/date-input/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\n\nimport React, { Ref, useMemo, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport MaskedInput from '../internal/components/masked-input';\nimport { fireNonCancelableEvent, NonCancelableCustomEvent } from '../internal/events';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { displayToIso, isoToDisplay } from '../internal/utils/date-time';\nimport formatDateIso from '../internal/utils/date-time/format-date-iso';\nimport formatDateLocalized from '../internal/utils/date-time/format-date-localized';\nimport { GeneratedAnalyticsMetadataDateInputComponent } from './analytics-metadata/interfaces';\nimport { DateInputProps } from './interfaces';\nimport { generateMaskArgs, normalizeIsoDateString } from './utils';\n\nimport styles from './styles.css.js';\n\ntype InternalDateInputProps = DateInputProps &\n InternalBaseComponentProps & {\n __injectAnalyticsComponentMetadata?: boolean;\n };\n\nconst InternalDateInput = React.forwardRef(\n (\n {\n value,\n onChange,\n onBlur,\n onFocus,\n granularity = 'day',\n locale,\n format = 'slashed',\n inputFormat = 'slashed',\n __internalRootRef,\n __injectAnalyticsComponentMetadata = false,\n ...props\n }: InternalDateInputProps,\n ref: Ref<DateInputProps.Ref>\n ) => {\n const [isFocused, setIsFocused] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n const isIso = format === 'iso' || (format === 'long-localized' && inputFormat === 'iso');\n\n useForwardFocus(ref, inputRef);\n\n const onInputFocus = (event: NonCancelableCustomEvent<null>) => {\n setIsFocused(true);\n onFocus?.(event);\n };\n\n const onInputBlur = (event: NonCancelableCustomEvent<null>) => {\n setIsFocused(false);\n onBlur?.(event);\n };\n\n const onInputChange = (event: NonCancelableCustomEvent<{ value: string }>) => {\n const isNonFocusedLongLocalized = format === 'long-localized' && !(isFocused || props.readOnly);\n if (!isNonFocusedLongLocalized) {\n fireNonCancelableEvent(onChange, { value: displayToIso(event.detail.value) });\n }\n };\n\n const usesLongLocalizedValue = format === 'long-localized' && !(isFocused && !props.readOnly);\n const displayedValue = useMemo(() => {\n if (!value) {\n return '';\n }\n const isoValue = displayToIso(value);\n const formatProps = { hideTimeOffset: true, isDateOnly: true, isMonthOnly: granularity === 'month', locale };\n const normalizedValue = normalizeIsoDateString(isoValue, granularity);\n return usesLongLocalizedValue && normalizedValue\n ? formatDateLocalized({ date: normalizedValue, ...formatProps })\n : isIso\n ? formatDateIso({ date: isoValue, ...formatProps })\n : isoToDisplay(isoValue);\n }, [value, isIso, granularity, locale, usesLongLocalizedValue]);\n\n const componentAnalyticsMetadata: GeneratedAnalyticsMetadataDateInputComponent = {\n name: 'awsui.DateInput',\n label: 'input',\n properties: {\n value: value || '',\n },\n };\n\n return (\n <MaskedInput\n ref={inputRef}\n {...props}\n value={displayedValue}\n onChange={onInputChange}\n onFocus={onInputFocus}\n onBlur={onInputBlur}\n className={clsx(styles.root, props.className)}\n mask={generateMaskArgs({ granularity, isIso })}\n autofix={!usesLongLocalizedValue}\n disableAutocompleteOnBlur={false}\n disableBrowserAutocorrect={true}\n showUnmaskedValue={usesLongLocalizedValue}\n autoComplete={false}\n __internalRootRef={__internalRootRef}\n {...(__injectAnalyticsComponentMetadata\n ? getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata })\n : {})}\n />\n );\n }\n);\n\nexport default InternalDateInput;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/date-input/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\n\nimport React, { Ref, useMemo, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport MaskedInput from '../internal/components/masked-input';\nimport { fireNonCancelableEvent, NonCancelableCustomEvent } from '../internal/events';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { displayToIso, isoToDisplay } from '../internal/utils/date-time';\nimport formatDateIso from '../internal/utils/date-time/format-date-iso';\nimport formatDateLocalized from '../internal/utils/date-time/format-date-localized';\nimport { GeneratedAnalyticsMetadataDateInputComponent } from './analytics-metadata/interfaces';\nimport { DateInputProps } from './interfaces';\nimport { generateMaskArgs, normalizeIsoDateString } from './utils';\n\nimport styles from './styles.css.js';\n\ntype InternalDateInputProps = DateInputProps &\n InternalBaseComponentProps & {\n __injectAnalyticsComponentMetadata?: boolean;\n };\n\nconst InternalDateInput = React.forwardRef(\n (\n {\n value,\n onChange,\n onBlur,\n onFocus,\n granularity = 'day',\n locale,\n format = 'slashed',\n inputFormat = 'slashed',\n __internalRootRef,\n __injectAnalyticsComponentMetadata = false,\n ...props\n }: InternalDateInputProps,\n ref: Ref<DateInputProps.Ref>\n ) => {\n const [isFocused, setIsFocused] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n const isIso = format === 'iso' || (format === 'long-localized' && inputFormat === 'iso');\n\n useForwardFocus(ref, inputRef);\n\n const onInputFocus = (event: NonCancelableCustomEvent<null>) => {\n setIsFocused(true);\n onFocus?.(event);\n };\n\n const onInputBlur = (event: NonCancelableCustomEvent<null>) => {\n setIsFocused(false);\n onBlur?.(event);\n };\n\n const onInputChange = (event: NonCancelableCustomEvent<{ value: string }>) => {\n const isNonFocusedLongLocalized = format === 'long-localized' && !(isFocused || props.readOnly);\n if (!isNonFocusedLongLocalized) {\n fireNonCancelableEvent(onChange, { value: displayToIso(event.detail.value) });\n }\n };\n\n const usesLongLocalizedValue = format === 'long-localized' && !(isFocused && !props.readOnly);\n const displayedValue = useMemo(() => {\n if (!value) {\n return '';\n }\n const isoValue = displayToIso(value);\n const formatProps = { hideTimeOffset: true, isDateOnly: true, isMonthOnly: granularity === 'month', locale };\n const normalizedValue = normalizeIsoDateString(isoValue, granularity);\n return usesLongLocalizedValue && normalizedValue\n ? formatDateLocalized({ date: normalizedValue, ...formatProps })\n : isIso\n ? formatDateIso({ date: isoValue, ...formatProps })\n : isoToDisplay(isoValue);\n }, [value, isIso, granularity, locale, usesLongLocalizedValue]);\n\n const componentAnalyticsMetadata: GeneratedAnalyticsMetadataDateInputComponent = {\n name: 'awsui.DateInput',\n label: 'input',\n properties: {\n value: value || '',\n },\n };\n\n return (\n <MaskedInput\n ref={inputRef}\n {...props}\n value={displayedValue}\n onChange={onInputChange}\n onFocus={onInputFocus}\n onBlur={onInputBlur}\n className={clsx(styles.root, props.className)}\n mask={generateMaskArgs({ granularity, isIso })}\n autofix={!usesLongLocalizedValue}\n disableAutocompleteOnBlur={false}\n disableBrowserAutocorrect={true}\n showUnmaskedValue={usesLongLocalizedValue}\n autoComplete={false}\n __internalRootRef={__internalRootRef}\n {...(__injectAnalyticsComponentMetadata\n ? getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata })\n : {})}\n />\n );\n }\n);\n\nexport default InternalDateInput;\n"]}
@@ -1,7 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
- import { __rest } from "tslib";
5
4
  import React, { useCallback, useRef, useState } from 'react';
6
5
  import clsx from 'clsx';
7
6
  import { useMergeRefs, useUniqueId } from '@cloudscape-design/component-toolkit/internal';
@@ -25,9 +24,8 @@ import { normalizeLocale } from '../internal/utils/locale';
25
24
  import InternalLiveRegion from '../live-region/internal';
26
25
  import { getBaseDateLabel, getSelectedDateLabel, isValidFullDate } from './utils';
27
26
  import styles from './styles.css.js';
28
- const DatePicker = React.forwardRef((_a, ref) => {
29
- var _b, _c, _d;
30
- var { locale, startOfWeek, isDateEnabled, dateDisabledReason, nextMonthAriaLabel, previousMonthAriaLabel, todayAriaLabel, i18nStrings, placeholder = '', value = '', readOnly = false, disabled = false, onBlur, autoFocus = false, onChange, onFocus, name, ariaLabel, ariaRequired, controlId, invalid, warning, openCalendarAriaLabel, expandToViewport, granularity = 'day', format = 'slashed', inputFormat = 'slashed' } = _a, restProps = __rest(_a, ["locale", "startOfWeek", "isDateEnabled", "dateDisabledReason", "nextMonthAriaLabel", "previousMonthAriaLabel", "todayAriaLabel", "i18nStrings", "placeholder", "value", "readOnly", "disabled", "onBlur", "autoFocus", "onChange", "onFocus", "name", "ariaLabel", "ariaRequired", "controlId", "invalid", "warning", "openCalendarAriaLabel", "expandToViewport", "granularity", "format", "inputFormat"]);
27
+ const DatePicker = React.forwardRef(({ locale, startOfWeek, isDateEnabled, dateDisabledReason, nextMonthAriaLabel, previousMonthAriaLabel, todayAriaLabel, i18nStrings, placeholder = '', value = '', readOnly = false, disabled = false, onBlur, autoFocus = false, onChange, onFocus, name, ariaLabel, ariaRequired, controlId, invalid, warning, openCalendarAriaLabel, expandToViewport, granularity = 'day', format = 'slashed', inputFormat = 'slashed', ...restProps }, ref) => {
28
+ var _a, _b, _c;
31
29
  const { __internalRootRef } = useBaseComponent('DatePicker', {
32
30
  props: { autoFocus, expandToViewport, granularity, readOnly },
33
31
  metadata: { hasDisabledReasons: Boolean(dateDisabledReason) },
@@ -82,14 +80,19 @@ const DatePicker = React.forwardRef((_a, ref) => {
82
80
  React.createElement("div", null,
83
81
  React.createElement(InternalButton, { iconName: "calendar", className: styles['open-calendar-button'], onClick: onButtonClickHandler, ref: buttonRef, ariaLabel: buttonAriaLabel, disabled: disabled || readOnly, formAction: "none" }))));
84
82
  baseProps.className = clsx(baseProps.className, styles.root, styles['date-picker-container']);
85
- return (React.createElement("div", Object.assign({}, baseProps, { ref: mergedRef, onKeyDown: !disabled && !readOnly ? onWrapperKeyDownHandler : undefined }), disabled || readOnly ? (trigger) : (React.createElement(Dropdown, { stretchWidth: true, stretchHeight: true, open: isDropDownOpen, onDropdownClose: onDropdownCloseHandler, trigger: trigger, expandToViewport: expandToViewport, scrollable: false, dropdownId: dropdownId }, isDropDownOpen && (React.createElement(FocusLock, { className: styles['focus-lock'], autoFocus: true },
83
+ return (React.createElement("div", { ...baseProps, ref: mergedRef, onKeyDown: !disabled && !readOnly ? onWrapperKeyDownHandler : undefined }, disabled || readOnly ? (trigger) : (React.createElement(Dropdown, { stretchWidth: true, stretchHeight: true, open: isDropDownOpen, onDropdownClose: onDropdownCloseHandler, trigger: trigger, expandToViewport: expandToViewport, scrollable: false, dropdownId: dropdownId }, isDropDownOpen && (React.createElement(FocusLock, { className: styles['focus-lock'], autoFocus: true },
86
84
  React.createElement("div", { tabIndex: 0, className: styles.calendar, role: "dialog" },
87
85
  React.createElement(InternalCalendar, { value: value, onChange: e => {
88
86
  var _a;
89
87
  fireNonCancelableEvent(onChange, e.detail);
90
88
  (_a = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
91
89
  setIsDropDownOpen(false);
92
- }, locale: normalizedLocale, startOfWeek: startOfWeek, ariaDescribedby: calendarDescriptionId, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, granularity: granularity, isDateEnabled: isDateEnabled, dateDisabledReason: dateDisabledReason, i18nStrings: Object.assign(Object.assign({}, i18nStrings), { todayAriaLabel: (_b = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel) !== null && _b !== void 0 ? _b : todayAriaLabel, nextMonthAriaLabel: (_c = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel) !== null && _c !== void 0 ? _c : nextMonthAriaLabel, previousMonthAriaLabel: (_d = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel) !== null && _d !== void 0 ? _d : previousMonthAriaLabel }) }),
90
+ }, locale: normalizedLocale, startOfWeek: startOfWeek, ariaDescribedby: calendarDescriptionId, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, granularity: granularity, isDateEnabled: isDateEnabled, dateDisabledReason: dateDisabledReason, i18nStrings: {
91
+ ...i18nStrings,
92
+ todayAriaLabel: (_a = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel) !== null && _a !== void 0 ? _a : todayAriaLabel,
93
+ nextMonthAriaLabel: (_b = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel) !== null && _b !== void 0 ? _b : nextMonthAriaLabel,
94
+ previousMonthAriaLabel: (_c = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel) !== null && _c !== void 0 ? _c : previousMonthAriaLabel,
95
+ } }),
93
96
  React.createElement(InternalLiveRegion, { id: calendarDescriptionId, hidden: true, tagName: "span" }, getBaseDateLabel({ date: baseDate, granularity, locale: normalizedLocale })))))))));
94
97
  });
95
98
  applyDisplayName(DatePicker, 'DatePicker');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date-picker/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;;AACb,OAAO,KAAK,EAAE,EAAO,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAG1F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,SAAS,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAElF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CACE,EA6BkB,EAClB,GAA6B,EAC7B,EAAE;;QA/BF,EACE,MAAM,EACN,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,WAAW,GAAG,EAAE,EAChB,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GAAG,KAAK,EACnB,MAAM,GAAG,SAAS,EAClB,WAAW,GAAG,SAAS,OAEP,EADb,SAAS,cA5Bd,4YA6BC,CADa;IAId,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,YAAY,EAAE;QAC3D,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC7D,QAAQ,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE;KAC9D,CAAC,CAAC;IACH,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;IAClC,MAAM,gBAAgB,GAAG,eAAe,CAAC,YAAY,EAAE,MAAM,IAAI,aAAa,CAAC,CAAC;IAEhF,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAE3E,MAAM,gBAAgB,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAChD,eAAe,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE3D,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9C,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEhG,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,KAA0C,EAAE,EAAE;;QAC7E,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YACvD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC3B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAA2B,KAAK,CAAC,EAAE;QAC3D,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAyB,GAAG,EAAE;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,uEAAuE;IACvE,MAAM,WAAW,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;IAE3C,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAEnE,MAAM,eAAe,GACnB,qBAAqB;QACrB,qBAAqB,CACnB,YAAY,IAAI,WAAW;YACzB,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACpF,CAAC,CAAC,IAAI,CACT,CAAC;IAEJ,MAAM,OAAO,GAAG,CACd,6BAAK,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;QAC3C,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;YACzC,oBAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACxB,CACE;QACN;YACE,oBAAC,cAAc,IACb,QAAQ,EAAC,UAAU,EACnB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACzC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,UAAU,EAAC,MAAM,GACjB,CACE,CACF,CACP,CAAC;IAEF,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9F,OAAO,CACL,6CAAS,SAAS,IAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,KACxG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CACtB,OAAO,CACR,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IACP,YAAY,EAAE,IAAI,EAClB,aAAa,EAAE,IAAI,EACnB,IAAI,EAAE,cAAc,EACpB,eAAe,EAAE,sBAAsB,EACvC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,KAAK,EACjB,UAAU,EAAE,UAAU,IAErB,cAAc,IAAI,CACjB,oBAAC,SAAS,IAAC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI;QACzD,6BAAK,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAC,QAAQ;YACzD,oBAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE;;oBACZ,sBAAsB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,KAAK,EAAE,CAAC;oBAC5B,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,EACD,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,qBAAqB,EACtC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,kCACN,WAAW,KACd,cAAc,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,mCAAI,cAAc,EAC7D,kBAAkB,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,kBAAkB,mCAAI,kBAAkB,EACzE,sBAAsB,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,sBAAsB,mCAAI,sBAAsB,MAEvF;YACF,oBAAC,kBAAkB,IAAC,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,IACxE,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CACzD,CACjB,CACI,CACb,CACQ,CACZ,CACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC3C,eAAe,UAAU,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React, { Ref, useCallback, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport InternalCalendar from '../calendar/internal';\nimport { useFormFieldContext } from '../contexts/form-field.js';\nimport InternalDateInput from '../date-input/internal';\nimport { useLocale } from '../i18n/context.js';\nimport { InputProps } from '../input/interfaces';\nimport { getBaseProps } from '../internal/base-component';\nimport Dropdown from '../internal/components/dropdown';\nimport FocusLock from '../internal/components/focus-lock';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useFocusTracker } from '../internal/hooks/use-focus-tracker.js';\nimport { KeyCode } from '../internal/keycode';\nimport { applyDisplayName } from '../internal/utils/apply-display-name.js';\nimport { parseDate } from '../internal/utils/date-time';\nimport { normalizeLocale } from '../internal/utils/locale';\nimport InternalLiveRegion from '../live-region/internal';\nimport { DatePickerProps } from './interfaces';\nimport { getBaseDateLabel, getSelectedDateLabel, isValidFullDate } from './utils';\n\nimport styles from './styles.css.js';\n\nexport { DatePickerProps };\n\nconst DatePicker = React.forwardRef(\n (\n {\n locale,\n startOfWeek,\n isDateEnabled,\n dateDisabledReason,\n nextMonthAriaLabel,\n previousMonthAriaLabel,\n todayAriaLabel,\n i18nStrings,\n placeholder = '',\n value = '',\n readOnly = false,\n disabled = false,\n onBlur,\n autoFocus = false,\n onChange,\n onFocus,\n name,\n ariaLabel,\n ariaRequired,\n controlId,\n invalid,\n warning,\n openCalendarAriaLabel,\n expandToViewport,\n granularity = 'day',\n format = 'slashed',\n inputFormat = 'slashed',\n ...restProps\n }: DatePickerProps,\n ref: Ref<DatePickerProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('DatePicker', {\n props: { autoFocus, expandToViewport, granularity, readOnly },\n metadata: { hasDisabledReasons: Boolean(dateDisabledReason) },\n });\n checkControlled('DatePicker', 'value', value, 'onChange', onChange);\n\n const contextLocale = useLocale();\n const normalizedLocale = normalizeLocale('DatePicker', locale || contextLocale);\n\n const baseProps = getBaseProps(restProps);\n const [isDropDownOpen, setIsDropDownOpen] = useState<boolean>(false);\n const { ariaLabelledby, ariaDescribedby } = useFormFieldContext(restProps);\n\n const internalInputRef = useRef<HTMLInputElement>(null);\n const buttonRef = useRef<ButtonProps.Ref>(null);\n useForwardFocus(ref, internalInputRef);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const dropdownId = useUniqueId('calender');\n const calendarDescriptionId = useUniqueId('calendar-description-');\n const mergedRef = useMergeRefs(rootRef, __internalRootRef);\n\n useFocusTracker({ rootRef, onBlur, onFocus });\n\n const onDropdownCloseHandler = useCallback(() => setIsDropDownOpen(false), [setIsDropDownOpen]);\n\n const onButtonClickHandler = () => {\n if (!isDropDownOpen) {\n setIsDropDownOpen(true);\n }\n };\n\n const onWrapperKeyDownHandler = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.keyCode === KeyCode.escape && isDropDownOpen) {\n event.stopPropagation();\n buttonRef.current?.focus();\n setIsDropDownOpen(false);\n }\n };\n\n const onInputChangeHandler: InputProps['onChange'] = event => {\n fireNonCancelableEvent(onChange, { value: event.detail.value });\n };\n\n const onInputBlurHandler: InputProps['onBlur'] = () => {\n if (!isDropDownOpen) {\n setIsDropDownOpen(false);\n }\n };\n\n // Set displayed date to value if defined or to current date otherwise.\n const parsedValue = value && value.length >= 4 ? parseDate(value) : null;\n const baseDate = parsedValue || new Date();\n\n const hasFullValue = isValidFullDate({ date: value, granularity });\n\n const buttonAriaLabel =\n openCalendarAriaLabel &&\n openCalendarAriaLabel(\n hasFullValue && parsedValue\n ? getSelectedDateLabel({ date: parsedValue, granularity, locale: normalizedLocale })\n : null\n );\n\n const trigger = (\n <div className={styles['date-picker-trigger']}>\n <div className={styles['date-picker-input']}>\n <InternalDateInput\n name={name}\n invalid={invalid}\n warning={warning}\n controlId={controlId}\n ariaLabelledby={ariaLabelledby}\n ariaDescribedby={ariaDescribedby}\n ariaLabel={ariaLabel}\n ariaRequired={ariaRequired}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onInputChangeHandler}\n onBlur={onInputBlurHandler}\n placeholder={placeholder}\n ref={internalInputRef}\n autoFocus={autoFocus}\n onFocus={onDropdownCloseHandler}\n granularity={granularity}\n locale={locale}\n format={format}\n inputFormat={inputFormat}\n />\n </div>\n <div>\n <InternalButton\n iconName=\"calendar\"\n className={styles['open-calendar-button']}\n onClick={onButtonClickHandler}\n ref={buttonRef}\n ariaLabel={buttonAriaLabel}\n disabled={disabled || readOnly}\n formAction=\"none\"\n />\n </div>\n </div>\n );\n\n baseProps.className = clsx(baseProps.className, styles.root, styles['date-picker-container']);\n\n return (\n <div {...baseProps} ref={mergedRef} onKeyDown={!disabled && !readOnly ? onWrapperKeyDownHandler : undefined}>\n {disabled || readOnly ? (\n trigger\n ) : (\n <Dropdown\n stretchWidth={true}\n stretchHeight={true}\n open={isDropDownOpen}\n onDropdownClose={onDropdownCloseHandler}\n trigger={trigger}\n expandToViewport={expandToViewport}\n scrollable={false}\n dropdownId={dropdownId}\n >\n {isDropDownOpen && (\n <FocusLock className={styles['focus-lock']} autoFocus={true}>\n <div tabIndex={0} className={styles.calendar} role=\"dialog\">\n <InternalCalendar\n value={value}\n onChange={e => {\n fireNonCancelableEvent(onChange, e.detail);\n buttonRef?.current?.focus();\n setIsDropDownOpen(false);\n }}\n locale={normalizedLocale}\n startOfWeek={startOfWeek}\n ariaDescribedby={calendarDescriptionId}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n granularity={granularity}\n isDateEnabled={isDateEnabled}\n dateDisabledReason={dateDisabledReason}\n i18nStrings={{\n ...i18nStrings,\n todayAriaLabel: i18nStrings?.todayAriaLabel ?? todayAriaLabel,\n nextMonthAriaLabel: i18nStrings?.nextMonthAriaLabel ?? nextMonthAriaLabel,\n previousMonthAriaLabel: i18nStrings?.previousMonthAriaLabel ?? previousMonthAriaLabel,\n }}\n />\n <InternalLiveRegion id={calendarDescriptionId} hidden={true} tagName=\"span\">\n {getBaseDateLabel({ date: baseDate, granularity, locale: normalizedLocale })}\n </InternalLiveRegion>\n </div>\n </FocusLock>\n )}\n </Dropdown>\n )}\n </div>\n );\n }\n);\n\napplyDisplayName(DatePicker, 'DatePicker');\nexport default DatePicker;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date-picker/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,EAAE,EAAO,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAG1F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,SAAS,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAElF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CACE,EACE,MAAM,EACN,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,WAAW,GAAG,EAAE,EAChB,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GAAG,KAAK,EACnB,MAAM,GAAG,SAAS,EAClB,WAAW,GAAG,SAAS,EACvB,GAAG,SAAS,EACI,EAClB,GAA6B,EAC7B,EAAE;;IACF,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,YAAY,EAAE;QAC3D,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC7D,QAAQ,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE;KAC9D,CAAC,CAAC;IACH,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;IAClC,MAAM,gBAAgB,GAAG,eAAe,CAAC,YAAY,EAAE,MAAM,IAAI,aAAa,CAAC,CAAC;IAEhF,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAE3E,MAAM,gBAAgB,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAChD,eAAe,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE3D,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9C,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEhG,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,KAA0C,EAAE,EAAE;;QAC7E,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YACvD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC3B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAA2B,KAAK,CAAC,EAAE;QAC3D,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAyB,GAAG,EAAE;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,uEAAuE;IACvE,MAAM,WAAW,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;IAE3C,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAEnE,MAAM,eAAe,GACnB,qBAAqB;QACrB,qBAAqB,CACnB,YAAY,IAAI,WAAW;YACzB,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACpF,CAAC,CAAC,IAAI,CACT,CAAC;IAEJ,MAAM,OAAO,GAAG,CACd,6BAAK,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;QAC3C,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;YACzC,oBAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACxB,CACE;QACN;YACE,oBAAC,cAAc,IACb,QAAQ,EAAC,UAAU,EACnB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACzC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,UAAU,EAAC,MAAM,GACjB,CACE,CACF,CACP,CAAC;IAEF,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9F,OAAO,CACL,gCAAS,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,IACxG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CACtB,OAAO,CACR,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IACP,YAAY,EAAE,IAAI,EAClB,aAAa,EAAE,IAAI,EACnB,IAAI,EAAE,cAAc,EACpB,eAAe,EAAE,sBAAsB,EACvC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,KAAK,EACjB,UAAU,EAAE,UAAU,IAErB,cAAc,IAAI,CACjB,oBAAC,SAAS,IAAC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI;QACzD,6BAAK,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAC,QAAQ;YACzD,oBAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE;;oBACZ,sBAAsB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,KAAK,EAAE,CAAC;oBAC5B,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,EACD,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,qBAAqB,EACtC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE;oBACX,GAAG,WAAW;oBACd,cAAc,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,mCAAI,cAAc;oBAC7D,kBAAkB,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,kBAAkB,mCAAI,kBAAkB;oBACzE,sBAAsB,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,sBAAsB,mCAAI,sBAAsB;iBACtF,GACD;YACF,oBAAC,kBAAkB,IAAC,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,IACxE,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CACzD,CACjB,CACI,CACb,CACQ,CACZ,CACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC3C,eAAe,UAAU,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React, { Ref, useCallback, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport InternalCalendar from '../calendar/internal';\nimport { useFormFieldContext } from '../contexts/form-field.js';\nimport InternalDateInput from '../date-input/internal';\nimport { useLocale } from '../i18n/context.js';\nimport { InputProps } from '../input/interfaces';\nimport { getBaseProps } from '../internal/base-component';\nimport Dropdown from '../internal/components/dropdown';\nimport FocusLock from '../internal/components/focus-lock';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useFocusTracker } from '../internal/hooks/use-focus-tracker.js';\nimport { KeyCode } from '../internal/keycode';\nimport { applyDisplayName } from '../internal/utils/apply-display-name.js';\nimport { parseDate } from '../internal/utils/date-time';\nimport { normalizeLocale } from '../internal/utils/locale';\nimport InternalLiveRegion from '../live-region/internal';\nimport { DatePickerProps } from './interfaces';\nimport { getBaseDateLabel, getSelectedDateLabel, isValidFullDate } from './utils';\n\nimport styles from './styles.css.js';\n\nexport { DatePickerProps };\n\nconst DatePicker = React.forwardRef(\n (\n {\n locale,\n startOfWeek,\n isDateEnabled,\n dateDisabledReason,\n nextMonthAriaLabel,\n previousMonthAriaLabel,\n todayAriaLabel,\n i18nStrings,\n placeholder = '',\n value = '',\n readOnly = false,\n disabled = false,\n onBlur,\n autoFocus = false,\n onChange,\n onFocus,\n name,\n ariaLabel,\n ariaRequired,\n controlId,\n invalid,\n warning,\n openCalendarAriaLabel,\n expandToViewport,\n granularity = 'day',\n format = 'slashed',\n inputFormat = 'slashed',\n ...restProps\n }: DatePickerProps,\n ref: Ref<DatePickerProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('DatePicker', {\n props: { autoFocus, expandToViewport, granularity, readOnly },\n metadata: { hasDisabledReasons: Boolean(dateDisabledReason) },\n });\n checkControlled('DatePicker', 'value', value, 'onChange', onChange);\n\n const contextLocale = useLocale();\n const normalizedLocale = normalizeLocale('DatePicker', locale || contextLocale);\n\n const baseProps = getBaseProps(restProps);\n const [isDropDownOpen, setIsDropDownOpen] = useState<boolean>(false);\n const { ariaLabelledby, ariaDescribedby } = useFormFieldContext(restProps);\n\n const internalInputRef = useRef<HTMLInputElement>(null);\n const buttonRef = useRef<ButtonProps.Ref>(null);\n useForwardFocus(ref, internalInputRef);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const dropdownId = useUniqueId('calender');\n const calendarDescriptionId = useUniqueId('calendar-description-');\n const mergedRef = useMergeRefs(rootRef, __internalRootRef);\n\n useFocusTracker({ rootRef, onBlur, onFocus });\n\n const onDropdownCloseHandler = useCallback(() => setIsDropDownOpen(false), [setIsDropDownOpen]);\n\n const onButtonClickHandler = () => {\n if (!isDropDownOpen) {\n setIsDropDownOpen(true);\n }\n };\n\n const onWrapperKeyDownHandler = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.keyCode === KeyCode.escape && isDropDownOpen) {\n event.stopPropagation();\n buttonRef.current?.focus();\n setIsDropDownOpen(false);\n }\n };\n\n const onInputChangeHandler: InputProps['onChange'] = event => {\n fireNonCancelableEvent(onChange, { value: event.detail.value });\n };\n\n const onInputBlurHandler: InputProps['onBlur'] = () => {\n if (!isDropDownOpen) {\n setIsDropDownOpen(false);\n }\n };\n\n // Set displayed date to value if defined or to current date otherwise.\n const parsedValue = value && value.length >= 4 ? parseDate(value) : null;\n const baseDate = parsedValue || new Date();\n\n const hasFullValue = isValidFullDate({ date: value, granularity });\n\n const buttonAriaLabel =\n openCalendarAriaLabel &&\n openCalendarAriaLabel(\n hasFullValue && parsedValue\n ? getSelectedDateLabel({ date: parsedValue, granularity, locale: normalizedLocale })\n : null\n );\n\n const trigger = (\n <div className={styles['date-picker-trigger']}>\n <div className={styles['date-picker-input']}>\n <InternalDateInput\n name={name}\n invalid={invalid}\n warning={warning}\n controlId={controlId}\n ariaLabelledby={ariaLabelledby}\n ariaDescribedby={ariaDescribedby}\n ariaLabel={ariaLabel}\n ariaRequired={ariaRequired}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onInputChangeHandler}\n onBlur={onInputBlurHandler}\n placeholder={placeholder}\n ref={internalInputRef}\n autoFocus={autoFocus}\n onFocus={onDropdownCloseHandler}\n granularity={granularity}\n locale={locale}\n format={format}\n inputFormat={inputFormat}\n />\n </div>\n <div>\n <InternalButton\n iconName=\"calendar\"\n className={styles['open-calendar-button']}\n onClick={onButtonClickHandler}\n ref={buttonRef}\n ariaLabel={buttonAriaLabel}\n disabled={disabled || readOnly}\n formAction=\"none\"\n />\n </div>\n </div>\n );\n\n baseProps.className = clsx(baseProps.className, styles.root, styles['date-picker-container']);\n\n return (\n <div {...baseProps} ref={mergedRef} onKeyDown={!disabled && !readOnly ? onWrapperKeyDownHandler : undefined}>\n {disabled || readOnly ? (\n trigger\n ) : (\n <Dropdown\n stretchWidth={true}\n stretchHeight={true}\n open={isDropDownOpen}\n onDropdownClose={onDropdownCloseHandler}\n trigger={trigger}\n expandToViewport={expandToViewport}\n scrollable={false}\n dropdownId={dropdownId}\n >\n {isDropDownOpen && (\n <FocusLock className={styles['focus-lock']} autoFocus={true}>\n <div tabIndex={0} className={styles.calendar} role=\"dialog\">\n <InternalCalendar\n value={value}\n onChange={e => {\n fireNonCancelableEvent(onChange, e.detail);\n buttonRef?.current?.focus();\n setIsDropDownOpen(false);\n }}\n locale={normalizedLocale}\n startOfWeek={startOfWeek}\n ariaDescribedby={calendarDescriptionId}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n granularity={granularity}\n isDateEnabled={isDateEnabled}\n dateDisabledReason={dateDisabledReason}\n i18nStrings={{\n ...i18nStrings,\n todayAriaLabel: i18nStrings?.todayAriaLabel ?? todayAriaLabel,\n nextMonthAriaLabel: i18nStrings?.nextMonthAriaLabel ?? nextMonthAriaLabel,\n previousMonthAriaLabel: i18nStrings?.previousMonthAriaLabel ?? previousMonthAriaLabel,\n }}\n />\n <InternalLiveRegion id={calendarDescriptionId} hidden={true} tagName=\"span\">\n {getBaseDateLabel({ date: baseDate, granularity, locale: normalizedLocale })}\n </InternalLiveRegion>\n </div>\n </FocusLock>\n )}\n </Dropdown>\n )}\n </div>\n );\n }\n);\n\napplyDisplayName(DatePicker, 'DatePicker');\nexport default DatePicker;\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React, { forwardRef, useRef, useState } from 'react';
@@ -8,12 +7,12 @@ import useHiddenDescription from '../../../internal/hooks/use-hidden-description
8
7
  import { applyDisplayName } from '../../../internal/utils/apply-display-name';
9
8
  import testutilStyles from '../../test-classes/styles.css.js';
10
9
  export const GridCell = forwardRef((props, focusedDateRef) => {
11
- const { disabledReason } = props, rest = __rest(props, ["disabledReason"]);
10
+ const { disabledReason, ...rest } = props;
12
11
  const isDisabledWithReason = !!disabledReason;
13
12
  const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);
14
13
  const ref = useRef(null);
15
14
  const [showTooltip, setShowTooltip] = useState(false);
16
- return (React.createElement("td", Object.assign({ ref: useMergeRefs(focusedDateRef, ref) }, rest, (isDisabledWithReason ? targetProps : {}), { onFocus: event => {
15
+ return (React.createElement("td", { ref: useMergeRefs(focusedDateRef, ref), ...rest, ...(isDisabledWithReason ? targetProps : {}), onFocus: event => {
17
16
  if (rest.onFocus) {
18
17
  rest.onFocus(event);
19
18
  }
@@ -41,7 +40,7 @@ export const GridCell = forwardRef((props, focusedDateRef) => {
41
40
  if (isDisabledWithReason) {
42
41
  setShowTooltip(false);
43
42
  }
44
- } }),
43
+ } },
45
44
  props.children,
46
45
  isDisabledWithReason && (React.createElement(React.Fragment, null,
47
46
  descriptionEl,
@@ -1 +1 @@
1
- {"version":3,"file":"grid-cell.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/grid-cell.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAoB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAE7E,OAAO,OAAO,MAAM,sCAAsC,CAAC;AAC3D,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAM9D,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,KAAoB,EAAE,cAA+C,EAAE,EAAE;IAC3G,MAAM,EAAE,cAAc,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAnC,kBAA2B,CAAQ,CAAC;IAC1C,MAAM,oBAAoB,GAAG,CAAC,CAAC,cAAc,CAAC;IAC9C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,OAAO,CACL,0CACE,GAAG,EAAE,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,IAClC,IAAI,EACJ,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,IAC7C,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,EACD,MAAM,EAAE,KAAK,CAAC,EAAE;YACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,EACD,YAAY,EAAE,KAAK,CAAC,EAAE;YACpB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,EACD,YAAY,EAAE,KAAK,CAAC,EAAE;YACpB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAEA,KAAK,CAAC,QAAQ;QACd,oBAAoB,IAAI,CACvB;YACG,aAAa;YACb,WAAW,IAAI,CACd,oBAAC,OAAO,IACN,SAAS,EAAE,cAAc,CAAC,yBAAyB,CAAC,EACpD,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,cAAe,EACtB,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,GACtC,CACH,CACA,CACJ,CACE,CACN,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, TdHTMLAttributes, useRef, useState } from 'react';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\n\nimport Tooltip from '../../../internal/components/tooltip';\nimport useHiddenDescription from '../../../internal/hooks/use-hidden-description';\nimport { applyDisplayName } from '../../../internal/utils/apply-display-name';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\n\ninterface GridCellProps extends TdHTMLAttributes<HTMLTableCellElement> {\n disabledReason?: string;\n}\n\nexport const GridCell = forwardRef((props: GridCellProps, focusedDateRef: React.Ref<HTMLTableCellElement>) => {\n const { disabledReason, ...rest } = props;\n const isDisabledWithReason = !!disabledReason;\n const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);\n const ref = useRef<HTMLTableCellElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n\n return (\n <td\n ref={useMergeRefs(focusedDateRef, ref)}\n {...rest}\n {...(isDisabledWithReason ? targetProps : {})}\n onFocus={event => {\n if (rest.onFocus) {\n rest.onFocus(event);\n }\n\n if (isDisabledWithReason) {\n setShowTooltip(true);\n }\n }}\n onBlur={event => {\n if (rest.onBlur) {\n rest.onBlur(event);\n }\n\n if (isDisabledWithReason) {\n setShowTooltip(false);\n }\n }}\n onMouseEnter={event => {\n if (rest.onMouseEnter) {\n rest.onMouseEnter(event);\n }\n\n if (isDisabledWithReason) {\n setShowTooltip(true);\n }\n }}\n onMouseLeave={event => {\n if (rest.onMouseLeave) {\n rest.onMouseLeave(event);\n }\n\n if (isDisabledWithReason) {\n setShowTooltip(false);\n }\n }}\n >\n {props.children}\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={testutilStyles['disabled-reason-tooltip']}\n trackRef={ref}\n value={disabledReason!}\n onDismiss={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </td>\n );\n});\n\napplyDisplayName(GridCell, 'GridCell');\n"]}
1
+ {"version":3,"file":"grid-cell.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/grid-cell.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAoB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAE7E,OAAO,OAAO,MAAM,sCAAsC,CAAC;AAC3D,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAM9D,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,KAAoB,EAAE,cAA+C,EAAE,EAAE;IAC3G,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,oBAAoB,GAAG,CAAC,CAAC,cAAc,CAAC;IAC9C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,OAAO,CACL,4BACE,GAAG,EAAE,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,KAClC,IAAI,KACJ,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7C,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,EACD,MAAM,EAAE,KAAK,CAAC,EAAE;YACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,EACD,YAAY,EAAE,KAAK,CAAC,EAAE;YACpB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,EACD,YAAY,EAAE,KAAK,CAAC,EAAE;YACpB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAEA,KAAK,CAAC,QAAQ;QACd,oBAAoB,IAAI,CACvB;YACG,aAAa;YACb,WAAW,IAAI,CACd,oBAAC,OAAO,IACN,SAAS,EAAE,cAAc,CAAC,yBAAyB,CAAC,EACpD,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,cAAe,EACtB,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,GACtC,CACH,CACA,CACJ,CACE,CACN,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, TdHTMLAttributes, useRef, useState } from 'react';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\n\nimport Tooltip from '../../../internal/components/tooltip';\nimport useHiddenDescription from '../../../internal/hooks/use-hidden-description';\nimport { applyDisplayName } from '../../../internal/utils/apply-display-name';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\n\ninterface GridCellProps extends TdHTMLAttributes<HTMLTableCellElement> {\n disabledReason?: string;\n}\n\nexport const GridCell = forwardRef((props: GridCellProps, focusedDateRef: React.Ref<HTMLTableCellElement>) => {\n const { disabledReason, ...rest } = props;\n const isDisabledWithReason = !!disabledReason;\n const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);\n const ref = useRef<HTMLTableCellElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n\n return (\n <td\n ref={useMergeRefs(focusedDateRef, ref)}\n {...rest}\n {...(isDisabledWithReason ? targetProps : {})}\n onFocus={event => {\n if (rest.onFocus) {\n rest.onFocus(event);\n }\n\n if (isDisabledWithReason) {\n setShowTooltip(true);\n }\n }}\n onBlur={event => {\n if (rest.onBlur) {\n rest.onBlur(event);\n }\n\n if (isDisabledWithReason) {\n setShowTooltip(false);\n }\n }}\n onMouseEnter={event => {\n if (rest.onMouseEnter) {\n rest.onMouseEnter(event);\n }\n\n if (isDisabledWithReason) {\n setShowTooltip(true);\n }\n }}\n onMouseLeave={event => {\n if (rest.onMouseLeave) {\n rest.onMouseLeave(event);\n }\n\n if (isDisabledWithReason) {\n setShowTooltip(false);\n }\n }}\n >\n {props.children}\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={testutilStyles['disabled-reason-tooltip']}\n trackRef={ref}\n value={disabledReason!}\n onDismiss={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </td>\n );\n});\n\napplyDisplayName(GridCell, 'GridCell');\n"]}
@@ -79,14 +79,14 @@ export function Grid({ padDates, baseDate, selectedStartDate, selectedEndDate, r
79
79
  React.createElement("tbody", { onKeyDown: onGridKeyDownHandler }, calendar.rows.map((row, rowIndex) => {
80
80
  const rowItems = isMonthPicker ? row.months : row.days;
81
81
  const weekTestIndex = !isMonthPicker ? row.testIndex : undefined;
82
- return (React.createElement("tr", Object.assign({ key: rowIndex, className: clsx({
82
+ return (React.createElement("tr", { key: rowIndex, className: clsx({
83
83
  [testutilStyles['calendar-quarter']]: isMonthPicker,
84
84
  [testutilStyles['calendar-week']]: !isMonthPicker,
85
- }) }, (!isMonthPicker && weekTestIndex
86
- ? {
87
- ['data-awsui-weekindex']: weekTestIndex,
88
- }
89
- : {})), rowItems.map(({ date, isVisible, isInRange, isSelectionTop, isSelectionBottom, isSelectionLeft, isSelectionRight }, rowItemIndex) => {
85
+ }), ...(!isMonthPicker && weekTestIndex
86
+ ? {
87
+ ['data-awsui-weekindex']: weekTestIndex,
88
+ }
89
+ : {}) }, rowItems.map(({ date, isVisible, isInRange, isSelectionTop, isSelectionBottom, isSelectionLeft, isSelectionRight }, rowItemIndex) => {
90
90
  const { getItemKey, isSameItem, isSamePage, checkIfCurrent, checkIfCurrentDay, checkIfCurrentMonth, getPageName, } = isMonthPicker ? monthUtils : dayUtils;
91
91
  const itemKey = getItemKey(rowIndex, rowItemIndex);
92
92
  const pageName = getPageName();
@@ -146,7 +146,7 @@ export function Grid({ padDates, baseDate, selectedStartDate, selectedEndDate, r
146
146
  ? 0 // Next focus target.
147
147
  : -1; // Can be focused programmatically.
148
148
  }
149
- return (React.createElement(GridCell, Object.assign({ ref: isFocused ? focusedDateRef : undefined, key: itemKey, className: clsx(baseClasses, {
149
+ return (React.createElement(GridCell, { ref: isFocused ? focusedDateRef : undefined, key: itemKey, className: clsx(baseClasses, {
150
150
  [styles['in-visible-calendar']]: true,
151
151
  [styles[`in-current-${pageName}`]]: isSamePage(date, baseDate),
152
152
  [styles.enabled]: isEnabled,
@@ -165,7 +165,7 @@ export function Grid({ padDates, baseDate, selectedStartDate, selectedEndDate, r
165
165
  [testutilStyles.today]: isCurrentDay,
166
166
  [styles['this-month']]: isCurrentMonth,
167
167
  [testutilStyles['this-month']]: isCurrentMonth,
168
- }), "aria-selected": isEnabled ? isSelected || isInRange : undefined, "aria-current": isCurrent ? 'date' : undefined, "data-date": formatDate(date, granularity), "aria-disabled": !isEnabled, tabIndex: tabIndex, disabledReason: isDisabledWithReason ? disabledReason : undefined }, handlers),
168
+ }), "aria-selected": isEnabled ? isSelected || isInRange : undefined, "aria-current": isCurrent ? 'date' : undefined, "data-date": formatDate(date, granularity), "aria-disabled": !isEnabled, tabIndex: tabIndex, disabledReason: isDisabledWithReason ? disabledReason : undefined, ...handlers },
169
169
  React.createElement("span", { className: styles[`${granularity}-inner`], "aria-hidden": "true" }, isMonthPicker ? date.toLocaleString(locale, { month: 'short' }) : date.getDate()),
170
170
  React.createElement(ScreenreaderOnly, null, announcement)));
171
171
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/grid.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, { useMemo } from 'react';\nimport clsx from 'clsx';\nimport { isLastDayOfMonth, isSameDay, isSameMonth, isSameYear, isThisMonth, isToday } from 'date-fns';\n\nimport { useInternalI18n } from '../../../i18n/context';\nimport ScreenreaderOnly from '../../../internal/components/screenreader-only';\nimport { formatDate } from '../../../internal/utils/date-time';\nimport { CalendarQuarter, CalendarWeek, MonthCalendar, YearCalendar } from '../../../internal/utils/date-time/calendar';\nimport { normalizeStartOfWeek } from '../../../internal/utils/locale/index.js';\nimport { GridCell } from './grid-cell';\nimport { GridProps } from './interfaces';\nimport { renderDateAnnouncement, renderDayName } from './intl';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\ninterface DatePickerUtils {\n getItemKey: (rowIndex: number, rowItemIndex: number) => string;\n isSameItem: (date1: Date, date2: Date) => boolean;\n isSamePage: (date1: Date, date2: Date) => boolean;\n checkIfCurrentDay: (date: Date) => boolean;\n checkIfCurrentMonth: (date: Date) => boolean;\n checkIfCurrent: (date: Date) => boolean;\n getPageName: () => string;\n}\n\nconst dayUtils: DatePickerUtils = {\n getItemKey: (rowIndex, rowItemIndex) => `${rowIndex}:${rowItemIndex}`,\n isSameItem: (date1: Date, date2: Date) => isSameDay(date1, date2),\n isSamePage: (date1: Date, date2: Date) => isSameMonth(date1, date2),\n checkIfCurrentDay: date => isToday(date),\n checkIfCurrentMonth: () => false,\n checkIfCurrent: date => isToday(date),\n getPageName: () => 'month',\n};\n\nconst monthUtils: DatePickerUtils = {\n getItemKey: (rowIndex, rowItemIndex) => `Month ${rowIndex * 3 + rowItemIndex + 1}`,\n isSameItem: (date1: Date, date2: Date) => isSameMonth(date1, date2),\n isSamePage: (date1: Date, date2: Date) => isSameYear(date1, date2),\n checkIfCurrentDay: () => false,\n checkIfCurrentMonth: date => isThisMonth(date),\n checkIfCurrent: date => isThisMonth(date),\n getPageName: () => 'year',\n};\n\n/**\n * Calendar grid supports two mechanisms of keyboard navigation:\n * - Native screen-reader table navigation (semantic table markup);\n * - Keyboard arrow-keys navigation (a custom key-down handler).\n *\n * The implementation largely follows the w3 example (https://www.w3.org/WAI/ARIA/apg/example-index/dialog-modal/datepicker-dialog) and shares the following issues:\n * - (table navigation) Chrome+VO - weekday is announced twice when navigating to the calendar's header;\n * - (table navigation) Safari+VO - \"dimmed\" state is announced twice;\n * - (table navigation) Firefox/Chrome+NVDA - cannot use table navigation if any cell has a focus;\n * - (keyboard navigation) Firefox+NVDA - every day is announced as \"not selected\";\n * - (keyboard navigation) Safari/Chrome+VO - weekdays are not announced;\n * - (keyboard navigation) Safari/Chrome+VO - days are not announced as interactive (clickable or selectable);\n * - (keyboard navigation) Safari/Chrome+VO - day announcements are not interruptive and can be missed if navigating fast.\n */\n\nexport function Grid({\n padDates,\n baseDate,\n selectedStartDate,\n selectedEndDate,\n rangeStartDate,\n rangeEndDate,\n focusedDate,\n\n focusedDateRef,\n\n onSelectDate,\n onGridKeyDownHandler,\n onFocusedDateChange,\n\n isDateEnabled,\n dateDisabledReason,\n\n locale,\n todayAriaLabel,\n currentMonthAriaLabel,\n ariaLabelledby,\n className,\n startOfWeek: rawStartOfWeek = 0,\n granularity = 'day',\n}: GridProps) {\n const baseDateTime = baseDate?.getTime();\n const i18n = useInternalI18n('date-range-picker');\n const isMonthPicker = granularity === 'month';\n const startOfWeek = normalizeStartOfWeek(rawStartOfWeek, locale);\n const calendar = useMemo(\n () => {\n const startDate = rangeStartDate ?? rangeEndDate;\n const endDate = rangeEndDate ?? rangeStartDate;\n const selection = startDate && endDate ? ([startDate, endDate] as [Date, Date]) : null;\n if (isMonthPicker) {\n const calendarData = new YearCalendar({ baseDate, selection });\n return {\n header: [],\n rows: calendarData.quarters,\n range: calendarData.range,\n };\n }\n\n const calendarData = new MonthCalendar({ padDates, startOfWeek, baseDate, selection });\n return {\n header: calendarData.weekdays,\n rows: calendarData.weeks,\n range: calendarData.range,\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [padDates, startOfWeek, baseDateTime, rangeStartDate, rangeEndDate]\n );\n\n const currentAnnouncement = i18n(\n isMonthPicker ? 'i18nStrings.currentMonthAriaLabel' : 'i18nStrings.todayAriaLabel',\n isMonthPicker ? currentMonthAriaLabel : todayAriaLabel\n );\n\n return (\n <table role=\"grid\" aria-labelledby={ariaLabelledby} className={clsx(styles.grid, className)}>\n {!isMonthPicker && (\n <thead>\n <tr>\n {calendar.header.map(dayIndex => (\n <th\n key={dayIndex}\n scope=\"col\"\n className={clsx(styles['grid-cell'], styles['day-header'], testutilStyles['day-header'])}\n >\n <span aria-hidden=\"true\">{renderDayName(locale, dayIndex, 'short')}</span>\n <ScreenreaderOnly>{renderDayName(locale, dayIndex, 'long')}</ScreenreaderOnly>\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody onKeyDown={onGridKeyDownHandler}>\n {calendar.rows.map((row, rowIndex) => {\n const rowItems = isMonthPicker ? (row as CalendarQuarter).months : (row as CalendarWeek).days;\n const weekTestIndex = !isMonthPicker ? (row as CalendarWeek).testIndex : undefined;\n return (\n <tr\n key={rowIndex}\n className={clsx({\n [testutilStyles['calendar-quarter']]: isMonthPicker,\n [testutilStyles['calendar-week']]: !isMonthPicker,\n })}\n {...(!isMonthPicker && weekTestIndex\n ? {\n ['data-awsui-weekindex']: weekTestIndex,\n }\n : {})}\n >\n {rowItems.map(\n (\n { date, isVisible, isInRange, isSelectionTop, isSelectionBottom, isSelectionLeft, isSelectionRight },\n rowItemIndex\n ) => {\n const {\n getItemKey,\n isSameItem,\n isSamePage,\n checkIfCurrent,\n checkIfCurrentDay,\n checkIfCurrentMonth,\n getPageName,\n } = isMonthPicker ? monthUtils : dayUtils;\n const itemKey = getItemKey(rowIndex, rowItemIndex);\n const pageName = getPageName();\n const isCurrentDay = checkIfCurrentDay(date);\n const isCurrentMonth = checkIfCurrentMonth(date);\n const isCurrent = checkIfCurrent(date);\n const isStartDate = !!selectedStartDate && isSameItem(date, selectedStartDate);\n const isEndDate = !!selectedEndDate && isSameItem(date, selectedEndDate);\n const isSelected = isStartDate || isEndDate;\n\n const isFocused = !!focusedDate && isSameItem(date, focusedDate) && isSamePage(date, baseDate);\n\n const onlyOneSelected =\n !!rangeStartDate && !!rangeEndDate\n ? isSameItem(rangeStartDate, rangeEndDate)\n : !selectedStartDate || !selectedEndDate;\n\n const isEnabled = (!isDateEnabled || isDateEnabled(date)) && isSamePage(date, baseDate);\n const disabledReason = dateDisabledReason(date);\n\n const isDisabledWithReason = !isEnabled && !!disabledReason;\n const isFocusable = isFocused && (isEnabled || isDisabledWithReason);\n\n const baseClasses = {\n [testutilStyles['calendar-date']]: !isMonthPicker && isSameMonth(date, baseDate),\n [testutilStyles['calendar-month']]: isMonthPicker && isSameYear(date, baseDate),\n [styles.day]: !isMonthPicker,\n [styles.month]: isMonthPicker,\n [styles['grid-cell']]: true,\n [styles['in-first-row']]: rowIndex === 0,\n [styles['in-first-column']]: rowItemIndex === 0,\n };\n\n if (!isVisible) {\n return (\n <td\n key={itemKey}\n ref={isFocused ? focusedDateRef : undefined}\n className={clsx(baseClasses, {\n [styles[`last-day-of-month`]]: !isMonthPicker && isLastDayOfMonth(date),\n [styles[`last-month-of-year`]]: isMonthPicker && date.getMonth() === 11,\n })}\n />\n );\n }\n\n const handlers: React.HTMLAttributes<HTMLDivElement> = {};\n if (isEnabled) {\n handlers.onClick = () => onSelectDate(date);\n handlers.onFocus = () => onFocusedDateChange(date);\n }\n\n // Screen-reader announcement for the focused day/month.\n let announcement = renderDateAnnouncement({\n date,\n isCurrent,\n locale,\n granularity,\n });\n\n if (currentAnnouncement) {\n if (isMonthPicker && isThisMonth(date)) {\n announcement += `. ${currentAnnouncement}`;\n } else if (!isMonthPicker && isToday(date)) {\n announcement += `. ${currentAnnouncement}`;\n }\n }\n\n // Can't be focused.\n let tabIndex: number | undefined = undefined;\n if (isEnabled || isDisabledWithReason) {\n tabIndex = isFocusable\n ? 0 // Next focus target.\n : -1; // Can be focused programmatically.\n }\n\n return (\n <GridCell\n ref={isFocused ? focusedDateRef : undefined}\n key={itemKey}\n className={clsx(baseClasses, {\n [styles['in-visible-calendar']]: true,\n [styles[`in-current-${pageName}`]]: isSamePage(date, baseDate),\n [styles.enabled]: isEnabled,\n [styles.selected]: isSelected,\n [styles['start-date']]: isStartDate,\n [styles['end-date']]: isEndDate,\n [testutilStyles['start-date']]: isStartDate,\n [testutilStyles['end-date']]: isEndDate,\n [styles['no-range']]: isSelected && onlyOneSelected,\n [styles['in-range']]: isInRange,\n [styles['in-range-border-block-start']]: isSelectionTop,\n [styles['in-range-border-block-end']]: isSelectionBottom,\n [styles['in-range-border-inline-start']]: isSelectionLeft,\n [styles['in-range-border-inline-end']]: isSelectionRight,\n [styles.today]: isCurrentDay,\n [testutilStyles.today]: isCurrentDay,\n [styles['this-month']]: isCurrentMonth,\n [testutilStyles['this-month']]: isCurrentMonth,\n })}\n aria-selected={isEnabled ? isSelected || isInRange : undefined}\n aria-current={isCurrent ? 'date' : undefined}\n data-date={formatDate(date, granularity)}\n aria-disabled={!isEnabled}\n tabIndex={tabIndex}\n disabledReason={isDisabledWithReason ? disabledReason : undefined}\n {...handlers}\n >\n <span className={styles[`${granularity}-inner`]} aria-hidden=\"true\">\n {isMonthPicker ? date.toLocaleString(locale, { month: 'short' }) : date.getDate()}\n </span>\n <ScreenreaderOnly>{announcement}</ScreenreaderOnly>\n </GridCell>\n );\n }\n )}\n </tr>\n );\n })}\n </tbody>\n </table>\n );\n}\n"]}
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/grid.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, { useMemo } from 'react';\nimport clsx from 'clsx';\nimport { isLastDayOfMonth, isSameDay, isSameMonth, isSameYear, isThisMonth, isToday } from 'date-fns';\n\nimport { useInternalI18n } from '../../../i18n/context';\nimport ScreenreaderOnly from '../../../internal/components/screenreader-only';\nimport { formatDate } from '../../../internal/utils/date-time';\nimport { CalendarQuarter, CalendarWeek, MonthCalendar, YearCalendar } from '../../../internal/utils/date-time/calendar';\nimport { normalizeStartOfWeek } from '../../../internal/utils/locale/index.js';\nimport { GridCell } from './grid-cell';\nimport { GridProps } from './interfaces';\nimport { renderDateAnnouncement, renderDayName } from './intl';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\ninterface DatePickerUtils {\n getItemKey: (rowIndex: number, rowItemIndex: number) => string;\n isSameItem: (date1: Date, date2: Date) => boolean;\n isSamePage: (date1: Date, date2: Date) => boolean;\n checkIfCurrentDay: (date: Date) => boolean;\n checkIfCurrentMonth: (date: Date) => boolean;\n checkIfCurrent: (date: Date) => boolean;\n getPageName: () => string;\n}\n\nconst dayUtils: DatePickerUtils = {\n getItemKey: (rowIndex, rowItemIndex) => `${rowIndex}:${rowItemIndex}`,\n isSameItem: (date1: Date, date2: Date) => isSameDay(date1, date2),\n isSamePage: (date1: Date, date2: Date) => isSameMonth(date1, date2),\n checkIfCurrentDay: date => isToday(date),\n checkIfCurrentMonth: () => false,\n checkIfCurrent: date => isToday(date),\n getPageName: () => 'month',\n};\n\nconst monthUtils: DatePickerUtils = {\n getItemKey: (rowIndex, rowItemIndex) => `Month ${rowIndex * 3 + rowItemIndex + 1}`,\n isSameItem: (date1: Date, date2: Date) => isSameMonth(date1, date2),\n isSamePage: (date1: Date, date2: Date) => isSameYear(date1, date2),\n checkIfCurrentDay: () => false,\n checkIfCurrentMonth: date => isThisMonth(date),\n checkIfCurrent: date => isThisMonth(date),\n getPageName: () => 'year',\n};\n\n/**\n * Calendar grid supports two mechanisms of keyboard navigation:\n * - Native screen-reader table navigation (semantic table markup);\n * - Keyboard arrow-keys navigation (a custom key-down handler).\n *\n * The implementation largely follows the w3 example (https://www.w3.org/WAI/ARIA/apg/example-index/dialog-modal/datepicker-dialog) and shares the following issues:\n * - (table navigation) Chrome+VO - weekday is announced twice when navigating to the calendar's header;\n * - (table navigation) Safari+VO - \"dimmed\" state is announced twice;\n * - (table navigation) Firefox/Chrome+NVDA - cannot use table navigation if any cell has a focus;\n * - (keyboard navigation) Firefox+NVDA - every day is announced as \"not selected\";\n * - (keyboard navigation) Safari/Chrome+VO - weekdays are not announced;\n * - (keyboard navigation) Safari/Chrome+VO - days are not announced as interactive (clickable or selectable);\n * - (keyboard navigation) Safari/Chrome+VO - day announcements are not interruptive and can be missed if navigating fast.\n */\n\nexport function Grid({\n padDates,\n baseDate,\n selectedStartDate,\n selectedEndDate,\n rangeStartDate,\n rangeEndDate,\n focusedDate,\n\n focusedDateRef,\n\n onSelectDate,\n onGridKeyDownHandler,\n onFocusedDateChange,\n\n isDateEnabled,\n dateDisabledReason,\n\n locale,\n todayAriaLabel,\n currentMonthAriaLabel,\n ariaLabelledby,\n className,\n startOfWeek: rawStartOfWeek = 0,\n granularity = 'day',\n}: GridProps) {\n const baseDateTime = baseDate?.getTime();\n const i18n = useInternalI18n('date-range-picker');\n const isMonthPicker = granularity === 'month';\n const startOfWeek = normalizeStartOfWeek(rawStartOfWeek, locale);\n const calendar = useMemo(\n () => {\n const startDate = rangeStartDate ?? rangeEndDate;\n const endDate = rangeEndDate ?? rangeStartDate;\n const selection = startDate && endDate ? ([startDate, endDate] as [Date, Date]) : null;\n if (isMonthPicker) {\n const calendarData = new YearCalendar({ baseDate, selection });\n return {\n header: [],\n rows: calendarData.quarters,\n range: calendarData.range,\n };\n }\n\n const calendarData = new MonthCalendar({ padDates, startOfWeek, baseDate, selection });\n return {\n header: calendarData.weekdays,\n rows: calendarData.weeks,\n range: calendarData.range,\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [padDates, startOfWeek, baseDateTime, rangeStartDate, rangeEndDate]\n );\n\n const currentAnnouncement = i18n(\n isMonthPicker ? 'i18nStrings.currentMonthAriaLabel' : 'i18nStrings.todayAriaLabel',\n isMonthPicker ? currentMonthAriaLabel : todayAriaLabel\n );\n\n return (\n <table role=\"grid\" aria-labelledby={ariaLabelledby} className={clsx(styles.grid, className)}>\n {!isMonthPicker && (\n <thead>\n <tr>\n {calendar.header.map(dayIndex => (\n <th\n key={dayIndex}\n scope=\"col\"\n className={clsx(styles['grid-cell'], styles['day-header'], testutilStyles['day-header'])}\n >\n <span aria-hidden=\"true\">{renderDayName(locale, dayIndex, 'short')}</span>\n <ScreenreaderOnly>{renderDayName(locale, dayIndex, 'long')}</ScreenreaderOnly>\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody onKeyDown={onGridKeyDownHandler}>\n {calendar.rows.map((row, rowIndex) => {\n const rowItems = isMonthPicker ? (row as CalendarQuarter).months : (row as CalendarWeek).days;\n const weekTestIndex = !isMonthPicker ? (row as CalendarWeek).testIndex : undefined;\n return (\n <tr\n key={rowIndex}\n className={clsx({\n [testutilStyles['calendar-quarter']]: isMonthPicker,\n [testutilStyles['calendar-week']]: !isMonthPicker,\n })}\n {...(!isMonthPicker && weekTestIndex\n ? {\n ['data-awsui-weekindex']: weekTestIndex,\n }\n : {})}\n >\n {rowItems.map(\n (\n { date, isVisible, isInRange, isSelectionTop, isSelectionBottom, isSelectionLeft, isSelectionRight },\n rowItemIndex\n ) => {\n const {\n getItemKey,\n isSameItem,\n isSamePage,\n checkIfCurrent,\n checkIfCurrentDay,\n checkIfCurrentMonth,\n getPageName,\n } = isMonthPicker ? monthUtils : dayUtils;\n const itemKey = getItemKey(rowIndex, rowItemIndex);\n const pageName = getPageName();\n const isCurrentDay = checkIfCurrentDay(date);\n const isCurrentMonth = checkIfCurrentMonth(date);\n const isCurrent = checkIfCurrent(date);\n const isStartDate = !!selectedStartDate && isSameItem(date, selectedStartDate);\n const isEndDate = !!selectedEndDate && isSameItem(date, selectedEndDate);\n const isSelected = isStartDate || isEndDate;\n\n const isFocused = !!focusedDate && isSameItem(date, focusedDate) && isSamePage(date, baseDate);\n\n const onlyOneSelected =\n !!rangeStartDate && !!rangeEndDate\n ? isSameItem(rangeStartDate, rangeEndDate)\n : !selectedStartDate || !selectedEndDate;\n\n const isEnabled = (!isDateEnabled || isDateEnabled(date)) && isSamePage(date, baseDate);\n const disabledReason = dateDisabledReason(date);\n\n const isDisabledWithReason = !isEnabled && !!disabledReason;\n const isFocusable = isFocused && (isEnabled || isDisabledWithReason);\n\n const baseClasses = {\n [testutilStyles['calendar-date']]: !isMonthPicker && isSameMonth(date, baseDate),\n [testutilStyles['calendar-month']]: isMonthPicker && isSameYear(date, baseDate),\n [styles.day]: !isMonthPicker,\n [styles.month]: isMonthPicker,\n [styles['grid-cell']]: true,\n [styles['in-first-row']]: rowIndex === 0,\n [styles['in-first-column']]: rowItemIndex === 0,\n };\n\n if (!isVisible) {\n return (\n <td\n key={itemKey}\n ref={isFocused ? focusedDateRef : undefined}\n className={clsx(baseClasses, {\n [styles[`last-day-of-month`]]: !isMonthPicker && isLastDayOfMonth(date),\n [styles[`last-month-of-year`]]: isMonthPicker && date.getMonth() === 11,\n })}\n />\n );\n }\n\n const handlers: React.HTMLAttributes<HTMLDivElement> = {};\n if (isEnabled) {\n handlers.onClick = () => onSelectDate(date);\n handlers.onFocus = () => onFocusedDateChange(date);\n }\n\n // Screen-reader announcement for the focused day/month.\n let announcement = renderDateAnnouncement({\n date,\n isCurrent,\n locale,\n granularity,\n });\n\n if (currentAnnouncement) {\n if (isMonthPicker && isThisMonth(date)) {\n announcement += `. ${currentAnnouncement}`;\n } else if (!isMonthPicker && isToday(date)) {\n announcement += `. ${currentAnnouncement}`;\n }\n }\n\n // Can't be focused.\n let tabIndex: number | undefined = undefined;\n if (isEnabled || isDisabledWithReason) {\n tabIndex = isFocusable\n ? 0 // Next focus target.\n : -1; // Can be focused programmatically.\n }\n\n return (\n <GridCell\n ref={isFocused ? focusedDateRef : undefined}\n key={itemKey}\n className={clsx(baseClasses, {\n [styles['in-visible-calendar']]: true,\n [styles[`in-current-${pageName}`]]: isSamePage(date, baseDate),\n [styles.enabled]: isEnabled,\n [styles.selected]: isSelected,\n [styles['start-date']]: isStartDate,\n [styles['end-date']]: isEndDate,\n [testutilStyles['start-date']]: isStartDate,\n [testutilStyles['end-date']]: isEndDate,\n [styles['no-range']]: isSelected && onlyOneSelected,\n [styles['in-range']]: isInRange,\n [styles['in-range-border-block-start']]: isSelectionTop,\n [styles['in-range-border-block-end']]: isSelectionBottom,\n [styles['in-range-border-inline-start']]: isSelectionLeft,\n [styles['in-range-border-inline-end']]: isSelectionRight,\n [styles.today]: isCurrentDay,\n [testutilStyles.today]: isCurrentDay,\n [styles['this-month']]: isCurrentMonth,\n [testutilStyles['this-month']]: isCurrentMonth,\n })}\n aria-selected={isEnabled ? isSelected || isInRange : undefined}\n aria-current={isCurrent ? 'date' : undefined}\n data-date={formatDate(date, granularity)}\n aria-disabled={!isEnabled}\n tabIndex={tabIndex}\n disabledReason={isDisabledWithReason ? disabledReason : undefined}\n {...handlers}\n >\n <span className={styles[`${granularity}-inner`]} aria-hidden=\"true\">\n {isMonthPicker ? date.toLocaleString(locale, { month: 'short' }) : date.getDate()}\n </span>\n <ScreenreaderOnly>{announcement}</ScreenreaderOnly>\n </GridCell>\n );\n }\n )}\n </tr>\n );\n })}\n </tbody>\n </table>\n );\n}\n"]}
@@ -122,7 +122,7 @@ export const Grids = ({ baseDate, selectedStartDate, selectedEndDate, focusedDat
122
122
  };
123
123
  return (React.createElement("div", { ref: containerRef, onFocus: onGridFocus, onBlur: onGridBlur },
124
124
  React.createElement(InternalSpaceBetween, { size: "xs", direction: "horizontal" },
125
- !isSingleGrid && (React.createElement(Grid, Object.assign({}, sharedGridProps, { padDates: 'before', className: testutilStyles['first-grid'], baseDate: addPages(baseDate, -1), ariaLabelledby: `${headingIdPrefix}-prev${pageUnit}` }))),
126
- React.createElement(Grid, Object.assign({}, sharedGridProps, { padDates: 'after', className: testutilStyles['second-grid'], baseDate: baseDate, ariaLabelledby: `${headingIdPrefix}-current${pageUnit}` })))));
125
+ !isSingleGrid && (React.createElement(Grid, { ...sharedGridProps, padDates: 'before', className: testutilStyles['first-grid'], baseDate: addPages(baseDate, -1), ariaLabelledby: `${headingIdPrefix}-prev${pageUnit}` })),
126
+ React.createElement(Grid, { ...sharedGridProps, padDates: 'after', className: testutilStyles['second-grid'], baseDate: baseDate, ariaLabelledby: `${headingIdPrefix}-current${pageUnit}` }))));
127
127
  };
128
128
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAGrG,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAE9D,SAAS,SAAS,CAAC,IAAU,EAAE,QAAc,EAAE,YAAqB,EAAE,WAAsC;IAC1G,MAAM,MAAM,GAAG,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAChE,MAAM,GAAG,GAAG,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnC,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EAEf,WAAW,EACX,mBAAmB,EAEnB,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEZ,YAAY,EACZ,YAAY,EAEZ,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,WAAW,GAAG,CAAC,EACf,WAAW,GAAG,KAAK,GACH,EAAE,EAAE;IACpB,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,KAAK,OAAO,CAAC;IAE9C,MAAM,cAAc,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvD,MAAM,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7D,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAE1D,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1D,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,IAAU,EAAE,EAAE;QACb,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC,EACD,CAAC,aAAa,EAAE,kBAAkB,CAAC,CACpC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;YAChF,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1D,MAAM,OAAO,GAAG,CAAC,YAAY,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtF,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAE1D,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;YAEtF,mBAAmB,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhH,MAAM,oBAAoB,GAAG,CAAC,KAAuC,EAAE,EAAE;QACvE,IAAI,gBAAgB,GAAgB,IAAI,CAAC;QAEzC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnG,IAAI,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,SAAS,CAAC,KAAK,EAAE;YACf,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChD,OAAO;gBACT,CAAC;gBACD,YAAY,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;YACD,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC5F,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC5F,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC/F,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SAC/F,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,GAAG,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAE9F,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,mBAAmB,GAAG,CAAC,YAAY,IAAI,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAClF,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACvF,CAAC;QACD,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,iEAAiE;QACjE,IAAI,WAAW,KAAK,IAAI,IAAI,YAAY,EAAE,CAAC;YACzC,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAChF,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,CAAC,KAAuB,EAAE,EAAE;;QAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC;QACrE,MAAM,sBAAsB,GAAG,MAAA,YAAY,CAAC,OAAO,0CAAE,QAAQ,CAAC,cAAsB,CAAC,CAAC;QACtF,IAAI,cAAc,IAAI,CAAC,sBAAsB,IAAI,YAAY,EAAE,CAAC;YAC9D,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,iBAAiB,IAAI,eAAe,CAAC,IAAI,YAAY,CAAC;IAE9E,MAAM,SAAS,GAAW,CAAC,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,WAAW,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9G,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAElD,MAAM,eAAe,GAAG;QACtB,eAAe;QACf,iBAAiB;QACjB,WAAW;QACX,cAAc;QACd,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;QACtD,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QAClD,aAAa;QACb,kBAAkB;QAClB,YAAY;QACZ,oBAAoB;QACpB,mBAAmB;QACnB,MAAM;QACN,WAAW;QACX,qBAAqB;QACrB,WAAW;QACX,cAAc;KACf,CAAC;IAEF,OAAO,CACL,6BAAK,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;QAC9D,oBAAC,oBAAoB,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,YAAY;YACnD,CAAC,YAAY,IAAI,CAChB,oBAAC,IAAI,oBACC,eAAe,IACnB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,EACvC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAChC,cAAc,EAAE,GAAG,eAAe,QAAQ,QAAQ,EAAE,IACpD,CACH;YACD,oBAAC,IAAI,oBACC,eAAe,IACnB,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,cAAc,CAAC,aAAa,CAAC,EACxC,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,GAAG,eAAe,WAAW,QAAQ,EAAE,IACvD,CACmB,CACnB,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { addMonths, addYears, isAfter, isBefore, isSameMonth, isSameYear, max, min } from 'date-fns';\n\nimport { CalendarProps } from '../../../calendar/interfaces';\nimport {\n getBaseDay,\n moveNextDay,\n moveNextWeek,\n movePrevDay,\n movePrevWeek,\n} from '../../../calendar/utils/navigation-day';\nimport {\n getBaseMonth,\n moveMonthDown,\n moveMonthUp,\n moveNextMonth,\n movePrevMonth,\n} from '../../../calendar/utils/navigation-month';\nimport { useDateCache } from '../../../internal/hooks/use-date-cache';\nimport { KeyCode } from '../../../internal/keycode';\nimport handleKey from '../../../internal/utils/handle-key';\nimport { hasValue } from '../../../internal/utils/has-value';\nimport InternalSpaceBetween from '../../../space-between/internal';\nimport { findDateToFocus } from '../utils';\nimport { Grid } from './grid';\nimport { SelectGridProps } from './interfaces';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\n\nfunction isVisible(date: Date, baseDate: Date, isSingleGrid: boolean, granularity: CalendarProps.Granularity) {\n const isSame = granularity === 'day' ? isSameMonth : isSameYear;\n const add = granularity === 'day' ? addMonths : addYears;\n if (isSingleGrid) {\n return isSame(date, baseDate);\n }\n\n const previous = add(baseDate, -1);\n\n return isSame(date, previous) || isSame(date, baseDate);\n}\n\nexport const Grids = ({\n baseDate,\n selectedStartDate,\n selectedEndDate,\n\n focusedDate,\n onFocusedDateChange,\n\n isDateEnabled,\n dateDisabledReason,\n isSingleGrid,\n\n onSelectDate,\n onPageChange,\n\n locale,\n todayAriaLabel,\n currentMonthAriaLabel,\n headingIdPrefix,\n startOfWeek = 0,\n granularity = 'day',\n}: SelectGridProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [gridHasFocus, setGridHasFocus] = useState(false);\n const isMonthPicker = granularity === 'month';\n\n const focusedDateRef = useRef<HTMLTableCellElement>(null);\n\n const addPages = !isMonthPicker ? addMonths : addYears;\n const getBase = !isMonthPicker ? getBaseDay : getBaseMonth;\n const moveDown = isMonthPicker ? moveMonthDown : moveNextWeek;\n const moveLeft = isMonthPicker ? movePrevMonth : movePrevDay;\n const moveRight = isMonthPicker ? moveNextMonth : moveNextDay;\n const moveUp = isMonthPicker ? moveMonthUp : movePrevWeek;\n\n const dateCache = useDateCache();\n baseDate = dateCache(baseDate);\n focusedDate = focusedDate ? dateCache(focusedDate) : null;\n\n const isDateFocusable = useCallback(\n (date: Date) => {\n return isDateEnabled(date) || (!isDateEnabled(date) && !!dateDisabledReason(date));\n },\n [isDateEnabled, dateDisabledReason]\n );\n\n useEffect(() => {\n if (focusedDate && !isVisible(focusedDate, baseDate, isSingleGrid, granularity)) {\n const direction = isAfter(focusedDate, baseDate) ? -1 : 1;\n\n const newPage = !isSingleGrid && direction === -1 ? addPages(baseDate, -1) : baseDate;\n const nearestBaseDate = getBase(newPage, isDateFocusable);\n\n const newFocusedDate = findDateToFocus(focusedDate, nearestBaseDate, isDateFocusable);\n\n onFocusedDateChange(newFocusedDate);\n }\n }, [baseDate, focusedDate, isSingleGrid, granularity, addPages, isDateFocusable, onFocusedDateChange, getBase]);\n\n const onGridKeyDownHandler = (event: React.KeyboardEvent<HTMLElement>) => {\n let updatedFocusDate: Date | null = null;\n\n const keys = [KeyCode.up, KeyCode.down, KeyCode.left, KeyCode.right, KeyCode.space, KeyCode.enter];\n\n if (focusedDate === null || keys.indexOf(event.keyCode) === -1) {\n return;\n }\n\n event.preventDefault();\n\n handleKey(event, {\n onActivate: () => {\n if (!focusedDate || !isDateEnabled(focusedDate)) {\n return;\n }\n onSelectDate(focusedDate);\n },\n onBlockEnd: () => focusedDate && (updatedFocusDate = moveDown(focusedDate, isDateFocusable)),\n onBlockStart: () => focusedDate && (updatedFocusDate = moveUp(focusedDate, isDateFocusable)),\n onInlineStart: () => focusedDate && (updatedFocusDate = moveLeft(focusedDate, isDateFocusable)),\n onInlineEnd: () => focusedDate && (updatedFocusDate = moveRight(focusedDate, isDateFocusable)),\n });\n\n if (!updatedFocusDate) {\n return;\n }\n\n const updatedDateIsVisible = isVisible(updatedFocusDate, baseDate, isSingleGrid, granularity);\n\n if (!updatedDateIsVisible) {\n const newPageIsOnLeftSide = !isSingleGrid && isBefore(updatedFocusDate, baseDate);\n onPageChange(newPageIsOnLeftSide ? addPages(updatedFocusDate, 1) : updatedFocusDate);\n }\n onFocusedDateChange(updatedFocusDate);\n };\n\n useEffect(() => {\n // focus current date if the focus is already inside the calendar\n if (focusedDate !== null && gridHasFocus) {\n if (focusedDateRef.current && focusedDateRef.current !== document.activeElement) {\n focusedDateRef.current.focus();\n }\n }\n }, [focusedDate, gridHasFocus]);\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTarget = event.relatedTarget || document.activeElement;\n const newFocusTargetIsInGrid = containerRef.current?.contains(newFocusTarget as Node);\n if (newFocusTarget && !newFocusTargetIsInGrid && gridHasFocus) {\n setGridHasFocus(false);\n }\n };\n\n const onGridFocus = () => {\n if (!gridHasFocus) {\n setGridHasFocus(true);\n }\n };\n\n const isRangeVisible = (selectedStartDate && selectedEndDate) || gridHasFocus;\n\n const rangeEnds: Date[] = [selectedStartDate ?? focusedDate, selectedEndDate ?? focusedDate].filter(hasValue);\n const rangeStartDate = min(rangeEnds);\n const rangeEndDate = max(rangeEnds);\n const pageUnit = isMonthPicker ? 'year' : 'month';\n\n const sharedGridProps = {\n selectedEndDate,\n selectedStartDate,\n focusedDate,\n focusedDateRef,\n rangeStartDate: isRangeVisible ? rangeStartDate : null,\n rangeEndDate: isRangeVisible ? rangeEndDate : null,\n isDateEnabled,\n dateDisabledReason,\n onSelectDate,\n onGridKeyDownHandler,\n onFocusedDateChange,\n locale,\n granularity,\n currentMonthAriaLabel,\n startOfWeek,\n todayAriaLabel,\n };\n\n return (\n <div ref={containerRef} onFocus={onGridFocus} onBlur={onGridBlur}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\">\n {!isSingleGrid && (\n <Grid\n {...sharedGridProps}\n padDates={'before'}\n className={testutilStyles['first-grid']}\n baseDate={addPages(baseDate, -1)}\n ariaLabelledby={`${headingIdPrefix}-prev${pageUnit}`}\n />\n )}\n <Grid\n {...sharedGridProps}\n padDates={'after'}\n className={testutilStyles['second-grid']}\n baseDate={baseDate}\n ariaLabelledby={`${headingIdPrefix}-current${pageUnit}`}\n />\n </InternalSpaceBetween>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/index.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, { useCallback, useEffect, useRef, useState } from 'react';\nimport { addMonths, addYears, isAfter, isBefore, isSameMonth, isSameYear, max, min } from 'date-fns';\n\nimport { CalendarProps } from '../../../calendar/interfaces';\nimport {\n getBaseDay,\n moveNextDay,\n moveNextWeek,\n movePrevDay,\n movePrevWeek,\n} from '../../../calendar/utils/navigation-day';\nimport {\n getBaseMonth,\n moveMonthDown,\n moveMonthUp,\n moveNextMonth,\n movePrevMonth,\n} from '../../../calendar/utils/navigation-month';\nimport { useDateCache } from '../../../internal/hooks/use-date-cache';\nimport { KeyCode } from '../../../internal/keycode';\nimport handleKey from '../../../internal/utils/handle-key';\nimport { hasValue } from '../../../internal/utils/has-value';\nimport InternalSpaceBetween from '../../../space-between/internal';\nimport { findDateToFocus } from '../utils';\nimport { Grid } from './grid';\nimport { SelectGridProps } from './interfaces';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\n\nfunction isVisible(date: Date, baseDate: Date, isSingleGrid: boolean, granularity: CalendarProps.Granularity) {\n const isSame = granularity === 'day' ? isSameMonth : isSameYear;\n const add = granularity === 'day' ? addMonths : addYears;\n if (isSingleGrid) {\n return isSame(date, baseDate);\n }\n\n const previous = add(baseDate, -1);\n\n return isSame(date, previous) || isSame(date, baseDate);\n}\n\nexport const Grids = ({\n baseDate,\n selectedStartDate,\n selectedEndDate,\n\n focusedDate,\n onFocusedDateChange,\n\n isDateEnabled,\n dateDisabledReason,\n isSingleGrid,\n\n onSelectDate,\n onPageChange,\n\n locale,\n todayAriaLabel,\n currentMonthAriaLabel,\n headingIdPrefix,\n startOfWeek = 0,\n granularity = 'day',\n}: SelectGridProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [gridHasFocus, setGridHasFocus] = useState(false);\n const isMonthPicker = granularity === 'month';\n\n const focusedDateRef = useRef<HTMLTableCellElement>(null);\n\n const addPages = !isMonthPicker ? addMonths : addYears;\n const getBase = !isMonthPicker ? getBaseDay : getBaseMonth;\n const moveDown = isMonthPicker ? moveMonthDown : moveNextWeek;\n const moveLeft = isMonthPicker ? movePrevMonth : movePrevDay;\n const moveRight = isMonthPicker ? moveNextMonth : moveNextDay;\n const moveUp = isMonthPicker ? moveMonthUp : movePrevWeek;\n\n const dateCache = useDateCache();\n baseDate = dateCache(baseDate);\n focusedDate = focusedDate ? dateCache(focusedDate) : null;\n\n const isDateFocusable = useCallback(\n (date: Date) => {\n return isDateEnabled(date) || (!isDateEnabled(date) && !!dateDisabledReason(date));\n },\n [isDateEnabled, dateDisabledReason]\n );\n\n useEffect(() => {\n if (focusedDate && !isVisible(focusedDate, baseDate, isSingleGrid, granularity)) {\n const direction = isAfter(focusedDate, baseDate) ? -1 : 1;\n\n const newPage = !isSingleGrid && direction === -1 ? addPages(baseDate, -1) : baseDate;\n const nearestBaseDate = getBase(newPage, isDateFocusable);\n\n const newFocusedDate = findDateToFocus(focusedDate, nearestBaseDate, isDateFocusable);\n\n onFocusedDateChange(newFocusedDate);\n }\n }, [baseDate, focusedDate, isSingleGrid, granularity, addPages, isDateFocusable, onFocusedDateChange, getBase]);\n\n const onGridKeyDownHandler = (event: React.KeyboardEvent<HTMLElement>) => {\n let updatedFocusDate: Date | null = null;\n\n const keys = [KeyCode.up, KeyCode.down, KeyCode.left, KeyCode.right, KeyCode.space, KeyCode.enter];\n\n if (focusedDate === null || keys.indexOf(event.keyCode) === -1) {\n return;\n }\n\n event.preventDefault();\n\n handleKey(event, {\n onActivate: () => {\n if (!focusedDate || !isDateEnabled(focusedDate)) {\n return;\n }\n onSelectDate(focusedDate);\n },\n onBlockEnd: () => focusedDate && (updatedFocusDate = moveDown(focusedDate, isDateFocusable)),\n onBlockStart: () => focusedDate && (updatedFocusDate = moveUp(focusedDate, isDateFocusable)),\n onInlineStart: () => focusedDate && (updatedFocusDate = moveLeft(focusedDate, isDateFocusable)),\n onInlineEnd: () => focusedDate && (updatedFocusDate = moveRight(focusedDate, isDateFocusable)),\n });\n\n if (!updatedFocusDate) {\n return;\n }\n\n const updatedDateIsVisible = isVisible(updatedFocusDate, baseDate, isSingleGrid, granularity);\n\n if (!updatedDateIsVisible) {\n const newPageIsOnLeftSide = !isSingleGrid && isBefore(updatedFocusDate, baseDate);\n onPageChange(newPageIsOnLeftSide ? addPages(updatedFocusDate, 1) : updatedFocusDate);\n }\n onFocusedDateChange(updatedFocusDate);\n };\n\n useEffect(() => {\n // focus current date if the focus is already inside the calendar\n if (focusedDate !== null && gridHasFocus) {\n if (focusedDateRef.current && focusedDateRef.current !== document.activeElement) {\n focusedDateRef.current.focus();\n }\n }\n }, [focusedDate, gridHasFocus]);\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTarget = event.relatedTarget || document.activeElement;\n const newFocusTargetIsInGrid = containerRef.current?.contains(newFocusTarget as Node);\n if (newFocusTarget && !newFocusTargetIsInGrid && gridHasFocus) {\n setGridHasFocus(false);\n }\n };\n\n const onGridFocus = () => {\n if (!gridHasFocus) {\n setGridHasFocus(true);\n }\n };\n\n const isRangeVisible = (selectedStartDate && selectedEndDate) || gridHasFocus;\n\n const rangeEnds: Date[] = [selectedStartDate ?? focusedDate, selectedEndDate ?? focusedDate].filter(hasValue);\n const rangeStartDate = min(rangeEnds);\n const rangeEndDate = max(rangeEnds);\n const pageUnit = isMonthPicker ? 'year' : 'month';\n\n const sharedGridProps = {\n selectedEndDate,\n selectedStartDate,\n focusedDate,\n focusedDateRef,\n rangeStartDate: isRangeVisible ? rangeStartDate : null,\n rangeEndDate: isRangeVisible ? rangeEndDate : null,\n isDateEnabled,\n dateDisabledReason,\n onSelectDate,\n onGridKeyDownHandler,\n onFocusedDateChange,\n locale,\n granularity,\n currentMonthAriaLabel,\n startOfWeek,\n todayAriaLabel,\n };\n\n return (\n <div ref={containerRef} onFocus={onGridFocus} onBlur={onGridBlur}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\">\n {!isSingleGrid && (\n <Grid\n {...sharedGridProps}\n padDates={'before'}\n className={testutilStyles['first-grid']}\n baseDate={addPages(baseDate, -1)}\n ariaLabelledby={`${headingIdPrefix}-prev${pageUnit}`}\n />\n )}\n <Grid\n {...sharedGridProps}\n padDates={'after'}\n className={testutilStyles['second-grid']}\n baseDate={baseDate}\n ariaLabelledby={`${headingIdPrefix}-current${pageUnit}`}\n />\n </InternalSpaceBetween>\n </div>\n );\n};\n"]}
@@ -147,7 +147,10 @@ export default function DateRangePickerCalendar({ value, setValue, locale = '',
147
147
  setFocusedDate(newBaseDate);
148
148
  };
149
149
  const onChangeStartDate = (value) => {
150
- setValue((oldValue) => (Object.assign(Object.assign({}, oldValue), { start: Object.assign(Object.assign({}, oldValue.start), { date: value }) })));
150
+ setValue((oldValue) => ({
151
+ ...oldValue,
152
+ start: { ...oldValue.start, date: value },
153
+ }));
151
154
  updateCurrentPage(value);
152
155
  };
153
156
  const interceptedSetValue = newValue => {
@@ -168,7 +171,7 @@ export default function DateRangePickerCalendar({ value, setValue, locale = '',
168
171
  }) },
169
172
  React.createElement(CalendarHeader, { granularity: granularity, baseDate: currentPage, locale: normalizedLocale, onChangePage: onHeaderChangePageHandler, previousPageLabel: isMonthPicker ? i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousYearAriaLabel : i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel, nextPageLabel: isMonthPicker ? i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextYearAriaLabel : i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel, isSingleGrid: isSingleGrid, headingIdPrefix: headingIdPrefix }),
170
173
  React.createElement(Grids, { granularity: granularity, isSingleGrid: isSingleGrid, locale: normalizedLocale, baseDate: currentPage, focusedDate: focusedDate, onFocusedDateChange: setFocusedDate, isDateEnabled: isDateEnabled, dateDisabledReason: dateDisabledReason, onSelectDate: onSelectDateHandler, onPageChange: setCurrentPage, startOfWeek: normalizedStartOfWeek, todayAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel, currentMonthAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.currentMonthAriaLabel, selectedStartDate: ((_a = value === null || value === void 0 ? void 0 : value.start) === null || _a === void 0 ? void 0 : _a.date) ? parseDate(value.start.date, !isMonthPicker) : null, selectedEndDate: ((_b = value === null || value === void 0 ? void 0 : value.end) === null || _b === void 0 ? void 0 : _b.date) ? parseDate(value.end.date, !isMonthPicker) : null, headingIdPrefix: headingIdPrefix })),
171
- React.createElement(RangeInputs, { startDate: value.start.date, onChangeStartDate: onChangeStartDate, startTime: value.start.time, onChangeStartTime: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { start: Object.assign(Object.assign({}, oldValue.start), { time: value }) }))), endDate: value.end.date, onChangeEndDate: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { end: Object.assign(Object.assign({}, oldValue.end), { date: value }) }))), endTime: value.end.time, onChangeEndTime: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { end: Object.assign(Object.assign({}, oldValue.end), { time: value }) }))), i18nStrings: i18nStrings, dateOnly: dateOnly, timeInputFormat: timeInputFormat, dateInputFormat: dateInputFormat, granularity: granularity }),
174
+ React.createElement(RangeInputs, { startDate: value.start.date, onChangeStartDate: onChangeStartDate, startTime: value.start.time, onChangeStartTime: value => setValue(oldValue => ({ ...oldValue, start: { ...oldValue.start, time: value } })), endDate: value.end.date, onChangeEndDate: value => setValue(oldValue => ({ ...oldValue, end: { ...oldValue.end, date: value } })), endTime: value.end.time, onChangeEndTime: value => setValue(oldValue => ({ ...oldValue, end: { ...oldValue.end, time: value } })), i18nStrings: i18nStrings, dateOnly: dateOnly, timeInputFormat: timeInputFormat, dateInputFormat: dateInputFormat, granularity: granularity }),
172
175
  customAbsoluteRangeControl && React.createElement("div", null, customAbsoluteRangeControl(value, interceptedSetValue)))),
173
176
  React.createElement(InternalLiveRegion, { className: testutilStyles['calendar-aria-live'], hidden: true, tagName: "span" }, announcement)));
174
177
  }