@pine-ds/core 5.0.0-mercury.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1473) hide show
  1. package/components/aria-references.js +1 -0
  2. package/components/attributes.js +1 -0
  3. package/components/closest.js +1 -11
  4. package/components/floating-ui.dom.js +1 -0
  5. package/components/form.js +1 -0
  6. package/components/i18n-format.js +1 -0
  7. package/components/index.d.ts +51 -0
  8. package/components/index.js +1 -33
  9. package/components/index2.js +1 -14
  10. package/components/keep-hydrated.js +1 -0
  11. package/components/mock-pds-modal.d.ts +11 -0
  12. package/components/mock-pds-modal.js +1 -0
  13. package/components/pds-accordion.js +1 -68
  14. package/components/pds-alert.d.ts +11 -0
  15. package/components/pds-alert.js +1 -0
  16. package/components/pds-avatar.js +1 -103
  17. package/components/pds-box.js +1 -124
  18. package/components/pds-box2.js +1 -0
  19. package/components/pds-button.js +1 -8
  20. package/components/pds-button2.js +1 -84
  21. package/components/pds-checkbox.js +1 -8
  22. package/components/pds-checkbox2.js +1 -101
  23. package/components/pds-chip.js +1 -78
  24. package/components/pds-chip2.js +1 -0
  25. package/components/pds-combobox.d.ts +11 -0
  26. package/components/pds-combobox.js +2 -0
  27. package/components/pds-container.d.ts +11 -0
  28. package/components/pds-container.js +1 -0
  29. package/components/pds-copytext.js +1 -88
  30. package/components/pds-datepicker.d.ts +11 -0
  31. package/components/pds-datepicker.js +1 -0
  32. package/components/pds-divider.js +1 -54
  33. package/components/pds-drawer-content.d.ts +11 -0
  34. package/components/pds-drawer-content.js +1 -0
  35. package/components/pds-drawer-footer.d.ts +11 -0
  36. package/components/pds-drawer-footer.js +1 -0
  37. package/components/pds-drawer-header.d.ts +11 -0
  38. package/components/pds-drawer-header.js +1 -0
  39. package/components/pds-drawer.d.ts +11 -0
  40. package/components/pds-drawer.js +1 -0
  41. package/components/pds-dropdown-menu-item.d.ts +11 -0
  42. package/components/pds-dropdown-menu-item.js +1 -0
  43. package/components/pds-dropdown-menu-separator.d.ts +11 -0
  44. package/components/pds-dropdown-menu-separator.js +1 -0
  45. package/components/pds-dropdown-menu.d.ts +11 -0
  46. package/components/pds-dropdown-menu.js +1 -0
  47. package/components/pds-filter.d.ts +11 -0
  48. package/components/pds-filter.js +1 -0
  49. package/components/pds-filters.d.ts +11 -0
  50. package/components/pds-filters.js +1 -0
  51. package/components/pds-icon.js +1 -8
  52. package/components/pds-icon2.js +1 -370
  53. package/components/pds-image.js +1 -55
  54. package/components/pds-input.js +1 -72
  55. package/components/pds-input2.js +1 -0
  56. package/components/pds-link.js +1 -65
  57. package/components/pds-link2.js +1 -0
  58. package/components/pds-loader.js +1 -68
  59. package/components/pds-loader2.js +1 -0
  60. package/components/pds-modal-content.d.ts +11 -0
  61. package/components/pds-modal-content.js +1 -0
  62. package/components/pds-modal-footer.d.ts +11 -0
  63. package/components/pds-modal-footer.js +1 -0
  64. package/components/pds-modal-header.d.ts +11 -0
  65. package/components/pds-modal-header.js +1 -0
  66. package/components/pds-modal.d.ts +11 -0
  67. package/components/pds-modal.js +1 -0
  68. package/components/pds-modal2.js +1 -0
  69. package/components/pds-multiselect.d.ts +11 -0
  70. package/components/pds-multiselect.js +1 -0
  71. package/components/pds-popover.d.ts +11 -0
  72. package/components/pds-popover.js +1 -0
  73. package/components/pds-progress.js +1 -49
  74. package/components/pds-property.d.ts +11 -0
  75. package/components/pds-property.js +1 -0
  76. package/components/pds-radio-group.d.ts +11 -0
  77. package/components/pds-radio-group.js +1 -0
  78. package/components/pds-radio.js +1 -78
  79. package/components/pds-row.js +1 -72
  80. package/components/pds-select.d.ts +11 -0
  81. package/components/pds-select.js +1 -0
  82. package/components/pds-sortable-item.js +1 -58
  83. package/components/pds-sortable.js +3 -2718
  84. package/components/pds-switch.js +1 -82
  85. package/components/pds-tab.js +1 -53
  86. package/components/pds-table-body.js +1 -36
  87. package/components/pds-table-cell.js +1 -8
  88. package/components/pds-table-cell2.js +1 -72
  89. package/components/pds-table-head-cell.js +1 -8
  90. package/components/pds-table-head-cell2.js +1 -98
  91. package/components/pds-table-head.js +1 -90
  92. package/components/pds-table-row.js +1 -95
  93. package/components/pds-table.js +1 -124
  94. package/components/pds-tabpanel.js +1 -45
  95. package/components/pds-tabs.js +1 -119
  96. package/components/pds-text.d.ts +11 -0
  97. package/components/pds-text.js +1 -0
  98. package/components/pds-text2.js +1 -0
  99. package/components/pds-textarea.js +1 -82
  100. package/components/pds-toast.d.ts +11 -0
  101. package/components/pds-toast.js +1 -0
  102. package/components/pds-tooltip.js +1 -178
  103. package/components/portal-target.js +1 -0
  104. package/components/reconnected-content.js +1 -0
  105. package/components/reflected-attribute-default.js +1 -0
  106. package/components/scroll.js +1 -0
  107. package/components/sortable-label.js +1 -0
  108. package/components/tabbable.js +1 -0
  109. package/components/truncation-tooltip.js +1 -0
  110. package/components/utils.js +1 -0
  111. package/dist/cjs/aria-references-CUmqibnO.js +54 -0
  112. package/dist/cjs/attributes-Cgbkw6gO.js +188 -0
  113. package/dist/cjs/closest-D0qyYtJ3.js +20 -0
  114. package/dist/cjs/floating-ui.dom-Dw41zbyY.js +1715 -0
  115. package/dist/cjs/form-MhwfKTuo.js +69 -0
  116. package/dist/cjs/i18n-format-BD0PmYzT.js +65 -0
  117. package/dist/cjs/index-BDnbr0DK.js +39 -0
  118. package/dist/cjs/index-D9iJuJCP.js +2950 -0
  119. package/dist/cjs/index.cjs.js +21 -2
  120. package/dist/cjs/keep-hydrated-AKoh0DG4.js +197 -0
  121. package/dist/cjs/loader.cjs.js +4 -8
  122. package/dist/cjs/mock-pds-modal.cjs.entry.js +92 -0
  123. package/dist/cjs/pds-accordion.cjs.entry.js +16 -14
  124. package/dist/cjs/pds-alert.cjs.entry.js +88 -0
  125. package/dist/cjs/pds-avatar.cjs.entry.js +123 -28
  126. package/dist/cjs/pds-box.cjs.entry.js +143 -58
  127. package/dist/cjs/pds-button.cjs.entry.js +234 -25
  128. package/dist/cjs/pds-checkbox.cjs.entry.js +102 -26
  129. package/dist/cjs/pds-chip.cjs.entry.js +226 -23
  130. package/dist/cjs/pds-combobox.cjs.entry.js +4500 -0
  131. package/dist/cjs/pds-container.cjs.entry.js +37 -0
  132. package/dist/cjs/pds-copytext.cjs.entry.js +98 -17
  133. package/dist/cjs/pds-datepicker.cjs.entry.js +2139 -0
  134. package/dist/cjs/pds-divider.cjs.entry.js +16 -11
  135. package/dist/cjs/pds-drawer-content.cjs.entry.js +24 -0
  136. package/dist/cjs/pds-drawer-footer.cjs.entry.js +24 -0
  137. package/dist/cjs/pds-drawer-header.cjs.entry.js +24 -0
  138. package/dist/cjs/pds-drawer.cjs.entry.js +156 -0
  139. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +151 -0
  140. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +23 -0
  141. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +453 -0
  142. package/dist/cjs/pds-filter.cjs.entry.js +512 -0
  143. package/dist/cjs/pds-filters.cjs.entry.js +18 -0
  144. package/dist/cjs/pds-icon.cjs.entry.js +334 -44
  145. package/dist/cjs/pds-image.cjs.entry.js +158 -16
  146. package/dist/cjs/pds-input.cjs.entry.js +300 -26
  147. package/dist/cjs/pds-link.cjs.entry.js +50 -13
  148. package/dist/cjs/pds-loader.cjs.entry.js +49 -14
  149. package/dist/cjs/pds-modal-content.cjs.entry.js +199 -0
  150. package/dist/cjs/pds-modal-footer.cjs.entry.js +24 -0
  151. package/dist/cjs/pds-modal-header.cjs.entry.js +24 -0
  152. package/dist/cjs/pds-modal.cjs.entry.js +592 -0
  153. package/dist/cjs/pds-multiselect.cjs.entry.js +1384 -0
  154. package/dist/cjs/pds-popover.cjs.entry.js +1103 -0
  155. package/dist/cjs/pds-progress.cjs.entry.js +30 -12
  156. package/dist/cjs/pds-property.cjs.entry.js +22 -0
  157. package/dist/cjs/pds-radio-group.cjs.entry.js +260 -0
  158. package/dist/cjs/pds-radio.cjs.entry.js +101 -23
  159. package/dist/cjs/pds-row.cjs.entry.js +50 -21
  160. package/dist/cjs/pds-select.cjs.entry.js +380 -0
  161. package/dist/cjs/pds-sortable-item.cjs.entry.js +59 -11
  162. package/dist/cjs/pds-sortable.cjs.entry.js +504 -119
  163. package/dist/cjs/pds-switch.cjs.entry.js +185 -27
  164. package/dist/cjs/pds-tab.cjs.entry.js +78 -16
  165. package/dist/cjs/pds-table-body.cjs.entry.js +5 -9
  166. package/dist/cjs/pds-table-cell.cjs.entry.js +150 -19
  167. package/dist/cjs/pds-table-head-cell.cjs.entry.js +222 -30
  168. package/dist/cjs/pds-table-head.cjs.entry.js +17 -13
  169. package/dist/cjs/pds-table-row.cjs.entry.js +104 -16
  170. package/dist/cjs/pds-table.cjs.entry.js +434 -22
  171. package/dist/cjs/pds-tabpanel.cjs.entry.js +32 -13
  172. package/dist/cjs/pds-tabs.cjs.entry.js +206 -18
  173. package/dist/cjs/pds-text.cjs.entry.js +141 -0
  174. package/dist/cjs/pds-textarea.cjs.entry.js +318 -29
  175. package/dist/cjs/pds-toast.cjs.entry.js +156 -0
  176. package/dist/cjs/pds-tooltip.cjs.entry.js +401 -110
  177. package/dist/cjs/pine-core.cjs.js +8 -10
  178. package/dist/cjs/portal-target-e8WQ6dLx.js +70 -0
  179. package/dist/cjs/reconnected-content-CpnEQcTp.js +29 -0
  180. package/dist/cjs/reflected-attribute-default-DVYHG6O1.js +44 -0
  181. package/dist/cjs/scroll-2XcoE_6Q.js +79 -0
  182. package/dist/cjs/sortable-label-DOcJrHvA.js +37 -0
  183. package/dist/cjs/tabbable-BrrrGvdG.js +86 -0
  184. package/dist/cjs/truncation-tooltip-CM5HgRHh.js +430 -0
  185. package/dist/cjs/utils-BhRmyxT8.js +121 -0
  186. package/dist/collection/collection-manifest.json +30 -3
  187. package/dist/collection/components/_internal/pds-label/pds-label.js +0 -1
  188. package/dist/collection/components/pds-accordion/pds-accordion.css +24 -29
  189. package/dist/collection/components/pds-accordion/pds-accordion.js +36 -9
  190. package/dist/collection/components/pds-accordion/stories/pds-accordion.stories.js +12 -18
  191. package/dist/collection/components/pds-alert/pds-alert.css +141 -0
  192. package/dist/collection/components/pds-alert/pds-alert.js +291 -0
  193. package/dist/collection/components/pds-alert/pds-alert.tokens.css +85 -0
  194. package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +114 -0
  195. package/dist/collection/components/pds-avatar/pds-avatar.css +56 -23
  196. package/dist/collection/components/pds-avatar/pds-avatar.js +284 -32
  197. package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +41 -3
  198. package/dist/collection/components/pds-box/pds-box.css +5520 -264
  199. package/dist/collection/components/pds-box/pds-box.js +2854 -252
  200. package/dist/collection/components/pds-box/stories/pds-box.stories.js +86 -30
  201. package/dist/collection/components/pds-button/pds-button.css +255 -93
  202. package/dist/collection/components/pds-button/pds-button.js +470 -40
  203. package/dist/collection/components/pds-button/stories/pds-button.stories.js +242 -16
  204. package/dist/collection/components/pds-checkbox/checkbox-interface.js +0 -1
  205. package/dist/collection/components/pds-checkbox/pds-checkbox.css +168 -60
  206. package/dist/collection/components/pds-checkbox/pds-checkbox.js +186 -54
  207. package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +45 -15
  208. package/dist/collection/components/pds-chip/pds-chip.css +239 -114
  209. package/dist/collection/components/pds-chip/pds-chip.js +437 -60
  210. package/dist/collection/components/pds-chip/pds-chip.tokens.css +69 -0
  211. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +164 -24
  212. package/dist/collection/components/pds-combobox/combobox-interface.js +1 -0
  213. package/dist/collection/components/pds-combobox/grouped-options-panel.js +318 -0
  214. package/dist/collection/components/pds-combobox/pds-combobox.css +953 -0
  215. package/dist/collection/components/pds-combobox/pds-combobox.js +3839 -0
  216. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +934 -0
  217. package/dist/collection/components/pds-container/pds-container.css +26 -0
  218. package/dist/collection/components/pds-container/pds-container.js +111 -0
  219. package/dist/collection/components/pds-container/stories/pds-container.stories.js +89 -0
  220. package/dist/collection/components/pds-copytext/pds-copytext.css +39 -51
  221. package/dist/collection/components/pds-copytext/pds-copytext.js +116 -23
  222. package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +6 -12
  223. package/dist/collection/components/pds-datepicker/calendar-portal.js +99 -0
  224. package/dist/collection/components/pds-datepicker/date-utils.js +174 -0
  225. package/dist/collection/components/pds-datepicker/datepicker-interface.js +1 -0
  226. package/dist/collection/components/pds-datepicker/pds-datepicker.css +547 -0
  227. package/dist/collection/components/pds-datepicker/pds-datepicker.js +2505 -0
  228. package/dist/collection/components/pds-datepicker/presets.js +131 -0
  229. package/dist/collection/components/pds-datepicker/stories/pds-datepicker.stories.js +206 -0
  230. package/dist/collection/components/pds-datepicker/value.js +296 -0
  231. package/dist/collection/components/pds-divider/pds-divider.css +71 -40
  232. package/dist/collection/components/pds-divider/pds-divider.js +47 -11
  233. package/dist/collection/components/pds-divider/stories/pds-divider.stories.js +7 -2
  234. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.css +22 -0
  235. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +27 -0
  236. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.css +15 -0
  237. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +27 -0
  238. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.css +15 -0
  239. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +27 -0
  240. package/dist/collection/components/pds-drawer/pds-drawer.css +47 -0
  241. package/dist/collection/components/pds-drawer/pds-drawer.js +405 -0
  242. package/dist/collection/components/pds-drawer/stories/pds-drawer.stories.js +77 -0
  243. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +93 -0
  244. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +398 -0
  245. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +7 -0
  246. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +71 -0
  247. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +68 -0
  248. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +545 -0
  249. package/dist/collection/components/pds-dropdown-menu/stories/pds-dropdown-menu.stories.js +100 -0
  250. package/dist/collection/components/pds-filters/pds-filter/filter-interface.js +1 -0
  251. package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +200 -0
  252. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +756 -0
  253. package/dist/collection/components/pds-filters/pds-filter/stories/pds-filter.stories.js +87 -0
  254. package/dist/collection/components/pds-filters/pds-filters.css +10 -0
  255. package/dist/collection/components/pds-filters/pds-filters.js +44 -0
  256. package/dist/collection/components/pds-filters/stories/pds-filters.stories.js +34 -0
  257. package/dist/collection/components/pds-icon/stories/pds-icon.stories.js +2 -2
  258. package/dist/collection/components/pds-image/image-interface.js +1 -0
  259. package/dist/collection/components/pds-image/pds-image.css +13 -1
  260. package/dist/collection/components/pds-image/pds-image.js +297 -31
  261. package/dist/collection/components/pds-image/stories/pds-image.stories.js +124 -8
  262. package/dist/collection/components/pds-input/input-interface.js +1 -0
  263. package/dist/collection/components/pds-input/pds-input.css +275 -63
  264. package/dist/collection/components/pds-input/pds-input.js +687 -57
  265. package/dist/collection/components/pds-input/pds-input.tokens.css +3 -0
  266. package/dist/collection/components/pds-input/stories/pds-input.stories.js +310 -14
  267. package/dist/collection/components/pds-link/pds-link.css +45 -30
  268. package/dist/collection/components/pds-link/pds-link.js +332 -19
  269. package/dist/collection/components/pds-link/stories/pds-link.stories.js +82 -4
  270. package/dist/collection/components/pds-loader/pds-loader.css +17 -30
  271. package/dist/collection/components/pds-loader/pds-loader.js +62 -14
  272. package/dist/collection/components/pds-loader/stories/pds-loader.stories.js +3 -5
  273. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.css +25 -0
  274. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +235 -0
  275. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.css +8 -0
  276. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +27 -0
  277. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.css +8 -0
  278. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +27 -0
  279. package/dist/collection/components/pds-modal/pds-modal.css +142 -0
  280. package/dist/collection/components/pds-modal/pds-modal.js +852 -0
  281. package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +745 -0
  282. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +286 -0
  283. package/dist/collection/components/pds-multiselect/multiselect-interface.js +1 -0
  284. package/dist/collection/components/pds-multiselect/pds-multiselect.css +365 -0
  285. package/dist/collection/components/pds-multiselect/pds-multiselect.js +2597 -0
  286. package/dist/collection/components/pds-multiselect/stories/pds-multiselect.stories.js +866 -0
  287. package/dist/collection/components/pds-popover/pds-popover.css +16 -0
  288. package/dist/collection/components/pds-popover/pds-popover.js +1347 -0
  289. package/dist/collection/components/pds-popover/popover-interface.js +1 -0
  290. package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +117 -0
  291. package/dist/collection/components/pds-progress/pds-progress.css +11 -24
  292. package/dist/collection/components/pds-progress/pds-progress.js +49 -16
  293. package/dist/collection/components/pds-progress/stories/pds-progress.stories.js +2 -4
  294. package/dist/collection/components/pds-property/pds-property.css +4 -0
  295. package/dist/collection/components/pds-property/pds-property.js +70 -0
  296. package/dist/collection/components/pds-property/stories/pds-property.stories.js +16 -0
  297. package/dist/collection/components/pds-radio/pds-radio.css +285 -54
  298. package/dist/collection/components/pds-radio/pds-radio.js +226 -53
  299. package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +66 -19
  300. package/dist/collection/components/pds-radio-group/pds-radio-group.css +45 -0
  301. package/dist/collection/components/pds-radio-group/pds-radio-group.js +514 -0
  302. package/dist/collection/components/pds-radio-group/radio-group-interface.js +1 -0
  303. package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +179 -0
  304. package/dist/collection/components/pds-row/pds-row.css +10 -9
  305. package/dist/collection/components/pds-row/pds-row.js +132 -30
  306. package/dist/collection/components/pds-row/stories/pds-row.stories.js +27 -24
  307. package/dist/collection/components/pds-select/pds-select.css +168 -0
  308. package/dist/collection/components/pds-select/pds-select.js +728 -0
  309. package/dist/collection/components/pds-select/pds-select.tokens.css +3 -0
  310. package/dist/collection/components/pds-select/stories/pds-select.stories.js +205 -0
  311. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +64 -26
  312. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +87 -10
  313. package/dist/collection/components/pds-sortable/pds-sortable-item/stories/pds-sortable-item.stories.js +0 -2
  314. package/dist/collection/components/pds-sortable/pds-sortable.css +2 -4
  315. package/dist/collection/components/pds-sortable/pds-sortable.js +571 -17
  316. package/dist/collection/components/pds-sortable/sortable-interface.js +0 -1
  317. package/dist/collection/components/pds-sortable/sortable-label.js +33 -0
  318. package/dist/collection/components/pds-sortable/stories/pds-sortable.stories.js +49 -13
  319. package/dist/collection/components/pds-switch/pds-switch.css +60 -59
  320. package/dist/collection/components/pds-switch/pds-switch.js +268 -63
  321. package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +90 -28
  322. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +4 -2
  323. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +36 -19
  324. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +193 -15
  325. package/dist/collection/components/pds-table/pds-table-cell/stories/pds-table-cell.stories.js +22 -7
  326. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +22 -5
  327. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +75 -11
  328. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +57 -25
  329. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +328 -24
  330. package/dist/collection/components/pds-table/pds-table-head-cell/stories/pds-table-head-cell.stories.js +12 -7
  331. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +14 -5
  332. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +118 -13
  333. package/dist/collection/components/pds-table/pds-table-row/stories/pds-table-row.stories.js +3 -9
  334. package/dist/collection/components/pds-table/pds-table.css +106 -17
  335. package/dist/collection/components/pds-table/pds-table.js +576 -44
  336. package/dist/collection/components/pds-table/stories/pds-table.stories.js +428 -33
  337. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +102 -60
  338. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +240 -18
  339. package/dist/collection/components/pds-tabs/pds-tab/stories/pds-tab.stories.js +15 -0
  340. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +15 -2
  341. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +68 -12
  342. package/dist/collection/components/pds-tabs/pds-tabpanel/stories/pds-tabpanel.stories.js +15 -0
  343. package/dist/collection/components/pds-tabs/pds-tabs.css +31 -11
  344. package/dist/collection/components/pds-tabs/pds-tabs.js +301 -30
  345. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +70 -27
  346. package/dist/collection/components/pds-text/pds-text.css +207 -0
  347. package/dist/collection/components/pds-text/pds-text.js +328 -0
  348. package/dist/collection/components/pds-text/stories/pds-text.stories.js +141 -0
  349. package/dist/collection/components/pds-textarea/pds-textarea.css +127 -57
  350. package/dist/collection/components/pds-textarea/pds-textarea.js +598 -57
  351. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +101 -25
  352. package/dist/collection/components/pds-textarea/textarea-interface.js +0 -1
  353. package/dist/collection/components/pds-toast/pds-toast.css +167 -0
  354. package/dist/collection/components/pds-toast/pds-toast.js +362 -0
  355. package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +98 -0
  356. package/dist/collection/components/pds-tooltip/pds-tooltip.css +73 -79
  357. package/dist/collection/components/pds-tooltip/pds-tooltip.js +451 -80
  358. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +52 -24
  359. package/dist/collection/global/pine-global.js +6 -0
  360. package/dist/collection/global/pine-ui-global.js +0 -1
  361. package/dist/collection/global/styles/utils/label.css +17 -0
  362. package/dist/collection/i18n/i18n-format.js +59 -0
  363. package/dist/collection/i18n/index.js +1 -0
  364. package/dist/collection/index.js +3 -1
  365. package/dist/collection/utils/aria-references.js +48 -0
  366. package/dist/collection/utils/attributes.js +180 -0
  367. package/dist/collection/utils/closest.js +8 -1
  368. package/dist/collection/utils/css.js +41 -0
  369. package/dist/collection/utils/form.js +41 -8
  370. package/dist/collection/utils/interfaces.js +1 -0
  371. package/dist/collection/utils/keep-hydrated.js +188 -0
  372. package/dist/collection/utils/overlay.js +66 -50
  373. package/dist/collection/utils/portal-target.js +64 -0
  374. package/dist/collection/utils/reconnected-content.js +25 -0
  375. package/dist/collection/utils/reflected-attribute-default.js +40 -0
  376. package/dist/collection/utils/scroll.js +77 -0
  377. package/dist/collection/utils/tabbable.js +82 -0
  378. package/dist/collection/utils/test/axe.js +106 -0
  379. package/dist/collection/utils/test/host-strip.js +50 -0
  380. package/dist/collection/utils/test/reconnect-safety.js +31 -0
  381. package/dist/collection/utils/test/reduced-motion.js +78 -0
  382. package/dist/collection/utils/truncation-tooltip.js +422 -0
  383. package/dist/collection/utils/types.js +18 -2
  384. package/dist/collection/utils/utils.js +109 -4
  385. package/dist/docs.d.ts +45 -0
  386. package/dist/docs.json +25718 -2809
  387. package/dist/esm/aria-references-CNn1lObg.js +50 -0
  388. package/dist/esm/attributes-CD8knu3a.js +183 -0
  389. package/dist/esm/closest-DHPzKMVS.js +17 -0
  390. package/dist/esm/floating-ui.dom-Cuc0DYlm.js +1706 -0
  391. package/dist/esm/form-BuRbS7Hp.js +63 -0
  392. package/dist/esm/i18n-format-BJgZHCWe.js +61 -0
  393. package/dist/esm/index-4_RRPJTO.js +2938 -0
  394. package/dist/esm/index-B0DXTeeV.js +21 -0
  395. package/dist/esm/index.js +21 -2
  396. package/dist/esm/keep-hydrated-BgNaWLoS.js +190 -0
  397. package/dist/esm/loader.js +4 -6
  398. package/dist/esm/mock-pds-modal.entry.js +90 -0
  399. package/dist/esm/pds-accordion.entry.js +16 -12
  400. package/dist/esm/pds-alert.entry.js +86 -0
  401. package/dist/esm/pds-avatar.entry.js +123 -26
  402. package/dist/esm/pds-box.entry.js +143 -56
  403. package/dist/esm/pds-button.entry.js +233 -22
  404. package/dist/esm/pds-checkbox.entry.js +103 -25
  405. package/dist/esm/pds-chip.entry.js +227 -22
  406. package/dist/esm/pds-combobox.entry.js +4498 -0
  407. package/dist/esm/pds-container.entry.js +35 -0
  408. package/dist/esm/pds-copytext.entry.js +98 -15
  409. package/dist/esm/pds-datepicker.entry.js +2137 -0
  410. package/dist/esm/pds-divider.entry.js +16 -9
  411. package/dist/esm/pds-drawer-content.entry.js +22 -0
  412. package/dist/esm/pds-drawer-footer.entry.js +22 -0
  413. package/dist/esm/pds-drawer-header.entry.js +22 -0
  414. package/dist/esm/pds-drawer.entry.js +154 -0
  415. package/dist/esm/pds-dropdown-menu-item.entry.js +149 -0
  416. package/dist/esm/pds-dropdown-menu-separator.entry.js +21 -0
  417. package/dist/esm/pds-dropdown-menu.entry.js +451 -0
  418. package/dist/esm/pds-filter.entry.js +510 -0
  419. package/dist/esm/pds-filters.entry.js +16 -0
  420. package/dist/esm/pds-icon.entry.js +334 -42
  421. package/dist/esm/pds-image.entry.js +158 -14
  422. package/dist/esm/pds-input.entry.js +301 -25
  423. package/dist/esm/pds-link.entry.js +50 -11
  424. package/dist/esm/pds-loader.entry.js +49 -12
  425. package/dist/esm/pds-modal-content.entry.js +197 -0
  426. package/dist/esm/pds-modal-footer.entry.js +22 -0
  427. package/dist/esm/pds-modal-header.entry.js +22 -0
  428. package/dist/esm/pds-modal.entry.js +590 -0
  429. package/dist/esm/pds-multiselect.entry.js +1382 -0
  430. package/dist/esm/pds-popover.entry.js +1101 -0
  431. package/dist/esm/pds-progress.entry.js +30 -10
  432. package/dist/esm/pds-property.entry.js +20 -0
  433. package/dist/esm/pds-radio-group.entry.js +258 -0
  434. package/dist/esm/pds-radio.entry.js +102 -22
  435. package/dist/esm/pds-row.entry.js +50 -19
  436. package/dist/esm/pds-select.entry.js +378 -0
  437. package/dist/esm/pds-sortable-item.entry.js +59 -9
  438. package/dist/esm/pds-sortable.entry.js +504 -117
  439. package/dist/esm/pds-switch.entry.js +186 -26
  440. package/dist/esm/pds-tab.entry.js +78 -14
  441. package/dist/esm/pds-table-body.entry.js +5 -7
  442. package/dist/esm/pds-table-cell.entry.js +150 -17
  443. package/dist/esm/pds-table-head-cell.entry.js +222 -28
  444. package/dist/esm/pds-table-head.entry.js +17 -11
  445. package/dist/esm/pds-table-row.entry.js +104 -14
  446. package/dist/esm/pds-table.entry.js +434 -20
  447. package/dist/esm/pds-tabpanel.entry.js +32 -11
  448. package/dist/esm/pds-tabs.entry.js +206 -16
  449. package/dist/esm/pds-text.entry.js +139 -0
  450. package/dist/esm/pds-textarea.entry.js +319 -28
  451. package/dist/esm/pds-toast.entry.js +154 -0
  452. package/dist/esm/pds-tooltip.entry.js +401 -108
  453. package/dist/esm/pine-core.js +6 -7
  454. package/dist/esm/portal-target-CKRzRKdO.js +66 -0
  455. package/dist/esm/reconnected-content-RFpTWV6r.js +27 -0
  456. package/dist/esm/reflected-attribute-default-t3idJwV0.js +42 -0
  457. package/dist/esm/scroll-DtgUQhjl.js +75 -0
  458. package/dist/esm/sortable-label-PItnzVVR.js +35 -0
  459. package/dist/esm/tabbable-C6ZWpp3v.js +84 -0
  460. package/dist/esm/truncation-tooltip-CkIWm6Z-.js +425 -0
  461. package/dist/esm/utils-OYK5-nwe.js +114 -0
  462. package/dist/esm-es5/aria-references-CNn1lObg.js +1 -0
  463. package/dist/esm-es5/attributes-CD8knu3a.js +1 -0
  464. package/dist/esm-es5/closest-DHPzKMVS.js +1 -0
  465. package/dist/esm-es5/floating-ui.dom-Cuc0DYlm.js +1 -0
  466. package/dist/esm-es5/form-BuRbS7Hp.js +1 -0
  467. package/dist/esm-es5/i18n-format-BJgZHCWe.js +1 -0
  468. package/dist/esm-es5/index-4_RRPJTO.js +2 -0
  469. package/dist/esm-es5/index-B0DXTeeV.js +1 -0
  470. package/dist/esm-es5/index.js +1 -2
  471. package/dist/esm-es5/keep-hydrated-BgNaWLoS.js +1 -0
  472. package/dist/esm-es5/loader.js +1 -2
  473. package/dist/esm-es5/mock-pds-modal.entry.js +1 -0
  474. package/dist/esm-es5/pds-accordion.entry.js +1 -2
  475. package/dist/esm-es5/pds-alert.entry.js +1 -0
  476. package/dist/esm-es5/pds-avatar.entry.js +1 -2
  477. package/dist/esm-es5/pds-box.entry.js +1 -2
  478. package/dist/esm-es5/pds-button.entry.js +1 -2
  479. package/dist/esm-es5/pds-checkbox.entry.js +1 -2
  480. package/dist/esm-es5/pds-chip.entry.js +1 -2
  481. package/dist/esm-es5/pds-combobox.entry.js +2 -0
  482. package/dist/esm-es5/pds-container.entry.js +1 -0
  483. package/dist/esm-es5/pds-copytext.entry.js +1 -2
  484. package/dist/esm-es5/pds-datepicker.entry.js +1 -0
  485. package/dist/esm-es5/pds-divider.entry.js +1 -2
  486. package/dist/esm-es5/pds-drawer-content.entry.js +1 -0
  487. package/dist/esm-es5/pds-drawer-footer.entry.js +1 -0
  488. package/dist/esm-es5/pds-drawer-header.entry.js +1 -0
  489. package/dist/esm-es5/pds-drawer.entry.js +1 -0
  490. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -0
  491. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -0
  492. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -0
  493. package/dist/esm-es5/pds-filter.entry.js +1 -0
  494. package/dist/esm-es5/pds-filters.entry.js +1 -0
  495. package/dist/esm-es5/pds-icon.entry.js +1 -2
  496. package/dist/esm-es5/pds-image.entry.js +1 -2
  497. package/dist/esm-es5/pds-input.entry.js +1 -2
  498. package/dist/esm-es5/pds-link.entry.js +1 -2
  499. package/dist/esm-es5/pds-loader.entry.js +1 -2
  500. package/dist/esm-es5/pds-modal-content.entry.js +1 -0
  501. package/dist/esm-es5/pds-modal-footer.entry.js +1 -0
  502. package/dist/esm-es5/pds-modal-header.entry.js +1 -0
  503. package/dist/esm-es5/pds-modal.entry.js +1 -0
  504. package/dist/esm-es5/pds-multiselect.entry.js +1 -0
  505. package/dist/esm-es5/pds-popover.entry.js +1 -0
  506. package/dist/esm-es5/pds-progress.entry.js +1 -2
  507. package/dist/esm-es5/pds-property.entry.js +1 -0
  508. package/dist/esm-es5/pds-radio-group.entry.js +1 -0
  509. package/dist/esm-es5/pds-radio.entry.js +1 -2
  510. package/dist/esm-es5/pds-row.entry.js +1 -2
  511. package/dist/esm-es5/pds-select.entry.js +1 -0
  512. package/dist/esm-es5/pds-sortable-item.entry.js +1 -2
  513. package/dist/esm-es5/pds-sortable.entry.js +3 -4
  514. package/dist/esm-es5/pds-switch.entry.js +1 -2
  515. package/dist/esm-es5/pds-tab.entry.js +1 -2
  516. package/dist/esm-es5/pds-table-body.entry.js +1 -2
  517. package/dist/esm-es5/pds-table-cell.entry.js +1 -2
  518. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -2
  519. package/dist/esm-es5/pds-table-head.entry.js +1 -2
  520. package/dist/esm-es5/pds-table-row.entry.js +1 -2
  521. package/dist/esm-es5/pds-table.entry.js +1 -2
  522. package/dist/esm-es5/pds-tabpanel.entry.js +1 -2
  523. package/dist/esm-es5/pds-tabs.entry.js +1 -2
  524. package/dist/esm-es5/pds-text.entry.js +1 -0
  525. package/dist/esm-es5/pds-textarea.entry.js +1 -2
  526. package/dist/esm-es5/pds-toast.entry.js +1 -0
  527. package/dist/esm-es5/pds-tooltip.entry.js +1 -2
  528. package/dist/esm-es5/pine-core.js +1 -2
  529. package/dist/esm-es5/portal-target-CKRzRKdO.js +1 -0
  530. package/dist/esm-es5/reconnected-content-RFpTWV6r.js +1 -0
  531. package/dist/esm-es5/reflected-attribute-default-t3idJwV0.js +1 -0
  532. package/dist/esm-es5/scroll-DtgUQhjl.js +1 -0
  533. package/dist/esm-es5/sortable-label-PItnzVVR.js +1 -0
  534. package/dist/esm-es5/tabbable-C6ZWpp3v.js +1 -0
  535. package/dist/esm-es5/truncation-tooltip-CkIWm6Z-.js +1 -0
  536. package/dist/esm-es5/utils-OYK5-nwe.js +1 -0
  537. package/dist/pine-core/index.esm.js +1 -2
  538. package/dist/pine-core/p-053ff8eb.system.entry.js +1 -0
  539. package/dist/pine-core/p-08b9e3ad.entry.js +1 -0
  540. package/dist/pine-core/p-0ac4262e.system.entry.js +1 -0
  541. package/dist/pine-core/p-0e1b8bd1.system.entry.js +1 -0
  542. package/dist/pine-core/p-12fdc65f.entry.js +1 -0
  543. package/dist/pine-core/p-1765a41b.system.entry.js +1 -0
  544. package/dist/pine-core/p-18524c25.entry.js +1 -0
  545. package/dist/pine-core/p-191eb9e5.system.entry.js +1 -0
  546. package/dist/pine-core/p-1c584a20.entry.js +1 -0
  547. package/dist/pine-core/p-1d4ecc35.entry.js +7 -0
  548. package/dist/pine-core/p-1e0c9738.system.entry.js +1 -0
  549. package/dist/pine-core/p-1fb1ca3d.entry.js +1 -0
  550. package/dist/pine-core/p-2482e4ab.system.entry.js +1 -0
  551. package/dist/pine-core/p-2cc7c682.entry.js +1 -0
  552. package/dist/pine-core/p-2f15e85f.entry.js +1 -0
  553. package/dist/pine-core/p-3306dc5a.system.entry.js +1 -0
  554. package/dist/pine-core/p-3338fc2e.entry.js +1 -0
  555. package/dist/pine-core/p-33da254f.system.entry.js +1 -0
  556. package/dist/pine-core/p-34d22a45.system.entry.js +1 -0
  557. package/dist/pine-core/p-35b90796.entry.js +1 -0
  558. package/dist/pine-core/p-38148f5b.entry.js +1 -0
  559. package/dist/pine-core/p-39264dfb.system.entry.js +1 -0
  560. package/dist/pine-core/p-3aed0418.system.entry.js +1 -0
  561. package/dist/pine-core/p-3dd879fd.entry.js +1 -0
  562. package/dist/pine-core/p-3f1c05cd.system.entry.js +1 -0
  563. package/dist/pine-core/p-3fc9ef80.system.entry.js +1 -0
  564. package/dist/pine-core/p-4125a4a6.system.entry.js +1 -0
  565. package/dist/pine-core/p-42376f2c.entry.js +1 -0
  566. package/dist/pine-core/p-4263038f.entry.js +1 -0
  567. package/dist/pine-core/p-47df9e9f.system.entry.js +3 -0
  568. package/dist/pine-core/p-55a4659a.system.entry.js +1 -0
  569. package/dist/pine-core/p-563baadd.system.entry.js +1 -0
  570. package/dist/pine-core/p-57af5c29.system.entry.js +1 -0
  571. package/dist/pine-core/p-587bd9ed.entry.js +1 -0
  572. package/dist/pine-core/p-5c7dfa7a.entry.js +1 -0
  573. package/dist/pine-core/p-5db87fda.system.entry.js +1 -0
  574. package/dist/pine-core/p-5eb0c78c.system.entry.js +1 -0
  575. package/dist/pine-core/p-6017afb5.system.entry.js +1 -0
  576. package/dist/pine-core/p-63d47dd4.system.entry.js +1 -0
  577. package/dist/pine-core/p-66e61921.system.entry.js +1 -0
  578. package/dist/pine-core/p-67999353.entry.js +1 -0
  579. package/dist/pine-core/p-68328afc.entry.js +1 -0
  580. package/dist/pine-core/p-6a965119.entry.js +1 -0
  581. package/dist/pine-core/p-6fdc6df9.system.entry.js +1 -0
  582. package/dist/pine-core/p-72668673.system.entry.js +1 -0
  583. package/dist/pine-core/p-765f4207.entry.js +1 -0
  584. package/dist/pine-core/p-77530cf2.entry.js +1 -0
  585. package/dist/pine-core/p-77a22399.entry.js +1 -0
  586. package/dist/pine-core/p-783127bf.entry.js +1 -0
  587. package/dist/pine-core/p-7a51f15e.entry.js +1 -0
  588. package/dist/pine-core/p-7b978fff.system.entry.js +1 -0
  589. package/dist/pine-core/p-82f7eed1.entry.js +1 -0
  590. package/dist/pine-core/p-863ff553.system.entry.js +1 -0
  591. package/dist/pine-core/p-87a32ded.system.entry.js +1 -0
  592. package/dist/pine-core/p-87cadd6f.system.entry.js +8 -0
  593. package/dist/pine-core/p-8db554fe.entry.js +1 -0
  594. package/dist/pine-core/p-8e7e7bba.entry.js +1 -0
  595. package/dist/pine-core/p-907c69e9.system.entry.js +1 -0
  596. package/dist/pine-core/p-90f83a5b.system.entry.js +1 -0
  597. package/dist/pine-core/p-931a0ccd.system.entry.js +1 -0
  598. package/dist/pine-core/p-94fd9595.entry.js +1 -0
  599. package/dist/pine-core/p-96bccf85.system.entry.js +1 -0
  600. package/dist/pine-core/p-9a63bf72.entry.js +1 -0
  601. package/dist/pine-core/p-9d983e09.system.entry.js +1 -0
  602. package/dist/pine-core/p-9da10cfb.system.entry.js +1 -0
  603. package/dist/pine-core/p-9e005996.entry.js +1 -0
  604. package/dist/pine-core/p-B0DXTeeV.js +1 -0
  605. package/dist/pine-core/p-BJgZHCWe.js +1 -0
  606. package/dist/pine-core/p-BK1sLRfg.system.js +2 -0
  607. package/dist/pine-core/p-BNTlHhoO.system.js +1 -0
  608. package/dist/pine-core/p-BSRFZB4I.system.js +1 -0
  609. package/dist/pine-core/p-BZ1l3LGl.system.js +1 -0
  610. package/dist/pine-core/p-BZsj6eAn.system.js +1 -0
  611. package/dist/pine-core/p-BbXp4qBM.system.js +1 -0
  612. package/dist/pine-core/p-BgNaWLoS.js +1 -0
  613. package/dist/pine-core/p-Bkho_oFB.system.js +1 -0
  614. package/dist/pine-core/p-BlJQebvG.system.js +1 -0
  615. package/dist/pine-core/p-BuRbS7Hp.js +1 -0
  616. package/dist/pine-core/p-BxIzb-Wc.system.js +1 -0
  617. package/dist/pine-core/p-C35-349-.system.js +1 -0
  618. package/dist/pine-core/p-C6ZWpp3v.js +1 -0
  619. package/dist/pine-core/p-CANeE7Ss.system.js +1 -0
  620. package/dist/pine-core/p-CIe1DGXa.system.js +1 -0
  621. package/dist/pine-core/p-CKRzRKdO.js +1 -0
  622. package/dist/pine-core/p-CNn1lObg.js +1 -0
  623. package/dist/pine-core/p-CQJ44c6o.system.js +1 -0
  624. package/dist/pine-core/p-Cuc0DYlm.js +1 -0
  625. package/dist/pine-core/p-DHPzKMVS.js +1 -0
  626. package/dist/pine-core/p-DVra397g.system.js +1 -0
  627. package/dist/pine-core/p-DtgUQhjl.js +1 -0
  628. package/dist/pine-core/p-Dv9QBmIF.js +1 -0
  629. package/dist/pine-core/p-Dx8tEj0U.system.js +1 -0
  630. package/dist/pine-core/p-M31tvpDN.js +2 -0
  631. package/dist/pine-core/p-OYK5-nwe.js +1 -0
  632. package/dist/pine-core/p-PItnzVVR.js +1 -0
  633. package/dist/pine-core/p-RFpTWV6r.js +1 -0
  634. package/dist/pine-core/p-VPGVqK3P.system.js +1 -0
  635. package/dist/pine-core/p-XK45dzWR.system.js +1 -0
  636. package/dist/pine-core/p-a0fa77b1.system.entry.js +1 -0
  637. package/dist/pine-core/p-a149af29.entry.js +1 -0
  638. package/dist/pine-core/p-a1575919.entry.js +1 -0
  639. package/dist/pine-core/p-a20d9eca.system.entry.js +1 -0
  640. package/dist/pine-core/p-a5782d99.entry.js +1 -0
  641. package/dist/pine-core/p-a9eaf160.system.entry.js +1 -0
  642. package/dist/pine-core/p-aae96744.entry.js +1 -0
  643. package/dist/pine-core/p-b379d9bc.system.entry.js +1 -0
  644. package/dist/pine-core/p-b96bdff6.entry.js +1 -0
  645. package/dist/pine-core/p-badde164.entry.js +1 -0
  646. package/dist/pine-core/p-bbd9ab75.entry.js +1 -0
  647. package/dist/pine-core/p-biShcgLI.js +1 -0
  648. package/dist/pine-core/p-c12b5cd7.system.entry.js +1 -0
  649. package/dist/pine-core/p-c2afe4f3.system.entry.js +1 -0
  650. package/dist/pine-core/p-c65f4eaa.system.entry.js +1 -0
  651. package/dist/pine-core/p-c6c5ada6.system.entry.js +1 -0
  652. package/dist/pine-core/p-c76d8b9e.system.entry.js +1 -0
  653. package/dist/pine-core/p-c89ea2d3.entry.js +1 -0
  654. package/dist/pine-core/p-ce9fa14b.entry.js +1 -0
  655. package/dist/pine-core/p-d4b0122f.system.entry.js +1 -0
  656. package/dist/pine-core/p-d61a0fe8.system.entry.js +1 -0
  657. package/dist/pine-core/p-d7d7a4e1.entry.js +1 -0
  658. package/dist/pine-core/p-d85d50cb.entry.js +1 -0
  659. package/dist/pine-core/p-daa802f1.entry.js +2 -0
  660. package/dist/pine-core/p-de3f4a28.system.entry.js +1 -0
  661. package/dist/pine-core/p-e00777da.system.entry.js +1 -0
  662. package/dist/pine-core/p-e2a1a49a.system.entry.js +1 -0
  663. package/dist/pine-core/p-e334af06.entry.js +1 -0
  664. package/dist/pine-core/p-e4216ff6.entry.js +1 -0
  665. package/dist/pine-core/p-e68044b3.entry.js +1 -0
  666. package/dist/pine-core/p-e75d8bc1.entry.js +1 -0
  667. package/dist/pine-core/p-e871cfce.entry.js +1 -0
  668. package/dist/pine-core/p-e92d0f0f.system.entry.js +1 -0
  669. package/dist/pine-core/p-eab165b9.system.entry.js +1 -0
  670. package/dist/pine-core/p-eabc4bd8.entry.js +1 -0
  671. package/dist/pine-core/p-eeYeEogd.system.js +1 -0
  672. package/dist/pine-core/p-eee042d3.entry.js +1 -0
  673. package/dist/pine-core/p-ef9f84f2.system.entry.js +1 -0
  674. package/dist/pine-core/p-f026af73.entry.js +1 -0
  675. package/dist/pine-core/p-f0509c8e.entry.js +1 -0
  676. package/dist/pine-core/p-f1252e72.system.entry.js +1 -0
  677. package/dist/pine-core/p-f3496fd1.entry.js +1 -0
  678. package/dist/pine-core/p-f65127f1.entry.js +1 -0
  679. package/dist/pine-core/p-f90f4be7.system.entry.js +1 -0
  680. package/dist/pine-core/p-f99bd77f.entry.js +1 -0
  681. package/dist/pine-core/p-fda791df.entry.js +1 -0
  682. package/dist/pine-core/p-t3idJwV0.js +1 -0
  683. package/dist/pine-core/p-wB2y8gR7.system.js +1 -0
  684. package/dist/pine-core/pine-core.css +1 -1
  685. package/dist/pine-core/pine-core.esm.js +1 -2
  686. package/dist/pine-core/pine-core.js +1 -1
  687. package/dist/scripts/vscode-custom-data-generator.js +406 -0
  688. package/dist/scripts/vscode-settings-patcher.cjs +89 -0
  689. package/dist/types/components/pds-accordion/pds-accordion.d.ts +9 -1
  690. package/dist/types/components/pds-alert/pds-alert.d.ts +62 -0
  691. package/dist/types/components/pds-avatar/pds-avatar.d.ts +53 -3
  692. package/dist/types/components/pds-box/pds-box.d.ts +495 -16
  693. package/dist/types/components/pds-button/pds-button.d.ts +91 -13
  694. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +43 -9
  695. package/dist/types/components/pds-chip/pds-chip.d.ts +77 -14
  696. package/dist/types/components/pds-combobox/combobox-interface.d.ts +73 -0
  697. package/dist/types/components/pds-combobox/grouped-options-panel.d.ts +128 -0
  698. package/dist/types/components/pds-combobox/pds-combobox.d.ts +714 -0
  699. package/dist/types/components/pds-container/pds-container.d.ts +22 -0
  700. package/dist/types/components/pds-copytext/pds-copytext.d.ts +20 -5
  701. package/dist/types/components/pds-datepicker/calendar-portal.d.ts +36 -0
  702. package/dist/types/components/pds-datepicker/date-utils.d.ts +67 -0
  703. package/dist/types/components/pds-datepicker/datepicker-interface.d.ts +47 -0
  704. package/dist/types/components/pds-datepicker/pds-datepicker.d.ts +515 -0
  705. package/dist/types/components/pds-datepicker/presets.d.ts +24 -0
  706. package/dist/types/components/pds-datepicker/value.d.ts +59 -0
  707. package/dist/types/components/pds-divider/pds-divider.d.ts +10 -2
  708. package/dist/types/components/pds-drawer/pds-drawer-content/pds-drawer-content.d.ts +9 -0
  709. package/dist/types/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.d.ts +9 -0
  710. package/dist/types/components/pds-drawer/pds-drawer-header/pds-drawer-header.d.ts +9 -0
  711. package/dist/types/components/pds-drawer/pds-drawer.d.ts +89 -0
  712. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +87 -0
  713. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.d.ts +13 -0
  714. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +60 -0
  715. package/dist/types/components/pds-filters/pds-filter/filter-interface.d.ts +19 -0
  716. package/dist/types/components/pds-filters/pds-filter/pds-filter.d.ts +135 -0
  717. package/dist/types/components/pds-filters/pds-filters.d.ts +11 -0
  718. package/dist/types/components/pds-image/image-interface.d.ts +12 -0
  719. package/dist/types/components/pds-image/pds-image.d.ts +75 -11
  720. package/dist/types/components/pds-input/input-interface.d.ts +12 -0
  721. package/dist/types/components/pds-input/pds-input.d.ts +174 -9
  722. package/dist/types/components/pds-link/pds-link.d.ts +81 -11
  723. package/dist/types/components/pds-loader/pds-loader.d.ts +10 -3
  724. package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +43 -0
  725. package/dist/types/components/pds-modal/pds-modal-footer/pds-modal-footer.d.ts +9 -0
  726. package/dist/types/components/pds-modal/pds-modal-header/pds-modal-header.d.ts +9 -0
  727. package/dist/types/components/pds-modal/pds-modal.d.ts +152 -0
  728. package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +68 -0
  729. package/dist/types/components/pds-multiselect/multiselect-interface.d.ts +61 -0
  730. package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +402 -0
  731. package/dist/types/components/pds-popover/pds-popover.d.ts +292 -0
  732. package/dist/types/components/pds-popover/popover-interface.d.ts +4 -0
  733. package/dist/types/components/pds-progress/pds-progress.d.ts +6 -2
  734. package/dist/types/components/pds-property/pds-property.d.ts +14 -0
  735. package/dist/types/components/pds-radio/pds-radio.d.ts +42 -11
  736. package/dist/types/components/pds-radio-group/pds-radio-group.d.ts +84 -0
  737. package/dist/types/components/pds-radio-group/radio-group-interface.d.ts +5 -0
  738. package/dist/types/components/pds-row/pds-row.d.ts +17 -2
  739. package/dist/types/components/pds-select/pds-select.d.ts +182 -0
  740. package/dist/types/components/pds-sortable/pds-sortable-item/pds-sortable-item.d.ts +14 -3
  741. package/dist/types/components/pds-sortable/pds-sortable.d.ts +99 -4
  742. package/dist/types/components/pds-sortable/sortable-interface.d.ts +3 -1
  743. package/dist/types/components/pds-sortable/sortable-label.d.ts +7 -0
  744. package/dist/types/components/pds-switch/pds-switch.d.ts +51 -17
  745. package/dist/types/components/pds-table/pds-table-body/pds-table-body.d.ts +3 -0
  746. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +40 -1
  747. package/dist/types/components/pds-table/pds-table-head/pds-table-head.d.ts +19 -2
  748. package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +73 -2
  749. package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +27 -4
  750. package/dist/types/components/pds-table/pds-table.d.ts +138 -12
  751. package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +55 -0
  752. package/dist/types/components/pds-tabs/pds-tabpanel/pds-tabpanel.d.ts +12 -0
  753. package/dist/types/components/pds-tabs/pds-tabs.d.ts +45 -5
  754. package/dist/types/components/pds-text/pds-text.d.ts +61 -0
  755. package/dist/types/components/pds-textarea/pds-textarea.d.ts +140 -15
  756. package/dist/types/components/pds-textarea/textarea-interface.d.ts +5 -1
  757. package/dist/types/components/pds-toast/pds-toast.d.ts +83 -0
  758. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +80 -20
  759. package/dist/types/components.d.ts +7070 -1247
  760. package/dist/types/global/pine-global.d.ts +2 -0
  761. package/dist/types/home/runner/work/pine/pine/libs/core/.stencil/scripts/vscode-custom-data-generator.d.ts +6 -0
  762. package/dist/types/i18n/i18n-format.d.ts +38 -0
  763. package/dist/types/i18n/index.d.ts +2 -0
  764. package/dist/types/index.d.ts +3 -0
  765. package/dist/types/stencil-public-runtime.d.ts +195 -8
  766. package/dist/types/utils/aria-references.d.ts +28 -0
  767. package/dist/types/utils/attributes.d.ts +44 -0
  768. package/dist/types/utils/closest.d.ts +2 -0
  769. package/dist/types/utils/css.d.ts +7 -0
  770. package/dist/types/utils/form.d.ts +23 -1
  771. package/dist/types/utils/interfaces.d.ts +6 -0
  772. package/dist/types/utils/keep-hydrated.d.ts +56 -0
  773. package/dist/types/utils/overlay.d.ts +3 -3
  774. package/dist/types/utils/portal-target.d.ts +17 -0
  775. package/dist/types/utils/reconnected-content.d.ts +14 -0
  776. package/dist/types/utils/reflected-attribute-default.d.ts +31 -0
  777. package/dist/types/utils/scroll.d.ts +21 -0
  778. package/dist/types/utils/tabbable.d.ts +2 -0
  779. package/dist/types/utils/test/axe.d.ts +81 -0
  780. package/dist/types/utils/test/host-strip.d.ts +10 -0
  781. package/dist/types/utils/test/reconnect-safety.d.ts +11 -0
  782. package/dist/types/utils/test/reduced-motion.d.ts +30 -0
  783. package/dist/types/utils/truncation-tooltip.d.ts +88 -0
  784. package/dist/types/utils/types.d.ts +13 -2
  785. package/dist/types/utils/utils.d.ts +37 -2
  786. package/dist/vscode.html-data.json +11913 -0
  787. package/hydrate/index.d.ts +58 -7
  788. package/hydrate/index.js +29932 -3726
  789. package/hydrate/index.mjs +29929 -3725
  790. package/package.json +52 -26
  791. package/readme.md +26 -55
  792. package/components/closest.js.map +0 -1
  793. package/components/index.js.map +0 -1
  794. package/components/index2.js.map +0 -1
  795. package/components/pds-accordion.js.map +0 -1
  796. package/components/pds-avatar.js.map +0 -1
  797. package/components/pds-box.js.map +0 -1
  798. package/components/pds-button.js.map +0 -1
  799. package/components/pds-button2.js.map +0 -1
  800. package/components/pds-checkbox.js.map +0 -1
  801. package/components/pds-checkbox2.js.map +0 -1
  802. package/components/pds-chip.js.map +0 -1
  803. package/components/pds-copytext.js.map +0 -1
  804. package/components/pds-divider.js.map +0 -1
  805. package/components/pds-icon.js.map +0 -1
  806. package/components/pds-icon2.js.map +0 -1
  807. package/components/pds-image.js.map +0 -1
  808. package/components/pds-input.js.map +0 -1
  809. package/components/pds-label.js +0 -39
  810. package/components/pds-label.js.map +0 -1
  811. package/components/pds-link.js.map +0 -1
  812. package/components/pds-loader.js.map +0 -1
  813. package/components/pds-progress.js.map +0 -1
  814. package/components/pds-radio.js.map +0 -1
  815. package/components/pds-row.js.map +0 -1
  816. package/components/pds-sortable-item.js.map +0 -1
  817. package/components/pds-sortable.js.map +0 -1
  818. package/components/pds-switch.js.map +0 -1
  819. package/components/pds-tab.js.map +0 -1
  820. package/components/pds-table-body.js.map +0 -1
  821. package/components/pds-table-cell.js.map +0 -1
  822. package/components/pds-table-cell2.js.map +0 -1
  823. package/components/pds-table-head-cell.js.map +0 -1
  824. package/components/pds-table-head-cell2.js.map +0 -1
  825. package/components/pds-table-head.js.map +0 -1
  826. package/components/pds-table-row.js.map +0 -1
  827. package/components/pds-table.js.map +0 -1
  828. package/components/pds-tabpanel.js.map +0 -1
  829. package/components/pds-tabs.js.map +0 -1
  830. package/components/pds-textarea.js.map +0 -1
  831. package/components/pds-tooltip.js.map +0 -1
  832. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  833. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  834. package/dist/cjs/closest-b45138d3.js +0 -13
  835. package/dist/cjs/closest-b45138d3.js.map +0 -1
  836. package/dist/cjs/index-46fb0736.js +0 -1956
  837. package/dist/cjs/index-46fb0736.js.map +0 -1
  838. package/dist/cjs/index-de3f0730.js +0 -24
  839. package/dist/cjs/index-de3f0730.js.map +0 -1
  840. package/dist/cjs/index.cjs.js.map +0 -1
  841. package/dist/cjs/loader.cjs.js.map +0 -1
  842. package/dist/cjs/pds-accordion.cjs.entry.js.map +0 -1
  843. package/dist/cjs/pds-avatar.cjs.entry.js.map +0 -1
  844. package/dist/cjs/pds-box.cjs.entry.js.map +0 -1
  845. package/dist/cjs/pds-button.cjs.entry.js.map +0 -1
  846. package/dist/cjs/pds-checkbox.cjs.entry.js.map +0 -1
  847. package/dist/cjs/pds-chip.cjs.entry.js.map +0 -1
  848. package/dist/cjs/pds-copytext.cjs.entry.js.map +0 -1
  849. package/dist/cjs/pds-divider.cjs.entry.js.map +0 -1
  850. package/dist/cjs/pds-icon.cjs.entry.js.map +0 -1
  851. package/dist/cjs/pds-image.cjs.entry.js.map +0 -1
  852. package/dist/cjs/pds-input.cjs.entry.js.map +0 -1
  853. package/dist/cjs/pds-label-7aabdc4e.js +0 -44
  854. package/dist/cjs/pds-label-7aabdc4e.js.map +0 -1
  855. package/dist/cjs/pds-link.cjs.entry.js.map +0 -1
  856. package/dist/cjs/pds-loader.cjs.entry.js.map +0 -1
  857. package/dist/cjs/pds-progress.cjs.entry.js.map +0 -1
  858. package/dist/cjs/pds-radio.cjs.entry.js.map +0 -1
  859. package/dist/cjs/pds-row.cjs.entry.js.map +0 -1
  860. package/dist/cjs/pds-sortable-item.cjs.entry.js.map +0 -1
  861. package/dist/cjs/pds-sortable.cjs.entry.js.map +0 -1
  862. package/dist/cjs/pds-switch.cjs.entry.js.map +0 -1
  863. package/dist/cjs/pds-tab.cjs.entry.js.map +0 -1
  864. package/dist/cjs/pds-table-body.cjs.entry.js.map +0 -1
  865. package/dist/cjs/pds-table-cell.cjs.entry.js.map +0 -1
  866. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +0 -1
  867. package/dist/cjs/pds-table-head.cjs.entry.js.map +0 -1
  868. package/dist/cjs/pds-table-row.cjs.entry.js.map +0 -1
  869. package/dist/cjs/pds-table.cjs.entry.js.map +0 -1
  870. package/dist/cjs/pds-tabpanel.cjs.entry.js.map +0 -1
  871. package/dist/cjs/pds-tabs.cjs.entry.js.map +0 -1
  872. package/dist/cjs/pds-textarea.cjs.entry.js.map +0 -1
  873. package/dist/cjs/pds-tooltip.cjs.entry.js.map +0 -1
  874. package/dist/cjs/pine-core.cjs.js.map +0 -1
  875. package/dist/collection/components/_internal/pds-label/pds-label.js.map +0 -1
  876. package/dist/collection/components/pds-accordion/pds-accordion.js.map +0 -1
  877. package/dist/collection/components/pds-avatar/pds-avatar.js.map +0 -1
  878. package/dist/collection/components/pds-box/pds-box.js.map +0 -1
  879. package/dist/collection/components/pds-button/pds-button.js.map +0 -1
  880. package/dist/collection/components/pds-checkbox/checkbox-interface.js.map +0 -1
  881. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +0 -1
  882. package/dist/collection/components/pds-chip/pds-chip.js.map +0 -1
  883. package/dist/collection/components/pds-copytext/pds-copytext.js.map +0 -1
  884. package/dist/collection/components/pds-divider/pds-divider.js.map +0 -1
  885. package/dist/collection/components/pds-image/pds-image.js.map +0 -1
  886. package/dist/collection/components/pds-input/pds-input.js.map +0 -1
  887. package/dist/collection/components/pds-link/pds-link.js.map +0 -1
  888. package/dist/collection/components/pds-loader/pds-loader.js.map +0 -1
  889. package/dist/collection/components/pds-progress/pds-progress.js.map +0 -1
  890. package/dist/collection/components/pds-radio/pds-radio.js.map +0 -1
  891. package/dist/collection/components/pds-row/pds-row.js.map +0 -1
  892. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js.map +0 -1
  893. package/dist/collection/components/pds-sortable/pds-sortable.js.map +0 -1
  894. package/dist/collection/components/pds-sortable/sortable-interface.js.map +0 -1
  895. package/dist/collection/components/pds-switch/pds-switch.js.map +0 -1
  896. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +0 -1
  897. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +0 -1
  898. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +0 -1
  899. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +0 -1
  900. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +0 -1
  901. package/dist/collection/components/pds-table/pds-table.js.map +0 -1
  902. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js.map +0 -1
  903. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js.map +0 -1
  904. package/dist/collection/components/pds-tabs/pds-tabs.js.map +0 -1
  905. package/dist/collection/components/pds-textarea/pds-textarea.js.map +0 -1
  906. package/dist/collection/components/pds-textarea/textarea-interface.js.map +0 -1
  907. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +0 -1
  908. package/dist/collection/global/pine-ui-global.js.map +0 -1
  909. package/dist/collection/index.js.map +0 -1
  910. package/dist/collection/stories/_helpers/index.js +0 -15
  911. package/dist/collection/stories/_helpers/index.js.map +0 -1
  912. package/dist/collection/utils/closest.js.map +0 -1
  913. package/dist/collection/utils/form.js.map +0 -1
  914. package/dist/collection/utils/overlay.js.map +0 -1
  915. package/dist/collection/utils/types.js.map +0 -1
  916. package/dist/collection/utils/utils.js.map +0 -1
  917. package/dist/esm/app-globals-0f993ce5.js +0 -5
  918. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  919. package/dist/esm/closest-d2d192be.js +0 -11
  920. package/dist/esm/closest-d2d192be.js.map +0 -1
  921. package/dist/esm/index-2a33b470.js +0 -1927
  922. package/dist/esm/index-2a33b470.js.map +0 -1
  923. package/dist/esm/index-a1e2f9af.js +0 -14
  924. package/dist/esm/index-a1e2f9af.js.map +0 -1
  925. package/dist/esm/index.js.map +0 -1
  926. package/dist/esm/loader.js.map +0 -1
  927. package/dist/esm/pds-accordion.entry.js.map +0 -1
  928. package/dist/esm/pds-avatar.entry.js.map +0 -1
  929. package/dist/esm/pds-box.entry.js.map +0 -1
  930. package/dist/esm/pds-button.entry.js.map +0 -1
  931. package/dist/esm/pds-checkbox.entry.js.map +0 -1
  932. package/dist/esm/pds-chip.entry.js.map +0 -1
  933. package/dist/esm/pds-copytext.entry.js.map +0 -1
  934. package/dist/esm/pds-divider.entry.js.map +0 -1
  935. package/dist/esm/pds-icon.entry.js.map +0 -1
  936. package/dist/esm/pds-image.entry.js.map +0 -1
  937. package/dist/esm/pds-input.entry.js.map +0 -1
  938. package/dist/esm/pds-label-31a5848b.js +0 -39
  939. package/dist/esm/pds-label-31a5848b.js.map +0 -1
  940. package/dist/esm/pds-link.entry.js.map +0 -1
  941. package/dist/esm/pds-loader.entry.js.map +0 -1
  942. package/dist/esm/pds-progress.entry.js.map +0 -1
  943. package/dist/esm/pds-radio.entry.js.map +0 -1
  944. package/dist/esm/pds-row.entry.js.map +0 -1
  945. package/dist/esm/pds-sortable-item.entry.js.map +0 -1
  946. package/dist/esm/pds-sortable.entry.js.map +0 -1
  947. package/dist/esm/pds-switch.entry.js.map +0 -1
  948. package/dist/esm/pds-tab.entry.js.map +0 -1
  949. package/dist/esm/pds-table-body.entry.js.map +0 -1
  950. package/dist/esm/pds-table-cell.entry.js.map +0 -1
  951. package/dist/esm/pds-table-head-cell.entry.js.map +0 -1
  952. package/dist/esm/pds-table-head.entry.js.map +0 -1
  953. package/dist/esm/pds-table-row.entry.js.map +0 -1
  954. package/dist/esm/pds-table.entry.js.map +0 -1
  955. package/dist/esm/pds-tabpanel.entry.js.map +0 -1
  956. package/dist/esm/pds-tabs.entry.js.map +0 -1
  957. package/dist/esm/pds-textarea.entry.js.map +0 -1
  958. package/dist/esm/pds-tooltip.entry.js.map +0 -1
  959. package/dist/esm/pine-core.js.map +0 -1
  960. package/dist/esm-es5/app-globals-0f993ce5.js +0 -2
  961. package/dist/esm-es5/app-globals-0f993ce5.js.map +0 -1
  962. package/dist/esm-es5/closest-d2d192be.js +0 -2
  963. package/dist/esm-es5/closest-d2d192be.js.map +0 -1
  964. package/dist/esm-es5/index-2a33b470.js +0 -3
  965. package/dist/esm-es5/index-2a33b470.js.map +0 -1
  966. package/dist/esm-es5/index-a1e2f9af.js +0 -2
  967. package/dist/esm-es5/index-a1e2f9af.js.map +0 -1
  968. package/dist/esm-es5/index.js.map +0 -1
  969. package/dist/esm-es5/loader.js.map +0 -1
  970. package/dist/esm-es5/pds-accordion.entry.js.map +0 -1
  971. package/dist/esm-es5/pds-avatar.entry.js.map +0 -1
  972. package/dist/esm-es5/pds-box.entry.js.map +0 -1
  973. package/dist/esm-es5/pds-button.entry.js.map +0 -1
  974. package/dist/esm-es5/pds-checkbox.entry.js.map +0 -1
  975. package/dist/esm-es5/pds-chip.entry.js.map +0 -1
  976. package/dist/esm-es5/pds-copytext.entry.js.map +0 -1
  977. package/dist/esm-es5/pds-divider.entry.js.map +0 -1
  978. package/dist/esm-es5/pds-icon.entry.js.map +0 -1
  979. package/dist/esm-es5/pds-image.entry.js.map +0 -1
  980. package/dist/esm-es5/pds-input.entry.js.map +0 -1
  981. package/dist/esm-es5/pds-label-31a5848b.js +0 -2
  982. package/dist/esm-es5/pds-label-31a5848b.js.map +0 -1
  983. package/dist/esm-es5/pds-link.entry.js.map +0 -1
  984. package/dist/esm-es5/pds-loader.entry.js.map +0 -1
  985. package/dist/esm-es5/pds-progress.entry.js.map +0 -1
  986. package/dist/esm-es5/pds-radio.entry.js.map +0 -1
  987. package/dist/esm-es5/pds-row.entry.js.map +0 -1
  988. package/dist/esm-es5/pds-sortable-item.entry.js.map +0 -1
  989. package/dist/esm-es5/pds-sortable.entry.js.map +0 -1
  990. package/dist/esm-es5/pds-switch.entry.js.map +0 -1
  991. package/dist/esm-es5/pds-tab.entry.js.map +0 -1
  992. package/dist/esm-es5/pds-table-body.entry.js.map +0 -1
  993. package/dist/esm-es5/pds-table-cell.entry.js.map +0 -1
  994. package/dist/esm-es5/pds-table-head-cell.entry.js.map +0 -1
  995. package/dist/esm-es5/pds-table-head.entry.js.map +0 -1
  996. package/dist/esm-es5/pds-table-row.entry.js.map +0 -1
  997. package/dist/esm-es5/pds-table.entry.js.map +0 -1
  998. package/dist/esm-es5/pds-tabpanel.entry.js.map +0 -1
  999. package/dist/esm-es5/pds-tabs.entry.js.map +0 -1
  1000. package/dist/esm-es5/pds-textarea.entry.js.map +0 -1
  1001. package/dist/esm-es5/pds-tooltip.entry.js.map +0 -1
  1002. package/dist/esm-es5/pine-core.js.map +0 -1
  1003. package/dist/pine-core/index.esm.js.map +0 -1
  1004. package/dist/pine-core/p-06c33261.system.entry.js +0 -2
  1005. package/dist/pine-core/p-06c33261.system.entry.js.map +0 -1
  1006. package/dist/pine-core/p-07f80cb6.entry.js +0 -2
  1007. package/dist/pine-core/p-07f80cb6.entry.js.map +0 -1
  1008. package/dist/pine-core/p-09b1c7f1.system.entry.js +0 -2
  1009. package/dist/pine-core/p-09b1c7f1.system.entry.js.map +0 -1
  1010. package/dist/pine-core/p-0a4b1ce9.system.entry.js +0 -2
  1011. package/dist/pine-core/p-0a4b1ce9.system.entry.js.map +0 -1
  1012. package/dist/pine-core/p-0b541f88.js +0 -3
  1013. package/dist/pine-core/p-0b541f88.js.map +0 -1
  1014. package/dist/pine-core/p-0b77685e.js +0 -2
  1015. package/dist/pine-core/p-0b77685e.js.map +0 -1
  1016. package/dist/pine-core/p-0d6fafef.system.entry.js +0 -2
  1017. package/dist/pine-core/p-0d6fafef.system.entry.js.map +0 -1
  1018. package/dist/pine-core/p-0e1c0d03.entry.js +0 -8
  1019. package/dist/pine-core/p-0e1c0d03.entry.js.map +0 -1
  1020. package/dist/pine-core/p-0e936138.entry.js +0 -2
  1021. package/dist/pine-core/p-0e936138.entry.js.map +0 -1
  1022. package/dist/pine-core/p-143795e5.system.entry.js +0 -2
  1023. package/dist/pine-core/p-143795e5.system.entry.js.map +0 -1
  1024. package/dist/pine-core/p-1f2b0be3.system.entry.js +0 -2
  1025. package/dist/pine-core/p-1f2b0be3.system.entry.js.map +0 -1
  1026. package/dist/pine-core/p-224a435b.system.js +0 -2
  1027. package/dist/pine-core/p-224a435b.system.js.map +0 -1
  1028. package/dist/pine-core/p-31056348.system.entry.js +0 -2
  1029. package/dist/pine-core/p-31056348.system.entry.js.map +0 -1
  1030. package/dist/pine-core/p-32498622.system.entry.js +0 -2
  1031. package/dist/pine-core/p-32498622.system.entry.js.map +0 -1
  1032. package/dist/pine-core/p-3261fdf5.system.entry.js +0 -2
  1033. package/dist/pine-core/p-3261fdf5.system.entry.js.map +0 -1
  1034. package/dist/pine-core/p-32e41e3d.system.entry.js +0 -2
  1035. package/dist/pine-core/p-32e41e3d.system.entry.js.map +0 -1
  1036. package/dist/pine-core/p-34631565.system.js +0 -2
  1037. package/dist/pine-core/p-34631565.system.js.map +0 -1
  1038. package/dist/pine-core/p-3ba3d44c.entry.js +0 -2
  1039. package/dist/pine-core/p-3ba3d44c.entry.js.map +0 -1
  1040. package/dist/pine-core/p-46161cec.entry.js +0 -2
  1041. package/dist/pine-core/p-46161cec.entry.js.map +0 -1
  1042. package/dist/pine-core/p-4f69a7b7.entry.js +0 -2
  1043. package/dist/pine-core/p-4f69a7b7.entry.js.map +0 -1
  1044. package/dist/pine-core/p-50a23474.entry.js +0 -2
  1045. package/dist/pine-core/p-50a23474.entry.js.map +0 -1
  1046. package/dist/pine-core/p-511bf308.entry.js +0 -2
  1047. package/dist/pine-core/p-511bf308.entry.js.map +0 -1
  1048. package/dist/pine-core/p-52515d64.system.entry.js +0 -2
  1049. package/dist/pine-core/p-52515d64.system.entry.js.map +0 -1
  1050. package/dist/pine-core/p-56ba5cbf.system.js +0 -2
  1051. package/dist/pine-core/p-56ba5cbf.system.js.map +0 -1
  1052. package/dist/pine-core/p-5a384517.entry.js +0 -2
  1053. package/dist/pine-core/p-5a384517.entry.js.map +0 -1
  1054. package/dist/pine-core/p-5bee6677.system.entry.js +0 -2
  1055. package/dist/pine-core/p-5bee6677.system.entry.js.map +0 -1
  1056. package/dist/pine-core/p-5df76e04.system.js +0 -2
  1057. package/dist/pine-core/p-5df76e04.system.js.map +0 -1
  1058. package/dist/pine-core/p-62ec9a0f.system.entry.js +0 -2
  1059. package/dist/pine-core/p-62ec9a0f.system.entry.js.map +0 -1
  1060. package/dist/pine-core/p-6a7a864f.entry.js +0 -2
  1061. package/dist/pine-core/p-6a7a864f.entry.js.map +0 -1
  1062. package/dist/pine-core/p-6ae2f0f5.entry.js +0 -2
  1063. package/dist/pine-core/p-6ae2f0f5.entry.js.map +0 -1
  1064. package/dist/pine-core/p-6e146962.entry.js +0 -2
  1065. package/dist/pine-core/p-6e146962.entry.js.map +0 -1
  1066. package/dist/pine-core/p-6ff9ebfa.entry.js +0 -2
  1067. package/dist/pine-core/p-6ff9ebfa.entry.js.map +0 -1
  1068. package/dist/pine-core/p-701ba882.entry.js +0 -2
  1069. package/dist/pine-core/p-701ba882.entry.js.map +0 -1
  1070. package/dist/pine-core/p-73eb1722.entry.js +0 -2
  1071. package/dist/pine-core/p-73eb1722.entry.js.map +0 -1
  1072. package/dist/pine-core/p-78c6c37a.system.entry.js +0 -2
  1073. package/dist/pine-core/p-78c6c37a.system.entry.js.map +0 -1
  1074. package/dist/pine-core/p-79ca4ab9.system.entry.js +0 -2
  1075. package/dist/pine-core/p-79ca4ab9.system.entry.js.map +0 -1
  1076. package/dist/pine-core/p-7c33a02e.entry.js +0 -2
  1077. package/dist/pine-core/p-7c33a02e.entry.js.map +0 -1
  1078. package/dist/pine-core/p-7dac515e.system.entry.js +0 -2
  1079. package/dist/pine-core/p-7dac515e.system.entry.js.map +0 -1
  1080. package/dist/pine-core/p-7ea6838b.system.entry.js +0 -2
  1081. package/dist/pine-core/p-7ea6838b.system.entry.js.map +0 -1
  1082. package/dist/pine-core/p-7ebfdef4.system.entry.js +0 -2
  1083. package/dist/pine-core/p-7ebfdef4.system.entry.js.map +0 -1
  1084. package/dist/pine-core/p-829777e4.system.entry.js +0 -2
  1085. package/dist/pine-core/p-829777e4.system.entry.js.map +0 -1
  1086. package/dist/pine-core/p-8317c6c2.js +0 -2
  1087. package/dist/pine-core/p-8317c6c2.js.map +0 -1
  1088. package/dist/pine-core/p-8469b65a.entry.js +0 -2
  1089. package/dist/pine-core/p-8469b65a.entry.js.map +0 -1
  1090. package/dist/pine-core/p-8d8de5fd.entry.js +0 -2
  1091. package/dist/pine-core/p-8d8de5fd.entry.js.map +0 -1
  1092. package/dist/pine-core/p-8df8debd.entry.js +0 -2
  1093. package/dist/pine-core/p-8df8debd.entry.js.map +0 -1
  1094. package/dist/pine-core/p-8f73bf14.system.entry.js +0 -2
  1095. package/dist/pine-core/p-8f73bf14.system.entry.js.map +0 -1
  1096. package/dist/pine-core/p-8fbec4fe.system.js +0 -2
  1097. package/dist/pine-core/p-8fbec4fe.system.js.map +0 -1
  1098. package/dist/pine-core/p-909b305c.system.entry.js +0 -2
  1099. package/dist/pine-core/p-909b305c.system.entry.js.map +0 -1
  1100. package/dist/pine-core/p-936d96ec.system.entry.js +0 -9
  1101. package/dist/pine-core/p-936d96ec.system.entry.js.map +0 -1
  1102. package/dist/pine-core/p-9583e6d5.entry.js +0 -2
  1103. package/dist/pine-core/p-9583e6d5.entry.js.map +0 -1
  1104. package/dist/pine-core/p-96c750d1.entry.js +0 -2
  1105. package/dist/pine-core/p-96c750d1.entry.js.map +0 -1
  1106. package/dist/pine-core/p-a03e587c.entry.js +0 -2
  1107. package/dist/pine-core/p-a03e587c.entry.js.map +0 -1
  1108. package/dist/pine-core/p-a79a8159.entry.js +0 -2
  1109. package/dist/pine-core/p-a79a8159.entry.js.map +0 -1
  1110. package/dist/pine-core/p-a962fe8e.entry.js +0 -2
  1111. package/dist/pine-core/p-a962fe8e.entry.js.map +0 -1
  1112. package/dist/pine-core/p-ac228abf.entry.js +0 -2
  1113. package/dist/pine-core/p-ac228abf.entry.js.map +0 -1
  1114. package/dist/pine-core/p-ad4238c9.system.entry.js +0 -2
  1115. package/dist/pine-core/p-ad4238c9.system.entry.js.map +0 -1
  1116. package/dist/pine-core/p-af7df3c2.system.entry.js +0 -2
  1117. package/dist/pine-core/p-af7df3c2.system.entry.js.map +0 -1
  1118. package/dist/pine-core/p-b18b20f4.system.js +0 -2
  1119. package/dist/pine-core/p-b18b20f4.system.js.map +0 -1
  1120. package/dist/pine-core/p-b4518566.entry.js +0 -2
  1121. package/dist/pine-core/p-b4518566.entry.js.map +0 -1
  1122. package/dist/pine-core/p-b5c7e02a.entry.js +0 -2
  1123. package/dist/pine-core/p-b5c7e02a.entry.js.map +0 -1
  1124. package/dist/pine-core/p-bc20946b.system.entry.js +0 -2
  1125. package/dist/pine-core/p-bc20946b.system.entry.js.map +0 -1
  1126. package/dist/pine-core/p-c52d0465.system.entry.js +0 -2
  1127. package/dist/pine-core/p-c52d0465.system.entry.js.map +0 -1
  1128. package/dist/pine-core/p-c84cc2f8.system.entry.js +0 -2
  1129. package/dist/pine-core/p-c84cc2f8.system.entry.js.map +0 -1
  1130. package/dist/pine-core/p-ca239d59.system.entry.js +0 -2
  1131. package/dist/pine-core/p-ca239d59.system.entry.js.map +0 -1
  1132. package/dist/pine-core/p-cfacf2e0.system.entry.js +0 -2
  1133. package/dist/pine-core/p-cfacf2e0.system.entry.js.map +0 -1
  1134. package/dist/pine-core/p-e1255160.js +0 -2
  1135. package/dist/pine-core/p-e1255160.js.map +0 -1
  1136. package/dist/pine-core/p-e4b3115c.entry.js +0 -2
  1137. package/dist/pine-core/p-e4b3115c.entry.js.map +0 -1
  1138. package/dist/pine-core/p-e60fccc0.js +0 -2
  1139. package/dist/pine-core/p-e60fccc0.js.map +0 -1
  1140. package/dist/pine-core/p-eb56f262.system.entry.js +0 -2
  1141. package/dist/pine-core/p-eb56f262.system.entry.js.map +0 -1
  1142. package/dist/pine-core/p-ec484bf6.entry.js +0 -2
  1143. package/dist/pine-core/p-ec484bf6.entry.js.map +0 -1
  1144. package/dist/pine-core/p-f59d4a46.entry.js +0 -2
  1145. package/dist/pine-core/p-f59d4a46.entry.js.map +0 -1
  1146. package/dist/pine-core/p-f74c489d.system.js +0 -3
  1147. package/dist/pine-core/p-f74c489d.system.js.map +0 -1
  1148. package/dist/pine-core/pine-core.esm.js.map +0 -1
  1149. package/dist/pine-core/svg/access-key.svg +0 -1
  1150. package/dist/pine-core/svg/add-circle.svg +0 -1
  1151. package/dist/pine-core/svg/add-image.svg +0 -1
  1152. package/dist/pine-core/svg/add-small.svg +0 -1
  1153. package/dist/pine-core/svg/add-square.svg +0 -1
  1154. package/dist/pine-core/svg/add.svg +0 -1
  1155. package/dist/pine-core/svg/advanced.svg +0 -1
  1156. package/dist/pine-core/svg/ai-sparkle.svg +0 -1
  1157. package/dist/pine-core/svg/ai-writer-filled.svg +0 -1
  1158. package/dist/pine-core/svg/ai-writer.svg +0 -1
  1159. package/dist/pine-core/svg/align-center.svg +0 -1
  1160. package/dist/pine-core/svg/align-justify.svg +0 -1
  1161. package/dist/pine-core/svg/align-left.svg +0 -1
  1162. package/dist/pine-core/svg/align-right.svg +0 -1
  1163. package/dist/pine-core/svg/app-store.svg +0 -1
  1164. package/dist/pine-core/svg/archive.svg +0 -1
  1165. package/dist/pine-core/svg/arrow-corner.svg +0 -1
  1166. package/dist/pine-core/svg/arrow-down.svg +0 -1
  1167. package/dist/pine-core/svg/arrow-left.svg +0 -1
  1168. package/dist/pine-core/svg/arrow-right.svg +0 -1
  1169. package/dist/pine-core/svg/arrow-up.svg +0 -1
  1170. package/dist/pine-core/svg/assessment.svg +0 -1
  1171. package/dist/pine-core/svg/at-sign.svg +0 -1
  1172. package/dist/pine-core/svg/attach.svg +0 -1
  1173. package/dist/pine-core/svg/automations.svg +0 -1
  1174. package/dist/pine-core/svg/ban.svg +0 -1
  1175. package/dist/pine-core/svg/bank.svg +0 -1
  1176. package/dist/pine-core/svg/bar-chart-10-tone.svg +0 -1
  1177. package/dist/pine-core/svg/bell-01-tone.svg +0 -1
  1178. package/dist/pine-core/svg/bell.svg +0 -1
  1179. package/dist/pine-core/svg/block.svg +0 -1
  1180. package/dist/pine-core/svg/blog-filled.svg +0 -1
  1181. package/dist/pine-core/svg/blog.svg +0 -1
  1182. package/dist/pine-core/svg/bold.svg +0 -1
  1183. package/dist/pine-core/svg/broadcast.svg +0 -1
  1184. package/dist/pine-core/svg/bulb.svg +0 -1
  1185. package/dist/pine-core/svg/button.svg +0 -1
  1186. package/dist/pine-core/svg/calendar-date.svg +0 -1
  1187. package/dist/pine-core/svg/calendar-schedule.svg +0 -1
  1188. package/dist/pine-core/svg/calendar-simple.svg +0 -1
  1189. package/dist/pine-core/svg/card-amex.svg +0 -1
  1190. package/dist/pine-core/svg/card-android.svg +0 -1
  1191. package/dist/pine-core/svg/card-apple.svg +0 -1
  1192. package/dist/pine-core/svg/card-diners-club.svg +0 -1
  1193. package/dist/pine-core/svg/card-discover.svg +0 -1
  1194. package/dist/pine-core/svg/card-generic.svg +0 -1
  1195. package/dist/pine-core/svg/card-gpay.svg +0 -1
  1196. package/dist/pine-core/svg/card-mastercard.svg +0 -1
  1197. package/dist/pine-core/svg/card-paypal.svg +0 -1
  1198. package/dist/pine-core/svg/card-stripe.svg +0 -1
  1199. package/dist/pine-core/svg/card-update.svg +0 -1
  1200. package/dist/pine-core/svg/card-visa.svg +0 -1
  1201. package/dist/pine-core/svg/caret-down.svg +0 -1
  1202. package/dist/pine-core/svg/caret-left.svg +0 -1
  1203. package/dist/pine-core/svg/caret-right.svg +0 -1
  1204. package/dist/pine-core/svg/caret-up.svg +0 -1
  1205. package/dist/pine-core/svg/cart-add.svg +0 -1
  1206. package/dist/pine-core/svg/cart.svg +0 -1
  1207. package/dist/pine-core/svg/certificate.svg +0 -1
  1208. package/dist/pine-core/svg/chart-filled.svg +0 -1
  1209. package/dist/pine-core/svg/chart.svg +0 -1
  1210. package/dist/pine-core/svg/check-circle-filled.svg +0 -1
  1211. package/dist/pine-core/svg/check-circle.svg +0 -1
  1212. package/dist/pine-core/svg/check.svg +0 -1
  1213. package/dist/pine-core/svg/circle-1.svg +0 -1
  1214. package/dist/pine-core/svg/circle-2.svg +0 -1
  1215. package/dist/pine-core/svg/circle-3.svg +0 -1
  1216. package/dist/pine-core/svg/circle-4.svg +0 -1
  1217. package/dist/pine-core/svg/circle-5.svg +0 -1
  1218. package/dist/pine-core/svg/circle-6.svg +0 -1
  1219. package/dist/pine-core/svg/circle-7.svg +0 -1
  1220. package/dist/pine-core/svg/circle-8.svg +0 -1
  1221. package/dist/pine-core/svg/circle-9.svg +0 -1
  1222. package/dist/pine-core/svg/circle-a.svg +0 -1
  1223. package/dist/pine-core/svg/circle-b.svg +0 -1
  1224. package/dist/pine-core/svg/circle-dashed.svg +0 -1
  1225. package/dist/pine-core/svg/clapperboard-tone.svg +0 -1
  1226. package/dist/pine-core/svg/clock.svg +0 -1
  1227. package/dist/pine-core/svg/closed-captions.svg +0 -1
  1228. package/dist/pine-core/svg/cloud-upload.svg +0 -1
  1229. package/dist/pine-core/svg/code-block.svg +0 -1
  1230. package/dist/pine-core/svg/code.svg +0 -1
  1231. package/dist/pine-core/svg/color.svg +0 -1
  1232. package/dist/pine-core/svg/columns.svg +0 -1
  1233. package/dist/pine-core/svg/comment-no.svg +0 -1
  1234. package/dist/pine-core/svg/comment.svg +0 -1
  1235. package/dist/pine-core/svg/connect.svg +0 -1
  1236. package/dist/pine-core/svg/contact.svg +0 -1
  1237. package/dist/pine-core/svg/conversation.svg +0 -1
  1238. package/dist/pine-core/svg/copy.svg +0 -1
  1239. package/dist/pine-core/svg/coupon.svg +0 -1
  1240. package/dist/pine-core/svg/course-filled.svg +0 -1
  1241. package/dist/pine-core/svg/course.svg +0 -1
  1242. package/dist/pine-core/svg/creator-studio-filled.svg +0 -1
  1243. package/dist/pine-core/svg/creator-studio.svg +0 -1
  1244. package/dist/pine-core/svg/credit-card-02-tone.svg +0 -1
  1245. package/dist/pine-core/svg/cube-01-tone.svg +0 -1
  1246. package/dist/pine-core/svg/cursor-pointer.svg +0 -1
  1247. package/dist/pine-core/svg/cursor.svg +0 -1
  1248. package/dist/pine-core/svg/custom-field.svg +0 -1
  1249. package/dist/pine-core/svg/customize.svg +0 -1
  1250. package/dist/pine-core/svg/danger-filled.svg +0 -1
  1251. package/dist/pine-core/svg/danger.svg +0 -1
  1252. package/dist/pine-core/svg/delete-circle.svg +0 -1
  1253. package/dist/pine-core/svg/delete-key.svg +0 -1
  1254. package/dist/pine-core/svg/delete-x.svg +0 -1
  1255. package/dist/pine-core/svg/dollar.svg +0 -1
  1256. package/dist/pine-core/svg/dot-menu-horizontal.svg +0 -1
  1257. package/dist/pine-core/svg/dots-horizontal-tone.svg +0 -1
  1258. package/dist/pine-core/svg/down-small.svg +0 -1
  1259. package/dist/pine-core/svg/download.svg +0 -1
  1260. package/dist/pine-core/svg/downsell.svg +0 -1
  1261. package/dist/pine-core/svg/draft.svg +0 -1
  1262. package/dist/pine-core/svg/drawer-collapse.svg +0 -1
  1263. package/dist/pine-core/svg/drawer-expand.svg +0 -1
  1264. package/dist/pine-core/svg/drop.svg +0 -1
  1265. package/dist/pine-core/svg/duplicate.svg +0 -1
  1266. package/dist/pine-core/svg/editor-filled.svg +0 -1
  1267. package/dist/pine-core/svg/editor.svg +0 -1
  1268. package/dist/pine-core/svg/email-activity.svg +0 -1
  1269. package/dist/pine-core/svg/emoji.svg +0 -1
  1270. package/dist/pine-core/svg/enlarge-vertical.svg +0 -1
  1271. package/dist/pine-core/svg/enlarge.svg +0 -1
  1272. package/dist/pine-core/svg/expand.svg +0 -1
  1273. package/dist/pine-core/svg/favorite.svg +0 -1
  1274. package/dist/pine-core/svg/feedback.svg +0 -1
  1275. package/dist/pine-core/svg/file-02.svg +0 -1
  1276. package/dist/pine-core/svg/file-money.svg +0 -1
  1277. package/dist/pine-core/svg/file.svg +0 -1
  1278. package/dist/pine-core/svg/filter.svg +0 -1
  1279. package/dist/pine-core/svg/flag.svg +0 -1
  1280. package/dist/pine-core/svg/flash-filled.svg +0 -1
  1281. package/dist/pine-core/svg/flash.svg +0 -1
  1282. package/dist/pine-core/svg/floppy-disk.svg +0 -1
  1283. package/dist/pine-core/svg/folder-group.svg +0 -1
  1284. package/dist/pine-core/svg/folder.svg +0 -1
  1285. package/dist/pine-core/svg/form-field.svg +0 -1
  1286. package/dist/pine-core/svg/form-filled.svg +0 -1
  1287. package/dist/pine-core/svg/form.svg +0 -1
  1288. package/dist/pine-core/svg/fullscreen.svg +0 -1
  1289. package/dist/pine-core/svg/funnel.svg +0 -1
  1290. package/dist/pine-core/svg/gear-filled.svg +0 -1
  1291. package/dist/pine-core/svg/gear.svg +0 -1
  1292. package/dist/pine-core/svg/grant-offer.svg +0 -1
  1293. package/dist/pine-core/svg/handle-2-vertical.svg +0 -1
  1294. package/dist/pine-core/svg/handle-2.svg +0 -1
  1295. package/dist/pine-core/svg/handle.svg +0 -1
  1296. package/dist/pine-core/svg/hashtag.svg +0 -1
  1297. package/dist/pine-core/svg/hd-video.svg +0 -1
  1298. package/dist/pine-core/svg/heading-1.svg +0 -1
  1299. package/dist/pine-core/svg/heading-2.svg +0 -1
  1300. package/dist/pine-core/svg/heading-3.svg +0 -1
  1301. package/dist/pine-core/svg/heading-4.svg +0 -1
  1302. package/dist/pine-core/svg/heading-5.svg +0 -1
  1303. package/dist/pine-core/svg/heading-6.svg +0 -1
  1304. package/dist/pine-core/svg/heading-large.svg +0 -1
  1305. package/dist/pine-core/svg/heading-small.svg +0 -1
  1306. package/dist/pine-core/svg/headset-tone.svg +0 -1
  1307. package/dist/pine-core/svg/headset.svg +0 -1
  1308. package/dist/pine-core/svg/help-filled.svg +0 -1
  1309. package/dist/pine-core/svg/help.svg +0 -1
  1310. package/dist/pine-core/svg/home-02-tone.svg +0 -1
  1311. package/dist/pine-core/svg/home-alt.svg +0 -1
  1312. package/dist/pine-core/svg/home-filled.svg +0 -1
  1313. package/dist/pine-core/svg/home.svg +0 -1
  1314. package/dist/pine-core/svg/horizontal-line.svg +0 -1
  1315. package/dist/pine-core/svg/image.svg +0 -1
  1316. package/dist/pine-core/svg/info-circle-filled.svg +0 -1
  1317. package/dist/pine-core/svg/info-circle.svg +0 -1
  1318. package/dist/pine-core/svg/ios-battery.svg +0 -1
  1319. package/dist/pine-core/svg/ios-data.svg +0 -1
  1320. package/dist/pine-core/svg/ios-wifi.svg +0 -1
  1321. package/dist/pine-core/svg/italic.svg +0 -1
  1322. package/dist/pine-core/svg/kajabi-filled.svg +0 -1
  1323. package/dist/pine-core/svg/kajabi.svg +0 -1
  1324. package/dist/pine-core/svg/klarna.svg +0 -1
  1325. package/dist/pine-core/svg/lab.svg +0 -1
  1326. package/dist/pine-core/svg/launch.svg +0 -1
  1327. package/dist/pine-core/svg/layout-grid.svg +0 -1
  1328. package/dist/pine-core/svg/layout-list.svg +0 -1
  1329. package/dist/pine-core/svg/left-small.svg +0 -1
  1330. package/dist/pine-core/svg/list-bullet.svg +0 -1
  1331. package/dist/pine-core/svg/list-details.svg +0 -1
  1332. package/dist/pine-core/svg/list-numbers.svg +0 -1
  1333. package/dist/pine-core/svg/location.svg +0 -1
  1334. package/dist/pine-core/svg/lock-alt.svg +0 -1
  1335. package/dist/pine-core/svg/lock.svg +0 -1
  1336. package/dist/pine-core/svg/logo-afterpay.svg +0 -1
  1337. package/dist/pine-core/svg/logo-facebook-round.svg +0 -1
  1338. package/dist/pine-core/svg/logo-facebook.svg +0 -1
  1339. package/dist/pine-core/svg/logo-instagram.svg +0 -1
  1340. package/dist/pine-core/svg/logo-linkedin.svg +0 -1
  1341. package/dist/pine-core/svg/logo-tiktok.svg +0 -1
  1342. package/dist/pine-core/svg/logo-twitter-x.svg +0 -1
  1343. package/dist/pine-core/svg/logo-twitter.svg +0 -1
  1344. package/dist/pine-core/svg/logo-youtube.svg +0 -1
  1345. package/dist/pine-core/svg/loop.svg +0 -1
  1346. package/dist/pine-core/svg/mail-01-tone.svg +0 -1
  1347. package/dist/pine-core/svg/mail-filled.svg +0 -1
  1348. package/dist/pine-core/svg/mail-open.svg +0 -1
  1349. package/dist/pine-core/svg/mail.svg +0 -1
  1350. package/dist/pine-core/svg/map.svg +0 -1
  1351. package/dist/pine-core/svg/mapped.svg +0 -1
  1352. package/dist/pine-core/svg/margin-left.svg +0 -1
  1353. package/dist/pine-core/svg/margin-right.svg +0 -1
  1354. package/dist/pine-core/svg/marker-filled.svg +0 -1
  1355. package/dist/pine-core/svg/marker.svg +0 -1
  1356. package/dist/pine-core/svg/megaphone-filled.svg +0 -1
  1357. package/dist/pine-core/svg/megaphone.svg +0 -1
  1358. package/dist/pine-core/svg/menu-alt.svg +0 -1
  1359. package/dist/pine-core/svg/menu-bordered.svg +0 -1
  1360. package/dist/pine-core/svg/menu.svg +0 -1
  1361. package/dist/pine-core/svg/merge.svg +0 -1
  1362. package/dist/pine-core/svg/microphone-off.svg +0 -1
  1363. package/dist/pine-core/svg/microphone.svg +0 -1
  1364. package/dist/pine-core/svg/monitor-03-tone.svg +0 -1
  1365. package/dist/pine-core/svg/monitor-filled.svg +0 -1
  1366. package/dist/pine-core/svg/monitor.svg +0 -1
  1367. package/dist/pine-core/svg/more-menu-filled.svg +0 -1
  1368. package/dist/pine-core/svg/more-menu.svg +0 -1
  1369. package/dist/pine-core/svg/move-left.svg +0 -1
  1370. package/dist/pine-core/svg/move-right.svg +0 -1
  1371. package/dist/pine-core/svg/multi-pay.svg +0 -1
  1372. package/dist/pine-core/svg/newsletter-2.svg +0 -1
  1373. package/dist/pine-core/svg/newsletter.svg +0 -1
  1374. package/dist/pine-core/svg/one-off-session.svg +0 -1
  1375. package/dist/pine-core/svg/one-time.svg +0 -1
  1376. package/dist/pine-core/svg/packages.svg +0 -1
  1377. package/dist/pine-core/svg/pause-circle.svg +0 -1
  1378. package/dist/pine-core/svg/pause.svg +0 -1
  1379. package/dist/pine-core/svg/payout.svg +0 -1
  1380. package/dist/pine-core/svg/pen.svg +0 -1
  1381. package/dist/pine-core/svg/phone-02-tone.svg +0 -1
  1382. package/dist/pine-core/svg/phone-portrait.svg +0 -1
  1383. package/dist/pine-core/svg/phone-toolbar-filled.svg +0 -1
  1384. package/dist/pine-core/svg/phone-toolbar.svg +0 -1
  1385. package/dist/pine-core/svg/play-circle.svg +0 -1
  1386. package/dist/pine-core/svg/play-outline.svg +0 -1
  1387. package/dist/pine-core/svg/play-store.svg +0 -1
  1388. package/dist/pine-core/svg/play.svg +0 -1
  1389. package/dist/pine-core/svg/plug.svg +0 -1
  1390. package/dist/pine-core/svg/premium.svg +0 -1
  1391. package/dist/pine-core/svg/present.svg +0 -1
  1392. package/dist/pine-core/svg/preview-off.svg +0 -1
  1393. package/dist/pine-core/svg/preview-on.svg +0 -1
  1394. package/dist/pine-core/svg/product-filled.svg +0 -1
  1395. package/dist/pine-core/svg/product.svg +0 -1
  1396. package/dist/pine-core/svg/question-circle.svg +0 -1
  1397. package/dist/pine-core/svg/quote.svg +0 -1
  1398. package/dist/pine-core/svg/redo.svg +0 -1
  1399. package/dist/pine-core/svg/refresh.svg +0 -1
  1400. package/dist/pine-core/svg/remove-circle.svg +0 -1
  1401. package/dist/pine-core/svg/remove.svg +0 -1
  1402. package/dist/pine-core/svg/rename.svg +0 -1
  1403. package/dist/pine-core/svg/reset-password.svg +0 -1
  1404. package/dist/pine-core/svg/restore.svg +0 -1
  1405. package/dist/pine-core/svg/right-small.svg +0 -1
  1406. package/dist/pine-core/svg/rocket-filled.svg +0 -1
  1407. package/dist/pine-core/svg/rocket.svg +0 -1
  1408. package/dist/pine-core/svg/round-dollar.svg +0 -1
  1409. package/dist/pine-core/svg/rows.svg +0 -1
  1410. package/dist/pine-core/svg/scissor.svg +0 -1
  1411. package/dist/pine-core/svg/screen-share-off.svg +0 -1
  1412. package/dist/pine-core/svg/screen-share-on.svg +0 -1
  1413. package/dist/pine-core/svg/search-md-tone.svg +0 -1
  1414. package/dist/pine-core/svg/search-small.svg +0 -1
  1415. package/dist/pine-core/svg/search.svg +0 -1
  1416. package/dist/pine-core/svg/send-message.svg +0 -1
  1417. package/dist/pine-core/svg/sequences.svg +0 -1
  1418. package/dist/pine-core/svg/settings-01-tone.svg +0 -1
  1419. package/dist/pine-core/svg/share.svg +0 -1
  1420. package/dist/pine-core/svg/skipped.svg +0 -1
  1421. package/dist/pine-core/svg/slash-divider.svg +0 -1
  1422. package/dist/pine-core/svg/speaker.svg +0 -1
  1423. package/dist/pine-core/svg/stack.svg +0 -1
  1424. package/dist/pine-core/svg/star.svg +0 -1
  1425. package/dist/pine-core/svg/stars-01-tone.svg +0 -1
  1426. package/dist/pine-core/svg/stop.svg +0 -1
  1427. package/dist/pine-core/svg/stopwatch.svg +0 -1
  1428. package/dist/pine-core/svg/strikethrough.svg +0 -1
  1429. package/dist/pine-core/svg/subscript.svg +0 -1
  1430. package/dist/pine-core/svg/subscriptions.svg +0 -1
  1431. package/dist/pine-core/svg/super-admin.svg +0 -1
  1432. package/dist/pine-core/svg/superscript.svg +0 -1
  1433. package/dist/pine-core/svg/sync.svg +0 -1
  1434. package/dist/pine-core/svg/tablet-landscape.svg +0 -1
  1435. package/dist/pine-core/svg/tablet-portrait.svg +0 -1
  1436. package/dist/pine-core/svg/tag-filled.svg +0 -1
  1437. package/dist/pine-core/svg/tag.svg +0 -1
  1438. package/dist/pine-core/svg/text-styles.svg +0 -1
  1439. package/dist/pine-core/svg/theme-store-filled.svg +0 -1
  1440. package/dist/pine-core/svg/theme-store.svg +0 -1
  1441. package/dist/pine-core/svg/thumb-down-filled.svg +0 -1
  1442. package/dist/pine-core/svg/thumb-down.svg +0 -1
  1443. package/dist/pine-core/svg/thumb-up-filled.svg +0 -1
  1444. package/dist/pine-core/svg/thumb-up.svg +0 -1
  1445. package/dist/pine-core/svg/trash.svg +0 -1
  1446. package/dist/pine-core/svg/trophy-filled.svg +0 -1
  1447. package/dist/pine-core/svg/trophy.svg +0 -1
  1448. package/dist/pine-core/svg/underline.svg +0 -1
  1449. package/dist/pine-core/svg/undo.svg +0 -1
  1450. package/dist/pine-core/svg/unlock.svg +0 -1
  1451. package/dist/pine-core/svg/unmapped.svg +0 -1
  1452. package/dist/pine-core/svg/up-small.svg +0 -1
  1453. package/dist/pine-core/svg/upload.svg +0 -1
  1454. package/dist/pine-core/svg/url.svg +0 -1
  1455. package/dist/pine-core/svg/user-circle-filled.svg +0 -1
  1456. package/dist/pine-core/svg/user-circle.svg +0 -1
  1457. package/dist/pine-core/svg/user-filled.svg +0 -1
  1458. package/dist/pine-core/svg/user-star-filled.svg +0 -1
  1459. package/dist/pine-core/svg/user-star.svg +0 -1
  1460. package/dist/pine-core/svg/user.svg +0 -1
  1461. package/dist/pine-core/svg/users-02-tone.svg +0 -1
  1462. package/dist/pine-core/svg/users-alt.svg +0 -1
  1463. package/dist/pine-core/svg/users-filled.svg +0 -1
  1464. package/dist/pine-core/svg/users.svg +0 -1
  1465. package/dist/pine-core/svg/video-off.svg +0 -1
  1466. package/dist/pine-core/svg/video-on.svg +0 -1
  1467. package/dist/pine-core/svg/warning-filled.svg +0 -1
  1468. package/dist/pine-core/svg/warning.svg +0 -1
  1469. package/dist/pine-core/svg/window-paragraph.svg +0 -1
  1470. package/dist/pine-core/svg/world.svg +0 -1
  1471. package/dist/pine-core/svg/wrench.svg +0 -1
  1472. package/dist/types/stories/_helpers/index.d.ts +0 -12
  1473. package/loader/package.json +0 -11
@@ -0,0 +1,2505 @@
1
+ import { h, Host } from "@stencil/core";
2
+ import { autoUpdate, computePosition, flip, hide, offset, shift, size } from "@floating-ui/dom";
3
+ import { calendarSimple, caretDown, caretLeft, caretRight, check, remove } from "@pine-ds/icons/icons";
4
+ import { isSpecTest } from "../../utils/form";
5
+ import { formatMessage, resolveLocale } from "../../i18n";
6
+ import { addDays, addMonths, clampDate, dateFormatter, daysInMonth, formatDate, isOutOfRange, isSameDay, localeFirstDayOfWeek, inMonthDayYear, monthDayRows, monthWeeks, parseIsoDate, parseMonthDay, supportedLocale, toIsoDate, toMonthDay, today, weekdayColumn, weekdayNames, } from "./date-utils";
7
+ import { CalendarPortal } from "./calendar-portal";
8
+ import { matchPreset, presetInRange, resolvePresets } from "./presets";
9
+ import { RANGE_SEPARATOR, clockFor, compareDateTime, fieldFormat, joinTime, monthDayFormat, parseDateTime, parseFieldText, parseMonthDayText, parseRangeText, splitTime, formatWith, toFieldText, toValueString, } from "./value";
10
+ const FULL_DATE = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
11
+ /** A day in month-day mode, which has no year and so no weekday. */
12
+ const MONTH_AND_DAY = { month: 'long', day: 'numeric' };
13
+ const DEFAULT_START_TIME = '00:00';
14
+ const DEFAULT_END_TIME = '23:59';
15
+ /** Ids for datepickers without a `component-id`, so their calendars' ids stay unique. */
16
+ let fallbackIds = 0;
17
+ /** Below this window width, range mode shows one month rather than two side by side. */
18
+ const TWO_MONTHS_MIN_WIDTH = 640;
19
+ /** The least height the calendar keeps when there's little room beside its field; it may cover the field then. */
20
+ const CALENDAR_MIN_HEIGHT = 480;
21
+ /** The calendar's gap to the window's edges. */
22
+ const VIEWPORT_PADDING = 8;
23
+ /** How many years either side of today the year dropdown offers without `min` or `max`. */
24
+ const DROPDOWN_YEARS = 100;
25
+ /** Swallows the next click anywhere, or none if it doesn't come soon, as after a drag. */
26
+ function swallowNextClick() {
27
+ const swallow = (event) => {
28
+ event.stopPropagation();
29
+ event.preventDefault();
30
+ };
31
+ document.addEventListener('click', swallow, { capture: true, once: true });
32
+ window.setTimeout(() => document.removeEventListener('click', swallow, { capture: true }), 500);
33
+ }
34
+ const firstOfMonth = (date) => new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1));
35
+ /** Just the day's number, in the locale's digits: Japanese and Chinese add 日 to a formatted day. */
36
+ const dayNumberText = (formatter, date) => { var _a, _b; return (_b = (_a = formatter.formatToParts(date).find((part) => part.type === 'day')) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : formatter.format(date); };
37
+ /**
38
+ * A field for one date, or in range mode a start and end date, with a calendar to pick from.
39
+ * The value is `YYYY-MM-DD`, or `YYYY-MM-DD/YYYY-MM-DD` for a range; with the time picker, each
40
+ * date carries a time, as `YYYY-MM-DDTHH:mm`. In month-day mode, for a date that comes round every
41
+ * year such as a birthday, it's a month and day with no year, as `--MM-DD`.
42
+ *
43
+ * @part calendar - The open calendar. It's portaled out of the datepicker, so style it with `.pds-datepicker-calendar-portal::part(calendar)`.
44
+ * @part presets - The list of preset ranges in the calendar, styled with `.pds-datepicker-calendar-portal::part(presets)`.
45
+ */
46
+ export class PdsDatepicker {
47
+ constructor() {
48
+ /** Set when the active day should take focus on the next render. */
49
+ this.focusActiveDay = false;
50
+ this.fallbackId = `pds-datepicker-${++fallbackIds}`;
51
+ /** Set by a click on the label, whose forwarded click on the input shouldn't open the calendar. */
52
+ this.skipForwardedClick = false;
53
+ /** Set while an arrow key selects a preset, which auto-apply doesn't apply. */
54
+ this.presetByArrow = false;
55
+ /** The value when the calendar opened, or as last set from outside, which Cancel (without `clearable`) and Escape go back to. */
56
+ this.valueAtOpen = '';
57
+ /** Set while the datepicker commits a value itself, as opposed to one set from outside. */
58
+ this.committing = false;
59
+ /** Whether focus is in the datepicker or its calendar, for pdsFocus and pdsBlur. */
60
+ this.hasFocus = false;
61
+ /**
62
+ * Accessible label for the button that applies the chosen dates.
63
+ */
64
+ this.applyLabel = 'Apply';
65
+ /**
66
+ * In range mode, applies the range as soon as its end or a preset is picked, without the Apply and
67
+ * Cancel buttons. Has no effect with the time picker, whose times still need Apply.
68
+ */
69
+ this.autoApply = false;
70
+ /**
71
+ * Accessible label for the button that closes the calendar without changing the dates.
72
+ */
73
+ this.cancelLabel = 'Cancel';
74
+ /**
75
+ * Adds a button in the field that empties it, shown while there's a value. Where Apply and Cancel
76
+ * buttons show, Clear also takes the place of Cancel.
77
+ */
78
+ this.clearable = false;
79
+ /**
80
+ * Accessible label for the button that empties the field, when `clearable` is set.
81
+ */
82
+ this.clearLabel = 'Clear';
83
+ /**
84
+ * The label of the presets entry that stands for a range of your own. Range mode with presets only.
85
+ */
86
+ this.customRangeLabel = 'Custom range';
87
+ /**
88
+ * Accessible label for the end time, in range mode with the time picker.
89
+ */
90
+ this.endTimeLabel = 'End time';
91
+ /**
92
+ * How the field shows dates and reads typed ones, as tokens: `YYYY`, `MMMM` or `MMM` (month name,
93
+ * in the locale), `MM` or `M` (month), `DD` or `D` (day), and with the time picker `HH` or `H`
94
+ * (24-hour), `hh` or `h` (12-hour), `mm` and `A` (AM/PM, in the locale), as `MM/DD/YYYY`,
95
+ * `MMM D, YYYY` or `D.M.YYYY h:mm A`. Put literal text in brackets, as `[Due] D/M/YYYY`. The value
96
+ * and the change event stay ISO (`YYYY-MM-DD`; `--MM-DD` with `month-day`), whatever the format.
97
+ * Typed ISO dates are always accepted too. With `month-day`, a format without `YYYY` is taken as a
98
+ * month-and-day format and used as given, rather than reordered for the locale; leave it unset to
99
+ * follow the locale instead.
100
+ */
101
+ this.format = 'YYYY-MM-DD';
102
+ /**
103
+ * Accessible label for the hour in the time picker.
104
+ */
105
+ this.hourLabel = 'Hour';
106
+ /**
107
+ * The validation message the form reports when the typed text isn't a date that can be picked.
108
+ */
109
+ this.invalidDateMessage = 'Enter a date in the format shown.';
110
+ /**
111
+ * The validation message the form reports for a date after `max`. `{date}` is replaced by the
112
+ * latest date, in the field's format.
113
+ */
114
+ this.maxDateMessage = 'Choose {date} or earlier.';
115
+ /**
116
+ * The validation message the form reports for a date before `min`. `{date}` is replaced by the
117
+ * earliest date, in the field's format.
118
+ */
119
+ this.minDateMessage = 'Choose {date} or later.';
120
+ /**
121
+ * The minutes the time picker steps by, such as `15` or `30`.
122
+ */
123
+ this.minuteIncrement = 1;
124
+ /**
125
+ * Accessible label for the minute in the time picker.
126
+ */
127
+ this.minuteLabel = 'Minute';
128
+ /**
129
+ * Accessible label for the month dropdown, when `show-dropdowns` is set.
130
+ */
131
+ this.monthLabel = 'Month';
132
+ /**
133
+ * Picks a month and day with no year, for a date that comes round every year, such as a birthday.
134
+ * The value is `--MM-DD` (ISO 8601 without a year), the field shows the date as the locale writes
135
+ * a month and day, and the calendar shows each month without a year or weekdays, with February
136
+ * always having its 29th. Turns off `range`, `time-picker`, `show-dropdowns`, `min` and `max`, and
137
+ * has no effect with `auto-apply`, `presets`, `first-day-of-week`, `min-date-message` or
138
+ * `max-date-message`, which all depend on them.
139
+ */
140
+ this.monthDay = false;
141
+ /**
142
+ * Accessible label for the button that shows the next month.
143
+ */
144
+ this.nextMonthLabel = 'Next month';
145
+ /**
146
+ * Accessible label for the AM or PM choice in the time picker, in locales with a 12-hour clock.
147
+ */
148
+ this.periodLabel = 'AM or PM';
149
+ /**
150
+ * The placement of the calendar relative to the field.
151
+ */
152
+ this.placement = 'bottom-start';
153
+ /**
154
+ * Accessible label for the list of presets, in range mode.
155
+ */
156
+ this.presetsLabel = 'Presets';
157
+ /**
158
+ * Accessible label for the button that shows the previous month.
159
+ */
160
+ this.previousMonthLabel = 'Previous month';
161
+ /**
162
+ * Picks a range: a start and an end date, from two months side by side, applied with the Apply
163
+ * button. The value is `YYYY-MM-DD/YYYY-MM-DD`.
164
+ */
165
+ this.range = false;
166
+ /**
167
+ * Shows month and year dropdowns in place of the month heading, for jumping far, as to a birth year.
168
+ */
169
+ this.showDropdowns = false;
170
+ /**
171
+ * Accessible label for the start time, in range mode with the time picker.
172
+ */
173
+ this.startTimeLabel = 'Start time';
174
+ /**
175
+ * Adds hour and minute pickers below the calendar, and the value carries the time as
176
+ * `YYYY-MM-DDTHH:mm`. The dates are applied with the Apply button.
177
+ */
178
+ this.timePicker = false;
179
+ /**
180
+ * Accessible label for the time, with the time picker and a single date.
181
+ */
182
+ this.timeLabel = 'Time';
183
+ /**
184
+ * Accessible label for the button that opens the calendar. The selected date is added to it.
185
+ */
186
+ this.triggerLabel = 'Choose date';
187
+ /**
188
+ * The selected date as `YYYY-MM-DD`, or in range mode the range as `YYYY-MM-DD/YYYY-MM-DD`; with
189
+ * the time picker, each date as `YYYY-MM-DDTHH:mm`; with `month-day`, the month and day with no
190
+ * year, as `--MM-DD` (a full date is read too, as that month and day, and rewritten to it). An
191
+ * empty string when nothing is selected.
192
+ */
193
+ this.value = '';
194
+ /**
195
+ * Accessible label for the year dropdown, when `show-dropdowns` is set.
196
+ */
197
+ this.yearLabel = 'Year';
198
+ this.isOpen = false;
199
+ /** The text in the field, which may not be a valid date yet. */
200
+ this.text = '';
201
+ /** Why the typed text wasn't committed: it isn't a date, or it's before `min` or after `max`. */
202
+ this.textError = '';
203
+ /** The day the keyboard is on in the calendar, as `YYYY-MM-DD`. */
204
+ this.activeDate = '';
205
+ /** The first month on view, as the first of the month, `YYYY-MM-DD`. */
206
+ this.viewMonth = '';
207
+ /**
208
+ * The dates being chosen, before Apply: range mode's start and end, or the time picker's date.
209
+ * The end is empty while it's being picked.
210
+ */
211
+ this.draftStart = '';
212
+ this.draftEnd = '';
213
+ /** The time picker's times, as `HH:mm`. */
214
+ this.startTime = DEFAULT_START_TIME;
215
+ this.endTime = DEFAULT_END_TIME;
216
+ /** Range mode: the day under the pointer or keyboard, previewing the end of the range. */
217
+ this.previewDate = '';
218
+ this.onApply = () => {
219
+ const parts = this.draftParts();
220
+ if (!parts)
221
+ return;
222
+ this.commitParts(parts);
223
+ this.closeCalendar(true);
224
+ };
225
+ /** Cancel empties the field with `clearable`, and otherwise leaves the dates as they were. */
226
+ this.onCancel = () => {
227
+ if (this.clearable) {
228
+ this.commitValue('');
229
+ }
230
+ else {
231
+ this.restoreValueAtOpen();
232
+ }
233
+ this.closeCalendar(true);
234
+ };
235
+ this.onPresetClick = (event, preset) => {
236
+ this.draftStart = toIsoDate(preset.start);
237
+ this.draftEnd = toIsoDate(preset.end);
238
+ this.previewDate = '';
239
+ if (this.appliesOnPick && !this.presetByArrow) {
240
+ this.onApply();
241
+ return;
242
+ }
243
+ this.showDate(preset.end, true);
244
+ // Safari doesn't focus a clicked button; keep focus in the dialog for Escape and the Tab trap.
245
+ event.currentTarget.focus();
246
+ };
247
+ /** Arrow keys move between the presets, picking each, as in a radio group. Custom range only takes focus. */
248
+ this.onPresetsKeyDown = (event) => {
249
+ const step = { ArrowDown: 1, ArrowRight: 1, ArrowUp: -1, ArrowLeft: -1 }[event.key];
250
+ const toEdge = { Home: 'first', End: 'last' }[event.key];
251
+ if (!step && !toEdge)
252
+ return;
253
+ const radios = Array.from(event.currentTarget.querySelectorAll('[role="radio"]:not([disabled])'));
254
+ const at = radios.indexOf(event.target);
255
+ const next = toEdge === 'first' ? radios[0] : toEdge === 'last' ? radios[radios.length - 1] : radios[(at + step + radios.length) % radios.length];
256
+ if (!next)
257
+ return;
258
+ event.preventDefault();
259
+ next.focus();
260
+ if (next.classList.contains('pds-datepicker__preset') && next !== radios[radios.length - 1]) {
261
+ // Arrows select a preset without applying it, even with auto-apply, so every preset and
262
+ // Custom range stay reachable; Enter or Space applies it.
263
+ this.presetByArrow = true;
264
+ next.click();
265
+ this.presetByArrow = false;
266
+ }
267
+ };
268
+ /**
269
+ * Keeps a press on the clear button, by mouse or touch, from blurring the field, so the text
270
+ * typed in it isn't committed before the click empties it.
271
+ */
272
+ this.onClearMouseDown = (event) => {
273
+ event.preventDefault();
274
+ };
275
+ /** The field's clear button: empties the field and returns focus to it. */
276
+ this.onClearClick = () => {
277
+ var _a;
278
+ this.commitValue('');
279
+ this.closeCalendar(false);
280
+ void ((_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.setFocus());
281
+ };
282
+ /** "Custom range" points to the calendar, where a range of your own is picked. */
283
+ this.onCustomRangeClick = () => {
284
+ var _a, _b;
285
+ (_b = (_a = this.dialogEl) === null || _a === void 0 ? void 0 : _a.querySelector('[data-date][tabindex="0"]')) === null || _b === void 0 ? void 0 : _b.focus();
286
+ };
287
+ this.onDocumentPointerDown = (event) => {
288
+ var _a;
289
+ const path = event.composedPath();
290
+ if (path.includes(this.el) || (this.portal && path.includes(this.portal.host)))
291
+ return;
292
+ this.closeCalendar(false);
293
+ // A press on a modal's backdrop lands on its <dialog>. That press dismisses the calendar, the
294
+ // top layer; swallow the click it makes, so the modal under it stays open.
295
+ if (((_a = path[0]) === null || _a === void 0 ? void 0 : _a.localName) === 'dialog')
296
+ swallowNextClick();
297
+ };
298
+ /**
299
+ * Reports focus arriving from outside. Focus moving within the datepicker never reaches the host:
300
+ * once retargeted, its target and related target are both the host, so the browser skips it.
301
+ */
302
+ this.onHostFocusIn = (event) => {
303
+ this.focusEntered(event);
304
+ };
305
+ /**
306
+ * The calendar is a modal dialog while focus is in it. Opened by a click in the field, focus stays
307
+ * in the field and the calendar is a plain popup beside it. Set on the element rather than through
308
+ * state: focus often moves in from `componentDidRender`, where a state change doesn't re-render.
309
+ */
310
+ this.onCalendarFocusIn = (event) => {
311
+ var _a, _b;
312
+ this.focusEntered(event);
313
+ (_a = this.dialogEl) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-modal', 'true');
314
+ // The dialog itself takes focus only from a click on a part that can't, as the month heading.
315
+ // Pass it to the active day, so Tab, Shift+Tab and the arrow keys keep working.
316
+ if (event.target === this.dialogEl) {
317
+ (_b = this.dialogEl.querySelector(`[data-date="${this.activeDate}"]`)) === null || _b === void 0 ? void 0 : _b.focus({ preventScroll: true });
318
+ }
319
+ };
320
+ /**
321
+ * The portaled calendar is outside the datepicker, so the host never hears focus leave it: close
322
+ * and report blur from here when focus goes from the calendar to the rest of the page. Checked
323
+ * once focus has settled, with `:focus-within`, rather than from `relatedTarget`, which is
324
+ * retargeted past the datepicker when it sits in another component's shadow root.
325
+ */
326
+ this.onCalendarFocusOut = (event) => {
327
+ var _a, _b;
328
+ const next = event.relatedTarget;
329
+ if (!next || !((_a = this.dialogEl) === null || _a === void 0 ? void 0 : _a.contains(next)))
330
+ (_b = this.dialogEl) === null || _b === void 0 ? void 0 : _b.removeAttribute('aria-modal');
331
+ // Not gated on the calendar still being open: a press outside closes it on pointerdown, before
332
+ // this focusout, and focus has still left the datepicker.
333
+ this.checkFocusLeft(event, next !== null);
334
+ };
335
+ /** Closes the calendar and reports blur when focus leaves the datepicker, as when tabbing out. */
336
+ this.onHostFocusOut = (event) => {
337
+ const next = event.relatedTarget;
338
+ if (next && this.isInside(next))
339
+ return;
340
+ this.checkFocusLeft(event, next !== null);
341
+ };
342
+ // Inner pds-input events stay inside: the datepicker reports its own change, as a date.
343
+ this.stopInnerEvent = (event) => event.stopPropagation();
344
+ /** A click in the field opens the calendar beside it; the button inside toggles it on its own. */
345
+ this.onFieldClick = (event) => {
346
+ var _a, _b;
347
+ // The calendar and clear buttons sit in the field but act on their own.
348
+ const path = event.composedPath();
349
+ if ((this.triggerEl && path.includes(this.triggerEl)) || (this.clearEl && path.includes(this.clearEl)))
350
+ return;
351
+ // A click on the label is forwarded to the input as a second click; skip that one too.
352
+ const label = (_b = (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('label');
353
+ if (label && path.includes(label)) {
354
+ this.skipForwardedClick = true;
355
+ window.setTimeout(() => (this.skipForwardedClick = false));
356
+ return;
357
+ }
358
+ if (this.skipForwardedClick) {
359
+ this.skipForwardedClick = false;
360
+ return;
361
+ }
362
+ // Only the field's box: not its helper or error message.
363
+ const field = this.fieldReference();
364
+ if (field && field !== this.inputEl && !path.includes(field))
365
+ return;
366
+ this.openCalendar(false);
367
+ };
368
+ /** Typing a date or range the calendar can show moves the open calendar to it. */
369
+ this.onTextInput = (event) => {
370
+ var _a, _b;
371
+ event.stopPropagation();
372
+ this.text = String((_a = event.detail.value) !== null && _a !== void 0 ? _a : '');
373
+ if (!this.isOpen)
374
+ return;
375
+ const parts = this.parseText(this.text);
376
+ if (!parts)
377
+ return;
378
+ const [startTime, endTime] = [this.startTime, this.endTime];
379
+ // The times before the typed text changed them, for a pick in the calendar to go back to.
380
+ (_b = this.timesBeforeTyping) !== null && _b !== void 0 ? _b : (this.timesBeforeTyping = [startTime, endTime]);
381
+ this.loadDraft(parts);
382
+ if (this.hasTime) {
383
+ // A time picked in the calendar survives typing that doesn't change the time: text with no
384
+ // time, as a date part-way typed, or with the time as committed.
385
+ const format = this.resolvedFormat;
386
+ const locale = this.resolvedLocale;
387
+ const typed = this.isRange ? parseRangeText(this.text, format, locale) : [parseFieldText(this.text, format, locale)];
388
+ const committed = this.parsedValue();
389
+ const keeps = (i) => { var _a, _b, _c; return !((_a = typed === null || typed === void 0 ? void 0 : typed[i]) === null || _a === void 0 ? void 0 : _a.time) || ((_b = typed[i]) === null || _b === void 0 ? void 0 : _b.time) === ((_c = committed === null || committed === void 0 ? void 0 : committed[i]) === null || _c === void 0 ? void 0 : _c.time); };
390
+ if (keeps(0))
391
+ this.startTime = startTime;
392
+ if (this.isRange && keeps(1))
393
+ this.endTime = endTime;
394
+ }
395
+ this.showDate(parts[parts.length - 1].date);
396
+ };
397
+ this.onTextChange = (event) => {
398
+ event.stopPropagation();
399
+ if (!this.isOpen || !this.hasFooter) {
400
+ this.commitText();
401
+ return;
402
+ }
403
+ // With Apply showing, typed text is pending in the draft while focus stays in the datepicker
404
+ // (the calendar button, or the calendar): Apply commits it, Cancel or Escape drops it, and
405
+ // closing any other way commits it. Checked once focus settles.
406
+ window.setTimeout(() => {
407
+ var _a;
408
+ if (this.isOpen && (this.el.matches(':focus-within') || ((_a = this.portal) === null || _a === void 0 ? void 0 : _a.host.matches(':focus-within'))))
409
+ return;
410
+ this.commitPendingText();
411
+ });
412
+ };
413
+ this.onTextKeyDown = (event) => {
414
+ event.stopPropagation();
415
+ const key = event.detail;
416
+ if (key.altKey && key.key === 'ArrowDown') {
417
+ key.preventDefault();
418
+ if (this.isOpen) {
419
+ this.focusActiveDay = true;
420
+ this.flushActiveDayFocus();
421
+ }
422
+ else {
423
+ this.openCalendar(true);
424
+ }
425
+ }
426
+ else if (key.key === 'Enter' && this.isOpen) {
427
+ // Enter commits and closes. With Apply showing it does what Apply does, committing the
428
+ // pending selection, typed or picked in the calendar. Typed text that isn't a date stays,
429
+ // marked invalid.
430
+ if (!this.hasFooter || (this.text !== this.fieldText() && !this.parseText(this.text))) {
431
+ this.commitText();
432
+ }
433
+ else {
434
+ const parts = this.draftParts();
435
+ if (parts)
436
+ this.commitParts(parts);
437
+ }
438
+ if (!this.textError)
439
+ this.closeCalendar(false);
440
+ }
441
+ else if (key.key === 'Escape' && this.isOpen) {
442
+ // Stop the field's own keydown, or a modal, popover or filter around the datepicker closes
443
+ // too. pdsKeyDown is emitted during that keydown, so it can still be stopped here.
444
+ key.preventDefault();
445
+ key.stopPropagation();
446
+ // Escape dismisses what was typed too, so the next blur doesn't commit it.
447
+ this.restoreValueAtOpen();
448
+ this.closeCalendar(false);
449
+ }
450
+ };
451
+ /**
452
+ * The calendar button's keys. Escape closes an open calendar, as in the field and the calendar,
453
+ * and is stopped there, so a modal or popover around the datepicker stays open. Tab goes into a
454
+ * calendar a click in the field opened: it's portaled to the end of the page, so Tab would
455
+ * otherwise skip past it.
456
+ */
457
+ this.onTriggerKeyDown = (event) => {
458
+ var _a;
459
+ if (!this.isOpen)
460
+ return;
461
+ if (event.key === 'Escape') {
462
+ event.preventDefault();
463
+ event.stopPropagation();
464
+ this.restoreValueAtOpen();
465
+ this.closeCalendar(false);
466
+ return;
467
+ }
468
+ // A calendar that isn't placed and shown, as when the field is scrolled out of view, can't take
469
+ // focus; let Tab move on from the trigger as usual.
470
+ if (event.key !== 'Tab' || event.shiftKey || ((_a = this.dialogEl) === null || _a === void 0 ? void 0 : _a.style.visibility) !== 'visible')
471
+ return;
472
+ event.preventDefault();
473
+ this.focusActiveDay = true;
474
+ this.flushActiveDayFocus();
475
+ };
476
+ this.onTriggerClick = () => {
477
+ if (this.isOpen) {
478
+ this.closeCalendar(true);
479
+ }
480
+ else {
481
+ this.openCalendar(true);
482
+ }
483
+ };
484
+ this.onDialogKeyDown = (event) => {
485
+ if (event.key === 'Escape') {
486
+ event.preventDefault();
487
+ event.stopPropagation();
488
+ // As Cancel: the dates go back to how they were when the calendar opened.
489
+ this.restoreValueAtOpen();
490
+ this.closeCalendar(true);
491
+ }
492
+ else if (event.key === 'Tab') {
493
+ this.trapTab(event);
494
+ }
495
+ };
496
+ this.onGridKeyDown = (event) => {
497
+ const active = parseIsoDate(this.activeDate);
498
+ if (!active)
499
+ return;
500
+ const rtl = getComputedStyle(this.el).direction === 'rtl';
501
+ // Month-day mode's rows start on the 1st, not on a weekday.
502
+ const column = this.monthDay ? (active.getUTCDate() - 1) % 7 : weekdayColumn(active, this.weekStart);
503
+ let next = null;
504
+ switch (event.key) {
505
+ case 'ArrowLeft':
506
+ next = addDays(active, rtl ? 1 : -1);
507
+ break;
508
+ case 'ArrowRight':
509
+ next = addDays(active, rtl ? -1 : 1);
510
+ break;
511
+ case 'ArrowUp':
512
+ next = addDays(active, -7);
513
+ break;
514
+ case 'ArrowDown':
515
+ next = addDays(active, 7);
516
+ break;
517
+ case 'Home':
518
+ next = addDays(active, -column);
519
+ break;
520
+ case 'End': {
521
+ // Month-day mode's rows don't carry into the next month, so End stops at the month's last day.
522
+ const lastColumn = this.monthDay
523
+ ? Math.min(6, daysInMonth(active.getUTCFullYear(), active.getUTCMonth()) - active.getUTCDate() + column)
524
+ : 6;
525
+ next = addDays(active, lastColumn - column);
526
+ break;
527
+ }
528
+ case 'PageUp':
529
+ // Month-day mode has no year to jump by, so Shift+PageUp stays put rather than passing
530
+ // through a real, possibly non-leap year and clamping Feb 29 to the 28th.
531
+ next = event.shiftKey && this.monthDay ? active : addMonths(active, event.shiftKey ? -12 : -1);
532
+ break;
533
+ case 'PageDown':
534
+ next = event.shiftKey && this.monthDay ? active : addMonths(active, event.shiftKey ? 12 : 1);
535
+ break;
536
+ case 'Enter':
537
+ case ' ':
538
+ event.preventDefault();
539
+ this.pickDate(active);
540
+ if (this.hasFooter)
541
+ this.focusActiveDay = true;
542
+ return;
543
+ default:
544
+ return;
545
+ }
546
+ event.preventDefault();
547
+ const target = clampDate(this.inView(next), this.minDate, this.maxDate);
548
+ this.showDate(target);
549
+ if (this.isRange)
550
+ this.previewDate = toIsoDate(target);
551
+ this.focusActiveDay = true;
552
+ };
553
+ // One handler per grid rather than per day, so hovering doesn't rebuild 84 closures each render.
554
+ this.onGridClick = (event) => {
555
+ const date = this.dayFromEvent(event);
556
+ if (date)
557
+ this.pickDate(date);
558
+ };
559
+ this.onGridPointerOver = (event) => {
560
+ if (!this.isRange || !this.draftStart || this.draftEnd)
561
+ return;
562
+ const date = this.dayFromEvent(event);
563
+ const iso = date && toIsoDate(date);
564
+ if (iso && iso !== this.previewDate)
565
+ this.previewDate = iso;
566
+ };
567
+ }
568
+ /**
569
+ * Opens the calendar and moves focus to the selected day, or today.
570
+ */
571
+ async open() {
572
+ this.openCalendar(true);
573
+ }
574
+ /**
575
+ * Closes the calendar.
576
+ */
577
+ async close() {
578
+ this.closeCalendar(false);
579
+ }
580
+ /**
581
+ * Sets focus on the datepicker's text field.
582
+ */
583
+ async setFocus() {
584
+ var _a;
585
+ await ((_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.setFocus());
586
+ }
587
+ valueChanged() {
588
+ var _a;
589
+ // A value set from outside while the calendar is open is what Cancel keeps.
590
+ if (!this.committing)
591
+ this.valueAtOpen = (_a = this.value) !== null && _a !== void 0 ? _a : '';
592
+ this.refreshFromValue();
593
+ }
594
+ /**
595
+ * Props that change how the value reads or what can be picked: refresh the field, and an open
596
+ * calendar, as when a framework sets them after the datepicker loads.
597
+ */
598
+ contextChanged() {
599
+ this.refreshFromValue();
600
+ }
601
+ placementChanged() {
602
+ // Restarted on the next render, from the new placement.
603
+ this.stopPositioning();
604
+ }
605
+ refreshFromValue() {
606
+ var _a;
607
+ this.text = this.fieldText();
608
+ this.textError = '';
609
+ const parts = this.parsedValue();
610
+ // A full date reads as its month and day; keep what's submitted in step with what's shown,
611
+ // rather than passing through whichever spelling was set until the next pick rewrites it.
612
+ if (this.monthDay && parts) {
613
+ const normalized = this.dayValue(parts[0].date);
614
+ if (this.value !== normalized)
615
+ this.value = normalized;
616
+ }
617
+ this.updateFormValue();
618
+ if (!this.isOpen)
619
+ return;
620
+ this.loadDraft(parts);
621
+ const day = (_a = (parts && parts[parts.length - 1].date)) !== null && _a !== void 0 ? _a : this.now;
622
+ this.showDate(clampDate(day, this.minDate, this.maxDate), true);
623
+ }
624
+ requiredChanged() {
625
+ this.updateFormValue();
626
+ }
627
+ componentWillLoad() {
628
+ // Through the same path a later value/context change takes, so an initial full date in
629
+ // month-day mode submits normalized too, not only after the first pick rewrites it.
630
+ this.refreshFromValue();
631
+ }
632
+ connectedCallback() {
633
+ if (this.el.attachInternals && !this.internals) {
634
+ this.internals = this.el.attachInternals();
635
+ }
636
+ }
637
+ componentDidLoad() {
638
+ this.updateFormValue();
639
+ }
640
+ disconnectedCallback() {
641
+ var _a;
642
+ this.closeCalendar(false);
643
+ (_a = this.portal) === null || _a === void 0 ? void 0 : _a.remove();
644
+ }
645
+ componentDidRender() {
646
+ var _a, _b;
647
+ if (!this.isOpen || !this.dialogEl) {
648
+ (_a = this.portal) === null || _a === void 0 ? void 0 : _a.remove();
649
+ return;
650
+ }
651
+ // Rendered here, then moved to the portal. Stencil keeps patching it by reference.
652
+ (_b = this.portal) !== null && _b !== void 0 ? _b : (this.portal = new CalendarPortal(this.el));
653
+ this.portal.mount(this.dialogEl, this.resolvedLocale);
654
+ if (!this.cleanupAutoUpdate)
655
+ this.startPositioning();
656
+ this.flushActiveDayFocus();
657
+ }
658
+ /** Focuses the active day once the calendar is placed: a hidden calendar can't take focus. */
659
+ flushActiveDayFocus() {
660
+ var _a, _b;
661
+ if (!this.focusActiveDay || ((_a = this.dialogEl) === null || _a === void 0 ? void 0 : _a.style.visibility) !== 'visible')
662
+ return;
663
+ this.focusActiveDay = false;
664
+ (_b = this.dialogEl.querySelector(`[data-date="${this.activeDate}"]`)) === null || _b === void 0 ? void 0 : _b.focus();
665
+ }
666
+ /** The id the datepicker's parts are named from: `component-id`, or a generated one. */
667
+ get baseId() {
668
+ return this.componentId || this.fallbackId;
669
+ }
670
+ get resolvedLocale() {
671
+ return supportedLocale(this.locale || resolveLocale(this.el));
672
+ }
673
+ get weekStart() {
674
+ const day = this.firstDayOfWeek;
675
+ if (typeof day === 'number' && Number.isInteger(day) && day >= 0 && day <= 6)
676
+ return day;
677
+ return localeFirstDayOfWeek(this.resolvedLocale);
678
+ }
679
+ get minDate() {
680
+ return this.monthDay ? null : parseIsoDate(this.min);
681
+ }
682
+ get maxDate() {
683
+ return this.monthDay ? null : parseIsoDate(this.max);
684
+ }
685
+ /** Range mode, which month-day mode turns off. */
686
+ get isRange() {
687
+ return this.range && !this.monthDay;
688
+ }
689
+ /** The time picker, which month-day mode turns off. */
690
+ get hasTime() {
691
+ return this.timePicker && !this.monthDay;
692
+ }
693
+ /** Today, or in month-day mode today's month and day. */
694
+ get now() {
695
+ return this.monthDay ? inMonthDayYear(today()) : today();
696
+ }
697
+ /** In month-day mode, a date moved to the mode's year, as when the calendar wraps past December. */
698
+ inView(date) {
699
+ return this.monthDay ? inMonthDayYear(date) : date;
700
+ }
701
+ /** One day as the value holds it: `YYYY-MM-DD`, or `--MM-DD` in month-day mode. */
702
+ dayValue(date) {
703
+ return this.monthDay ? toMonthDay(date) : toIsoDate(date);
704
+ }
705
+ get isInteractive() {
706
+ return !this.disabled && !this.readonly;
707
+ }
708
+ /** How many months the calendar shows side by side. */
709
+ get monthCount() {
710
+ const narrow = typeof window !== 'undefined' && window.innerWidth < TWO_MONTHS_MIN_WIDTH;
711
+ return this.isRange && !narrow ? 2 : 1;
712
+ }
713
+ /** Whether picks apply at once, without the footer: `auto-apply` in range mode, without times. */
714
+ get appliesOnPick() {
715
+ return this.isRange && this.autoApply && !this.hasTime;
716
+ }
717
+ /** Whether picks wait for Apply: for a range, unless it auto-applies, and for a date with a time. */
718
+ get hasFooter() {
719
+ return (this.isRange || this.hasTime) && !this.appliesOnPick;
720
+ }
721
+ get resolvedPresets() {
722
+ return this.isRange ? resolvePresets(this.presets, today()) : [];
723
+ }
724
+ /** The committed value, parsed: one date, or a range's start and end. */
725
+ parsedValue(value = this.value) {
726
+ if (this.isRange) {
727
+ const [start, end, extra] = (value !== null && value !== void 0 ? value : '').split('/');
728
+ const startValue = parseDateTime(start);
729
+ const endValue = parseDateTime(end);
730
+ return extra === undefined && startValue && endValue && compareDateTime(startValue, endValue) <= 0
731
+ ? [startValue, endValue]
732
+ : null;
733
+ }
734
+ if (this.monthDay) {
735
+ const date = parseMonthDay(value);
736
+ return date ? [{ date, time: null }] : null;
737
+ }
738
+ const single = parseDateTime(value);
739
+ return single ? [single] : null;
740
+ }
741
+ /** The format the field shows and reads, with a time when the time picker is on. */
742
+ get resolvedFormat() {
743
+ var _a, _b;
744
+ if (this.monthDay) {
745
+ // A format with a year is the default, or one for full dates: use the locale's month and day.
746
+ const format = (_b = (_a = this.format) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
747
+ return format !== '' && !/YYYY/.test(format.replace(/\[[^\]]*\]/g, '')) ? format : monthDayFormat(this.resolvedLocale);
748
+ }
749
+ return fieldFormat(this.format, this.hasTime, this.hasTime && clockFor(this.resolvedLocale).hour12);
750
+ }
751
+ /** What the field shows for the committed value. */
752
+ fieldText() {
753
+ var _a;
754
+ const parsed = this.parsedValue();
755
+ // A value that isn't a date (or range) shows as it is, and the form reports it invalid.
756
+ if (!parsed)
757
+ return (_a = this.value) !== null && _a !== void 0 ? _a : '';
758
+ return parsed
759
+ .map((part) => toFieldText(this.withTimePicker(part), this.resolvedFormat, this.resolvedLocale))
760
+ .join(RANGE_SEPARATOR);
761
+ }
762
+ /** Drops a time the time picker doesn't show, or adds the default one it does. */
763
+ withTimePicker(value, fallback = DEFAULT_START_TIME) {
764
+ var _a;
765
+ return { date: value.date, time: this.hasTime ? ((_a = value.time) !== null && _a !== void 0 ? _a : fallback) : null };
766
+ }
767
+ get fieldPlaceholder() {
768
+ if (this.placeholder)
769
+ return this.placeholder;
770
+ // Month-day tokens, as `MMMM D`, don't read as a hint; an example date does.
771
+ if (this.monthDay) {
772
+ return formatWith({ date: parseMonthDay('--12-31'), time: null }, this.resolvedFormat, this.resolvedLocale);
773
+ }
774
+ const one = this.resolvedFormat;
775
+ return this.isRange ? `${one}${RANGE_SEPARATOR}${one}` : one;
776
+ }
777
+ /** Loads the committed value into the draft the calendar edits. */
778
+ loadDraft(parts) {
779
+ var _a, _b;
780
+ const [start, end] = parts !== null && parts !== void 0 ? parts : [];
781
+ this.draftStart = start ? toIsoDate(start.date) : '';
782
+ this.draftEnd = this.isRange && end ? toIsoDate(end.date) : '';
783
+ this.startTime = (_a = start === null || start === void 0 ? void 0 : start.time) !== null && _a !== void 0 ? _a : DEFAULT_START_TIME;
784
+ this.endTime = (_b = end === null || end === void 0 ? void 0 : end.time) !== null && _b !== void 0 ? _b : DEFAULT_END_TIME;
785
+ this.previewDate = '';
786
+ }
787
+ /**
788
+ * Opens the calendar. From the button or the keyboard, focus moves to the active day; from a
789
+ * click in the field, it stays there so typing keeps working.
790
+ */
791
+ openCalendar(focusDay) {
792
+ var _a, _b;
793
+ if (!this.isInteractive || this.isOpen)
794
+ return;
795
+ const parts = this.parsedValue();
796
+ this.loadDraft(parts);
797
+ this.valueAtOpen = (_a = this.value) !== null && _a !== void 0 ? _a : '';
798
+ const start = (_b = (parts && parts[parts.length - 1].date)) !== null && _b !== void 0 ? _b : this.now;
799
+ this.showDate(clampDate(start, this.minDate, this.maxDate), true);
800
+ this.focusActiveDay = focusDay;
801
+ this.isOpen = true;
802
+ document.addEventListener('pointerdown', this.onDocumentPointerDown, true);
803
+ }
804
+ closeCalendar(returnFocus) {
805
+ var _a;
806
+ if (!this.isOpen)
807
+ return;
808
+ this.commitPendingText();
809
+ this.timesBeforeTyping = undefined;
810
+ this.isOpen = false;
811
+ this.stopPositioning();
812
+ document.removeEventListener('pointerdown', this.onDocumentPointerDown, true);
813
+ if (returnFocus)
814
+ (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
815
+ }
816
+ /**
817
+ * Makes a day the active one and brings it into view. With two months, a day already on view
818
+ * doesn't move the view; `reset` lines the view up so the day is in the last month shown.
819
+ */
820
+ showDate(day, reset = false) {
821
+ const date = this.inView(day);
822
+ const first = firstOfMonth(date);
823
+ const view = parseIsoDate(this.viewMonth);
824
+ const lastView = view && addMonths(view, this.monthCount - 1);
825
+ if (reset || !view || first < view) {
826
+ this.viewMonth = toIsoDate(reset ? addMonths(first, 1 - this.monthCount) : first);
827
+ }
828
+ else if (lastView && first > lastView) {
829
+ this.viewMonth = toIsoDate(addMonths(first, 1 - this.monthCount));
830
+ }
831
+ this.activeDate = toIsoDate(date);
832
+ }
833
+ pickDate(date) {
834
+ if (isOutOfRange(date, this.minDate, this.maxDate))
835
+ return;
836
+ // A pick in the calendar takes over from typed text, so dismissing afterwards commits nothing,
837
+ // as when nothing was typed.
838
+ this.dropTypedText();
839
+ if (this.isRange) {
840
+ this.pickRangeDay(date);
841
+ }
842
+ else if (this.hasTime) {
843
+ this.draftStart = toIsoDate(date);
844
+ this.activeDate = this.draftStart;
845
+ }
846
+ else {
847
+ this.commitValue(this.dayValue(date));
848
+ this.closeCalendar(true);
849
+ }
850
+ }
851
+ /**
852
+ * The first pick starts a range and the second ends it. A day before the start moves the start,
853
+ * and a pick after a finished range starts a new one.
854
+ */
855
+ pickRangeDay(date) {
856
+ const start = parseIsoDate(this.draftStart);
857
+ const iso = toIsoDate(date);
858
+ if (!start || this.draftEnd) {
859
+ this.draftStart = iso;
860
+ this.draftEnd = '';
861
+ }
862
+ else if (date < start) {
863
+ this.draftStart = iso;
864
+ }
865
+ else {
866
+ this.draftEnd = iso;
867
+ }
868
+ this.previewDate = '';
869
+ this.activeDate = iso;
870
+ if (this.draftEnd && this.appliesOnPick)
871
+ this.onApply();
872
+ }
873
+ /** Sets the value from the user, emitting the change event when it differs. */
874
+ commitValue(next, detail = {}) {
875
+ var _a;
876
+ const changed = next !== ((_a = this.value) !== null && _a !== void 0 ? _a : '');
877
+ this.timesBeforeTyping = undefined;
878
+ this.committing = true;
879
+ this.value = next;
880
+ this.committing = false;
881
+ this.text = this.fieldText();
882
+ this.textError = '';
883
+ // Always, not only when the value changes: fixing a typo back to the same value has to clear
884
+ // the invalid state the form holds, and the value watcher won't fire for an unchanged value.
885
+ this.updateFormValue();
886
+ if (changed)
887
+ this.pdsDatepickerChange.emit(Object.assign({ value: next }, detail));
888
+ }
889
+ /** Commits one date, or a range with its start, end and matching preset. */
890
+ commitParts(parts) {
891
+ if (this.monthDay) {
892
+ this.commitValue(toMonthDay(parts[0].date));
893
+ return;
894
+ }
895
+ if (!this.isRange) {
896
+ this.commitValue(toValueString(parts[0]));
897
+ return;
898
+ }
899
+ const [start, end] = parts;
900
+ const preset = matchPreset(this.resolvedPresets, start.date, end.date);
901
+ this.commitValue(`${toValueString(start)}/${toValueString(end)}`, Object.assign({ start: toValueString(start), end: toValueString(end) }, (preset ? { preset: preset.key } : {})));
902
+ }
903
+ /** The draft as values, or `null` before a start is picked. A lone start is a one-day range. */
904
+ draftParts() {
905
+ var _a;
906
+ const startDate = parseIsoDate(this.draftStart);
907
+ if (!startDate)
908
+ return null;
909
+ const start = this.withTimePicker({ date: startDate, time: this.startTime });
910
+ if (!this.isRange)
911
+ return [start];
912
+ const end = this.withTimePicker({ date: (_a = parseIsoDate(this.draftEnd)) !== null && _a !== void 0 ? _a : startDate, time: this.endTime });
913
+ // An end time before the start time on the same day ends at the start.
914
+ return [start, compareDateTime(end, start) < 0 ? Object.assign(Object.assign({}, end), { time: start.time }) : end];
915
+ }
916
+ /**
917
+ * Goes back to the value from when the calendar opened, as Cancel and Escape do, and drops any
918
+ * typed text still pending. With Apply showing, typed text isn't committed while focus stays in
919
+ * the datepicker, so usually there's only text to drop; without a footer, text typed in the
920
+ * field is committed when it loses focus, so that commit is undone here.
921
+ */
922
+ restoreValueAtOpen() {
923
+ var _a;
924
+ if (this.valueAtOpen === ((_a = this.value) !== null && _a !== void 0 ? _a : '')) {
925
+ // Nothing was committed, so nothing to emit.
926
+ this.dropTypedText();
927
+ return;
928
+ }
929
+ const parts = this.parsedValue(this.valueAtOpen);
930
+ if (parts)
931
+ this.commitParts(parts);
932
+ else
933
+ this.commitValue(this.valueAtOpen);
934
+ }
935
+ /** Whether a node is the datepicker, inside it, or in its portaled calendar. */
936
+ isInside(node) {
937
+ var _a, _b;
938
+ if (!node)
939
+ return false;
940
+ return (node === this.el || this.el.contains(node) || !!((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(node)) || !!((_b = this.portal) === null || _b === void 0 ? void 0 : _b.contains(node)));
941
+ }
942
+ /**
943
+ * Focus arriving in the datepicker or its portaled calendar from outside emits pdsFocus, once.
944
+ * Tracked with a flag rather than `relatedTarget`, which is null or retargeted once the calendar
945
+ * is portaled out of the datepicker.
946
+ */
947
+ focusEntered(event) {
948
+ if (this.hasFocus)
949
+ return;
950
+ this.hasFocus = true;
951
+ this.pdsFocus.emit(event);
952
+ }
953
+ /**
954
+ * Once focus settles, whether it left both the datepicker and its calendar: then pdsBlur, once,
955
+ * and the calendar closes if focus went to another control. Focus that fell to the page, as on a
956
+ * click on a blank area or when a focused control is disabled, leaves the calendar open.
957
+ */
958
+ checkFocusLeft(event, toControl) {
959
+ window.setTimeout(() => {
960
+ var _a;
961
+ if (this.el.matches(':focus-within') || ((_a = this.portal) === null || _a === void 0 ? void 0 : _a.host.matches(':focus-within')))
962
+ return;
963
+ if (toControl)
964
+ this.closeCalendar(false);
965
+ if (!this.hasFocus)
966
+ return;
967
+ this.hasFocus = false;
968
+ this.pdsBlur.emit(event);
969
+ });
970
+ }
971
+ startPositioning() {
972
+ const reference = this.fieldReference();
973
+ const floating = this.dialogEl;
974
+ if (!reference || !floating)
975
+ return;
976
+ this.cleanupAutoUpdate = autoUpdate(reference, floating, () => {
977
+ computePosition(reference, floating, {
978
+ placement: this.placement,
979
+ strategy: 'fixed',
980
+ middleware: [
981
+ offset(4),
982
+ flip({ padding: VIEWPORT_PADDING }),
983
+ // Never larger than the window: the calendar scrolls instead, with its footer pinned. With
984
+ // little room on either side it keeps a usable height and may cover its own field.
985
+ size({
986
+ padding: VIEWPORT_PADDING,
987
+ apply({ availableWidth, availableHeight, elements }) {
988
+ const windowHeight = window.innerHeight - VIEWPORT_PADDING * 2;
989
+ const height = Math.max(availableHeight, Math.min(windowHeight, CALENDAR_MIN_HEIGHT));
990
+ Object.assign(elements.floating.style, {
991
+ maxHeight: `${Math.max(0, height)}px`,
992
+ maxWidth: `${Math.max(0, availableWidth)}px`,
993
+ });
994
+ },
995
+ }),
996
+ shift({ padding: VIEWPORT_PADDING, crossAxis: true }),
997
+ hide(),
998
+ ],
999
+ }).then(({ x, y, middlewareData }) => {
1000
+ var _a;
1001
+ // Hidden once the field scrolls out of view, as behind a modal's header, rather than floating free.
1002
+ const hidden = !!((_a = middlewareData.hide) === null || _a === void 0 ? void 0 : _a.referenceHidden);
1003
+ Object.assign(floating.style, { left: `${x}px`, top: `${y}px`, visibility: hidden ? 'hidden' : 'visible' });
1004
+ this.flushActiveDayFocus();
1005
+ });
1006
+ });
1007
+ }
1008
+ stopPositioning() {
1009
+ var _a;
1010
+ (_a = this.cleanupAutoUpdate) === null || _a === void 0 ? void 0 : _a.call(this);
1011
+ this.cleanupAutoUpdate = undefined;
1012
+ }
1013
+ /** The field's box, so the calendar lines up with it rather than with the label or messages. */
1014
+ fieldReference() {
1015
+ var _a, _b, _c;
1016
+ return (_c = (_b = (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.pds-input__field-wrapper')) !== null && _c !== void 0 ? _c : this.inputEl;
1017
+ }
1018
+ /**
1019
+ * Commits text typed while the calendar was open, when it closes without Apply or Cancel. A
1020
+ * valid date or range commits the draft, which also holds a time picked in the calendar; text
1021
+ * that isn't one is read as typed, so the field shows its error.
1022
+ */
1023
+ commitPendingText() {
1024
+ if (this.text === this.fieldText())
1025
+ return;
1026
+ const parts = this.parseText(this.text) ? this.draftParts() : null;
1027
+ if (parts)
1028
+ this.commitParts(parts);
1029
+ else
1030
+ this.commitText();
1031
+ }
1032
+ /** The typed text as a date or range, or `null` if it isn't one; it may be outside `min` and `max`. */
1033
+ readText(text) {
1034
+ const format = this.resolvedFormat;
1035
+ const locale = this.resolvedLocale;
1036
+ const parts = this.monthDay
1037
+ ? [parseMonthDayText(text, format, locale)]
1038
+ : this.isRange
1039
+ ? parseRangeText(text, format, locale)
1040
+ : [parseFieldText(text, format, locale)];
1041
+ if (!parts || parts.some((part) => !part))
1042
+ return null;
1043
+ return parts.map((part, i) => this.withTimePicker(part, i === 1 ? DEFAULT_END_TIME : DEFAULT_START_TIME));
1044
+ }
1045
+ /** The typed text as a date or range that can be picked, or `null`. */
1046
+ parseText(text) {
1047
+ const parts = this.readText(text);
1048
+ return parts && !this.rangeError(parts) ? parts : null;
1049
+ }
1050
+ /** Whether any of these dates is before `min` or after `max`. */
1051
+ rangeError(parts) {
1052
+ if (this.minDate && parts.some((part) => part.date < this.minDate))
1053
+ return 'min';
1054
+ if (this.maxDate && parts.some((part) => part.date > this.maxDate))
1055
+ return 'max';
1056
+ return '';
1057
+ }
1058
+ /** What's wrong with the committed value, as one set in code: not a date, or out of range. */
1059
+ valueError() {
1060
+ if (!this.value)
1061
+ return '';
1062
+ const parts = this.parsedValue();
1063
+ return parts ? this.rangeError(parts) : 'format';
1064
+ }
1065
+ commitText() {
1066
+ const text = this.text.trim();
1067
+ if (text === '') {
1068
+ this.commitValue('');
1069
+ return;
1070
+ }
1071
+ const parts = this.readText(text);
1072
+ const error = parts ? this.rangeError(parts) : 'format';
1073
+ if (parts && !error) {
1074
+ this.commitParts(parts);
1075
+ }
1076
+ else {
1077
+ this.textError = error;
1078
+ this.updateFormValue();
1079
+ }
1080
+ }
1081
+ /** Whether the month before (`-1`) or after (`1`) the ones on view has a day in range. */
1082
+ canShowMonth(direction) {
1083
+ var _a;
1084
+ const view = (_a = parseIsoDate(this.viewMonth)) !== null && _a !== void 0 ? _a : this.now;
1085
+ if (direction < 0)
1086
+ return !this.minDate || addDays(view, -1) >= this.minDate;
1087
+ return !this.maxDate || addMonths(view, this.monthCount) <= this.maxDate;
1088
+ }
1089
+ showMonth(event, direction) {
1090
+ var _a, _b;
1091
+ const view = (_a = parseIsoDate(this.viewMonth)) !== null && _a !== void 0 ? _a : this.now;
1092
+ const active = (_b = parseIsoDate(this.activeDate)) !== null && _b !== void 0 ? _b : this.now;
1093
+ this.viewMonth = toIsoDate(this.inView(addMonths(view, direction)));
1094
+ this.activeDate = toIsoDate(clampDate(this.inView(addMonths(active, direction)), this.minDate, this.maxDate));
1095
+ if (this.canShowMonth(direction)) {
1096
+ // Safari doesn't focus a clicked button; without this, focus falls to the page and Escape and
1097
+ // the Tab trap stop working.
1098
+ event.currentTarget.focus();
1099
+ }
1100
+ else {
1101
+ // The button is about to be disabled, which would drop focus.
1102
+ this.focusActiveDay = true;
1103
+ }
1104
+ }
1105
+ /** Shows the chosen month in the calendar at `index`, from the month or year dropdown. */
1106
+ jumpTo(index, year, month) {
1107
+ var _a;
1108
+ const target = clampDate(new Date(Date.UTC(year, month, 1)), this.minDate, this.maxDate);
1109
+ this.viewMonth = toIsoDate(addMonths(firstOfMonth(target), -index));
1110
+ const active = (_a = parseIsoDate(this.activeDate)) !== null && _a !== void 0 ? _a : target;
1111
+ const day = Math.min(active.getUTCDate(), new Date(Date.UTC(year, month + 1, 0)).getUTCDate());
1112
+ this.activeDate = toIsoDate(clampDate(new Date(Date.UTC(year, month, day)), this.minDate, this.maxDate));
1113
+ }
1114
+ /**
1115
+ * Drops text typed in the field and not committed, showing the committed value again. pds-input
1116
+ * is set directly: when typing and this land in one frame, the rendered text never changed.
1117
+ */
1118
+ dropTypedText() {
1119
+ // Typed text may have set the times too; they go back with it.
1120
+ if (this.timesBeforeTyping)
1121
+ [this.startTime, this.endTime] = this.timesBeforeTyping;
1122
+ this.timesBeforeTyping = undefined;
1123
+ if (this.text === this.fieldText() && !this.textError)
1124
+ return;
1125
+ this.text = this.fieldText();
1126
+ if (this.inputEl)
1127
+ this.inputEl.value = this.text;
1128
+ this.textError = '';
1129
+ this.updateFormValue();
1130
+ }
1131
+ /** Keeps Tab within the calendar while it's open, as in a modal dialog. */
1132
+ trapTab(event) {
1133
+ var _a, _b, _c, _d;
1134
+ const focusable = Array.from((_b = (_a = this.dialogEl) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button:not([disabled]):not([tabindex="-1"]), select:not([disabled]), [data-date][tabindex="0"]')) !== null && _b !== void 0 ? _b : []);
1135
+ if (focusable.length === 0)
1136
+ return;
1137
+ // The calendar may be in the portal's shadow root, so ask its own root what has focus.
1138
+ const current = (_d = (_c = this.dialogEl) === null || _c === void 0 ? void 0 : _c.getRootNode()) === null || _d === void 0 ? void 0 : _d.activeElement;
1139
+ const first = focusable[0];
1140
+ const last = focusable[focusable.length - 1];
1141
+ if (event.shiftKey && current === first) {
1142
+ event.preventDefault();
1143
+ last.focus();
1144
+ }
1145
+ else if (!event.shiftKey && current === last) {
1146
+ event.preventDefault();
1147
+ first.focus();
1148
+ }
1149
+ }
1150
+ /** The day under an event in a grid, from its cell. */
1151
+ dayFromEvent(event) {
1152
+ var _a, _b;
1153
+ const cell = (_b = (_a = event.target) === null || _a === void 0 ? void 0 : _a.closest) === null || _b === void 0 ? void 0 : _b.call(_a, '[data-date]');
1154
+ return parseIsoDate(cell === null || cell === void 0 ? void 0 : cell.dataset.date);
1155
+ }
1156
+ /**
1157
+ * Submits the value and reports validity to the form, as pds-input does: `required` with no
1158
+ * value, or typed text that isn't a date, blocks submission.
1159
+ */
1160
+ updateFormValue() {
1161
+ var _a, _b, _c, _d;
1162
+ if (isSpecTest() || !((_a = this.internals) === null || _a === void 0 ? void 0 : _a.setFormValue))
1163
+ return;
1164
+ this.internals.setFormValue(this.value || null);
1165
+ if (!this.internals.setValidity)
1166
+ return;
1167
+ const anchor = (_d = (_c = (_b = this.inputEl) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('input')) !== null && _d !== void 0 ? _d : undefined;
1168
+ const error = this.textError || this.valueError();
1169
+ if (error === 'format') {
1170
+ this.internals.setValidity({ badInput: true }, this.invalidDateMessage, anchor);
1171
+ }
1172
+ else if (error === 'min') {
1173
+ this.internals.setValidity({ rangeUnderflow: true }, this.boundMessage(this.minDateMessage, this.minDate), anchor);
1174
+ }
1175
+ else if (error === 'max') {
1176
+ this.internals.setValidity({ rangeOverflow: true }, this.boundMessage(this.maxDateMessage, this.maxDate), anchor);
1177
+ }
1178
+ else if (this.required && !this.value) {
1179
+ this.internals.setValidity({ valueMissing: true }, (anchor === null || anchor === void 0 ? void 0 : anchor.validationMessage) || this.invalidDateMessage, anchor);
1180
+ }
1181
+ else {
1182
+ this.internals.setValidity({});
1183
+ }
1184
+ }
1185
+ /** A min or max message with its date, in the field's format. */
1186
+ boundMessage(template, bound) {
1187
+ const date = bound ? toFieldText({ date: bound, time: null }, this.format || undefined, this.resolvedLocale) : '';
1188
+ return formatMessage(template, { date });
1189
+ }
1190
+ formResetCallback() {
1191
+ this.value = '';
1192
+ // The value may already be empty, so its watcher wouldn't clear typed text.
1193
+ this.text = '';
1194
+ this.textError = '';
1195
+ this.closeCalendar(false);
1196
+ this.updateFormValue();
1197
+ }
1198
+ /** Disabling the datepicker, or making it read-only, while the calendar is open closes it. */
1199
+ interactivityChanged() {
1200
+ if (!this.isInteractive)
1201
+ this.closeCalendar(false);
1202
+ }
1203
+ formDisabledCallback(disabled) {
1204
+ this.disabled = disabled;
1205
+ if (disabled)
1206
+ this.closeCalendar(false);
1207
+ }
1208
+ formStateRestoreCallback(state) {
1209
+ if (typeof state === 'string')
1210
+ this.value = state;
1211
+ }
1212
+ triggerAccessibleName(locale) {
1213
+ const parts = this.parsedValue();
1214
+ if (!parts)
1215
+ return this.triggerLabel;
1216
+ const dates = parts.map((part) => formatDate(part.date, locale, this.monthDay ? MONTH_AND_DAY : FULL_DATE));
1217
+ return `${this.triggerLabel}, ${dates.join(RANGE_SEPARATOR)}`;
1218
+ }
1219
+ /** The range to highlight: the chosen one, or the start to the previewed day while picking the end. */
1220
+ highlightedRange() {
1221
+ const start = parseIsoDate(this.draftStart);
1222
+ const end = parseIsoDate(this.draftEnd);
1223
+ if (!start || end)
1224
+ return [start, end];
1225
+ const preview = parseIsoDate(this.previewDate);
1226
+ return [start, preview && preview > start ? preview : null];
1227
+ }
1228
+ /** The day shown as selected: the draft, which opens as the committed day and follows typing. */
1229
+ selectedDay() {
1230
+ if (this.isRange)
1231
+ return null;
1232
+ return parseIsoDate(this.draftStart);
1233
+ }
1234
+ renderMonthHeading(view, index, locale, headingId) {
1235
+ const heading = formatDate(view, locale, this.monthDay ? { month: 'long' } : { month: 'long', year: 'numeric' });
1236
+ // Only the first month announces itself as it changes; two months move together.
1237
+ const live = index === 0 ? 'polite' : null;
1238
+ if (!this.showDropdowns || this.monthDay) {
1239
+ return (h("div", { class: "pds-datepicker__heading", id: headingId, "aria-live": live }, heading));
1240
+ }
1241
+ const year = view.getUTCFullYear();
1242
+ const month = view.getUTCMonth();
1243
+ const min = this.minDate;
1244
+ const max = this.maxDate;
1245
+ const thisYear = today().getUTCFullYear();
1246
+ const firstYear = min ? min.getUTCFullYear() : thisYear - DROPDOWN_YEARS;
1247
+ const lastYear = max ? max.getUTCFullYear() : thisYear + DROPDOWN_YEARS;
1248
+ const monthName = dateFormatter(locale, { month: 'long' });
1249
+ const yearName = dateFormatter(locale, { year: 'numeric' });
1250
+ return (h("div", { class: "pds-datepicker__dropdowns" }, h("span", { class: "visually-hidden", id: headingId, "aria-live": live }, heading), h("span", { class: "pds-datepicker__select-wrap" }, h("select", { class: "pds-datepicker__heading-select", "aria-label": this.monthLabel, onChange: (event) => this.jumpTo(index, year, Number(event.target.value)) }, Array.from({ length: 12 }, (_, m) => {
1251
+ const outside = (!!min && new Date(Date.UTC(year, m + 1, 0)) < min) || (!!max && new Date(Date.UTC(year, m, 1)) > max);
1252
+ return (h("option", { value: String(m), selected: m === month, disabled: outside }, monthName.format(new Date(Date.UTC(year, m, 1)))));
1253
+ })), h("pds-icon", { class: "pds-datepicker__select-caret", icon: caretDown, size: "small", "aria-hidden": "true" })), h("span", { class: "pds-datepicker__select-wrap" }, h("select", { class: "pds-datepicker__heading-select", "aria-label": this.yearLabel, onChange: (event) => this.jumpTo(index, Number(event.target.value), month) }, Array.from({ length: Math.max(lastYear, year) - Math.min(firstYear, year) + 1 }, (_, i) => {
1254
+ const y = Math.min(firstYear, year) + i;
1255
+ return (h("option", { value: String(y), selected: y === year }, yearName.format(new Date(Date.UTC(y, 0, 1)))));
1256
+ })), h("pds-icon", { class: "pds-datepicker__select-caret", icon: caretDown, size: "small", "aria-hidden": "true" }))));
1257
+ }
1258
+ renderMonth(view, index, locale) {
1259
+ const year = view.getUTCFullYear();
1260
+ const month = view.getUTCMonth();
1261
+ const min = this.minDate;
1262
+ const max = this.maxDate;
1263
+ const selected = this.selectedDay();
1264
+ const [rangeStart, rangeEnd] = this.isRange ? this.highlightedRange() : [null, null];
1265
+ const now = this.now;
1266
+ const fullDate = dateFormatter(locale, this.monthDay ? MONTH_AND_DAY : FULL_DATE);
1267
+ const dayNumber = dateFormatter(locale, { day: 'numeric' });
1268
+ const headingId = `${this.baseId}-calendar-heading-${index}`;
1269
+ const isFirst = index === 0;
1270
+ const isLast = index === this.monthCount - 1;
1271
+ return (h("div", { class: "pds-datepicker__month" }, h("div", { class: "pds-datepicker__header" }, isFirst ? (h("button", { type: "button", class: "pds-datepicker__nav pds-datepicker__nav--previous", "aria-label": this.previousMonthLabel, disabled: !this.canShowMonth(-1), onClick: (event) => this.showMonth(event, -1) }, h("pds-icon", { icon: caretLeft, "aria-hidden": "true" }))) : (h("span", { class: "pds-datepicker__nav-spacer" })), this.renderMonthHeading(view, index, locale, headingId), isLast ? (h("button", { type: "button", class: "pds-datepicker__nav pds-datepicker__nav--next", "aria-label": this.nextMonthLabel, disabled: !this.canShowMonth(1), onClick: (event) => this.showMonth(event, 1) }, h("pds-icon", { icon: caretRight, "aria-hidden": "true" }))) : (h("span", { class: "pds-datepicker__nav-spacer" }))), h("table", { class: "pds-datepicker__grid", role: "grid", "aria-labelledby": headingId, "aria-multiselectable": this.isRange ? 'true' : null, onKeyDown: this.onGridKeyDown, onClick: this.onGridClick, onPointerOver: this.onGridPointerOver }, !this.monthDay && (h("thead", null, h("tr", null, weekdayNames(locale, this.weekStart).map((name) => (h("th", { scope: "col", class: "pds-datepicker__weekday" }, h("span", { "aria-hidden": "true" }, name.short), h("span", { class: "visually-hidden" }, name.long))))))), h("tbody", null, (this.monthDay ? monthDayRows(month) : monthWeeks(year, month, this.weekStart)).map((week) => (h("tr", null, week.map((date, column) => {
1272
+ if (!date)
1273
+ return h("td", { class: "pds-datepicker__day pds-datepicker__day--empty" });
1274
+ const iso = toIsoDate(date);
1275
+ const unavailable = isOutOfRange(date, min, max);
1276
+ const isEndpoint = isSameDay(date, rangeStart) || isSameDay(date, rangeEnd);
1277
+ // A range's ends are capped on their outer side; a lone day stays round.
1278
+ const spansDays = !!rangeStart && !!rangeEnd && !isSameDay(rangeStart, rangeEnd);
1279
+ const inRange = !!rangeStart && !!rangeEnd && date >= rangeStart && date <= rangeEnd;
1280
+ const isSelected = isSameDay(date, selected) || isEndpoint || inRange;
1281
+ const isToday = isSameDay(date, now);
1282
+ return (h("td", { class: {
1283
+ 'pds-datepicker__day': true,
1284
+ 'pds-datepicker__day--selected': isSameDay(date, selected) || isEndpoint,
1285
+ 'pds-datepicker__day--in-range': inRange && !isEndpoint,
1286
+ 'pds-datepicker__day--range-start': spansDays && isSameDay(date, rangeStart),
1287
+ 'pds-datepicker__day--range-end': spansDays && isSameDay(date, rangeEnd),
1288
+ 'pds-datepicker__day--row-start': inRange && column === 0,
1289
+ 'pds-datepicker__day--row-end': inRange && column === 6,
1290
+ 'pds-datepicker__day--today': isToday,
1291
+ 'pds-datepicker__day--disabled': unavailable,
1292
+ }, "data-date": iso, tabindex: iso === this.activeDate ? '0' : '-1', "aria-label": fullDate.format(date), "aria-selected": isSelected ? 'true' : null, "aria-current": isToday ? 'date' : null, "aria-disabled": unavailable ? 'true' : null }, dayNumberText(dayNumber, date)));
1293
+ })))))), this.hasTime && this.timesUnderMonth(index).map((which) => this.renderTime(which, locale))));
1294
+ }
1295
+ /**
1296
+ * The time pickers under a month: the start time under the first and the end time under the
1297
+ * second, or both under the one month a narrow range shows.
1298
+ */
1299
+ timesUnderMonth(index) {
1300
+ if (!this.isRange)
1301
+ return ['start'];
1302
+ if (this.monthCount === 1)
1303
+ return ['start', 'end'];
1304
+ return [index === 0 ? 'start' : 'end'];
1305
+ }
1306
+ /** Hour, minute and (on a 12-hour clock) AM/PM pickers for the start or end time. */
1307
+ renderTime(which, locale) {
1308
+ var _a, _b, _c;
1309
+ // The end shows the time Apply saves: on one day, an end before the start ends at the start.
1310
+ const time = which === 'start' ? this.startTime : (_c = (_b = (_a = this.draftParts()) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.time) !== null && _c !== void 0 ? _c : this.endTime;
1311
+ const [hours, minutes] = splitTime(time);
1312
+ const clock = clockFor(locale);
1313
+ const step = Math.max(1, Math.min(60, Math.floor(this.minuteIncrement) || 1));
1314
+ // Not `h`: that's the JSX factory.
1315
+ const setTime = (hour, minute) => {
1316
+ const time = joinTime(hour, minute);
1317
+ if (which === 'start')
1318
+ this.startTime = time;
1319
+ else
1320
+ this.endTime = time;
1321
+ // A time chosen here after typing stays when a pick later drops the typed text.
1322
+ if (this.timesBeforeTyping)
1323
+ this.timesBeforeTyping[which === 'start' ? 0 : 1] = time;
1324
+ };
1325
+ const groupLabel = !this.isRange ? this.timeLabel : which === 'start' ? this.startTimeLabel : this.endTimeLabel;
1326
+ const isPm = hours >= 12;
1327
+ const hourOptions = clock.hour12 ? Array.from({ length: 12 }, (_, i) => i + 1) : Array.from({ length: 24 }, (_, i) => i);
1328
+ const shownHour = clock.hour12 ? hours % 12 || 12 : hours;
1329
+ const minuteOptions = Array.from({ length: Math.ceil(60 / step) }, (_, i) => i * step);
1330
+ // A time off the step stays listed, so the select never shows a different minute than the value.
1331
+ if (!minuteOptions.includes(minutes))
1332
+ minuteOptions.push(minutes);
1333
+ minuteOptions.sort((a, b) => a - b);
1334
+ const labelId = `${this.baseId}-time-${which}`;
1335
+ return (h("div", { class: "pds-datepicker__time", role: "group", "aria-labelledby": labelId }, h("span", { class: "pds-datepicker__time-label", id: labelId }, groupLabel), h("span", { class: "pds-datepicker__time-field" }, h("select", { class: "pds-datepicker__time-select", "aria-label": this.hourLabel, onChange: (event) => {
1336
+ const picked = Number(event.target.value);
1337
+ setTime(clock.hour12 ? (picked % 12) + (isPm ? 12 : 0) : picked, minutes);
1338
+ } }, hourOptions.map((hour) => (h("option", { value: String(hour), selected: hour === shownHour }, clock.hour12 ? String(hour) : String(hour).padStart(2, '0'))))), h("span", { class: "pds-datepicker__time-separator", "aria-hidden": "true" }, ":"), h("select", { class: "pds-datepicker__time-select", "aria-label": this.minuteLabel, onChange: (event) => setTime(hours, Number(event.target.value)) }, minuteOptions.map((m) => (h("option", { value: String(m), selected: m === minutes }, String(m).padStart(2, '0'))))), clock.hour12 && (h("select", { class: "pds-datepicker__time-select pds-datepicker__time-select--period", "aria-label": this.periodLabel, onChange: (event) => {
1339
+ const pm = event.target.value === 'pm';
1340
+ setTime((hours % 12) + (pm ? 12 : 0), minutes);
1341
+ } }, h("option", { value: "am", selected: !isPm }, clock.am), h("option", { value: "pm", selected: isPm }, clock.pm))))));
1342
+ }
1343
+ renderPresets() {
1344
+ var _a;
1345
+ const presets = this.resolvedPresets;
1346
+ if (presets.length === 0)
1347
+ return null;
1348
+ const current = matchPreset(presets, parseIsoDate(this.draftStart), parseIsoDate(this.draftEnd));
1349
+ const isCustom = !current && !!this.draftStart;
1350
+ // One choice of range: a radio group, with one Tab stop on the checked choice and arrows between.
1351
+ // A disabled preset can't take focus, so the stop moves to the first one that can, or Custom range.
1352
+ const canPick = (preset) => presetInRange(preset, this.minDate, this.maxDate);
1353
+ const tabStop = current && canPick(current) ? current : isCustom ? 'custom' : (_a = presets.find(canPick)) !== null && _a !== void 0 ? _a : 'custom';
1354
+ return (h("div", { class: "pds-datepicker__presets-column" }, h("ul", { class: "pds-datepicker__presets", part: "presets", role: "radiogroup", "aria-label": this.presetsLabel, onKeyDown: this.onPresetsKeyDown }, presets.map((preset) => {
1355
+ const isCurrent = preset === current;
1356
+ return (h("li", { role: "none" }, h("button", { type: "button", role: "radio", class: { 'pds-datepicker__preset': true, 'pds-datepicker__preset--selected': isCurrent }, "aria-checked": isCurrent ? 'true' : 'false', tabindex: preset === tabStop ? '0' : '-1', disabled: !presetInRange(preset, this.minDate, this.maxDate), onClick: (event) => this.onPresetClick(event, preset) }, h("span", null, preset.label), isCurrent && h("pds-icon", { icon: check, "aria-hidden": "true" }))));
1357
+ }), h("li", { role: "none" }, h("button", { type: "button", role: "radio", class: { 'pds-datepicker__preset': true, 'pds-datepicker__preset--selected': isCustom }, "aria-checked": isCustom ? 'true' : 'false', tabindex: tabStop === 'custom' ? '0' : '-1', onClick: this.onCustomRangeClick }, h("span", null, this.customRangeLabel), isCustom && h("pds-icon", { icon: check, "aria-hidden": "true" }))))));
1358
+ }
1359
+ /** What Apply would set, in the field's format: shown in the footer, and announced as it changes. */
1360
+ selectionText() {
1361
+ const parts = this.draftParts();
1362
+ if (!parts)
1363
+ return '';
1364
+ const format = this.resolvedFormat;
1365
+ const locale = this.resolvedLocale;
1366
+ if (this.isRange && !this.draftEnd)
1367
+ return `${toFieldText(parts[0], format, locale)}${RANGE_SEPARATOR}`;
1368
+ return parts.map((part) => toFieldText(part, format, locale)).join(RANGE_SEPARATOR);
1369
+ }
1370
+ renderFooter() {
1371
+ const parts = this.draftParts();
1372
+ const selection = this.selectionText();
1373
+ return (h("div", { class: "pds-datepicker__footer" }, h("span", { class: "pds-datepicker__selection", "aria-live": "polite" }, selection), h("button", { type: "button", class: "pds-datepicker__action", onClick: this.onCancel }, this.clearable ? this.clearLabel : this.cancelLabel), h("button", { type: "button", class: "pds-datepicker__action pds-datepicker__action--primary", disabled: !parts, onClick: this.onApply }, this.applyLabel)));
1374
+ }
1375
+ renderCalendar(locale) {
1376
+ var _a;
1377
+ const view = (_a = parseIsoDate(this.viewMonth)) !== null && _a !== void 0 ? _a : this.now;
1378
+ const months = Array.from({ length: this.monthCount }, (_, i) => addMonths(view, i));
1379
+ return (h("div", { class: { 'pds-datepicker__dialog': true, 'pds-datepicker__dialog--range': this.isRange }, id: `${this.baseId}-calendar`, role: "dialog",
1380
+ // A click on a part that can't take focus, as the month heading, focuses the dialog
1381
+ // rather than dropping focus to the page, which would report blur mid-selection.
1382
+ tabindex: "-1", "aria-labelledby": this.isRange ? null : `${this.baseId}-calendar-heading-0`, "aria-label": this.isRange ? this.label || this.triggerLabel : null, part: "calendar", ref: (el) => (this.dialogEl = el), onKeyDown: this.onDialogKeyDown, onFocusin: this.onCalendarFocusIn, onFocusout: this.onCalendarFocusOut }, this.isRange && this.renderPresets(), h("div", { class: "pds-datepicker__panel" }, h("div", { class: "pds-datepicker__months" }, months.map((month, index) => this.renderMonth(month, index, locale))), this.hasFooter && this.renderFooter(), this.appliesOnPick && (
1383
+ // With no footer, still announce the start once it's picked, so it's clear an end comes next.
1384
+ h("span", { class: "visually-hidden", "aria-live": "polite" }, this.selectionText())))));
1385
+ }
1386
+ render() {
1387
+ const locale = this.resolvedLocale;
1388
+ return (h(Host, { key: 'd40bce6136eca084b23d38d995010592bfd702bd', class: { 'pds-datepicker--range': this.isRange, 'pds-datepicker--time': this.hasTime }, "full-width": this.fullWidth ? 'true' : null, onFocusin: this.onHostFocusIn, onFocusout: this.onHostFocusOut }, h("pds-input", { key: 'a047df90ca3e013a2eeb1f88e8fb033b24754f0d', ref: (el) => (this.inputEl = el), componentId: this.baseId, label: this.label, hideLabel: this.hideLabel, helperMessage: this.helperMessage, errorMessage: this.errorMessage, invalid: this.invalid || !!this.textError || !!this.valueError(), disabled: this.disabled, readonly: this.readonly, required: this.required, placeholder: this.fieldPlaceholder, fullWidth: this.fullWidth, autocomplete: "off", value: this.text, onClick: this.onFieldClick, onPdsInput: this.onTextInput, onPdsChange: this.onTextChange, onPdsKeyDown: this.onTextKeyDown, onPdsFocus: this.stopInnerEvent, onPdsBlur: this.stopInnerEvent }, this.clearable && !!this.value && this.isInteractive && (h("button", {
1389
+ // Keyed, as is the calendar button: when Clear appears after a pick, the focused
1390
+ // calendar button must stay that button rather than be reused as Clear.
1391
+ key: "clear", slot: "suffix", type: "button", class: "pds-datepicker__clear", ref: (el) => (this.clearEl = el), "aria-label": this.label ? `${this.clearLabel} ${this.label}` : this.clearLabel,
1392
+ // Out of the tab order, as a native search field's clear button is: Tab from a field
1393
+ // just emptied would land on it as the change removes it, dropping focus to the page.
1394
+ tabindex: "-1", onMouseDown: this.onClearMouseDown, onClick: this.onClearClick
1395
+ }, h("pds-icon", { key: '934fc6303da1dca04cb073c5875a0f9fc286fdd1', icon: remove, "aria-hidden": "true" }))), h("button", { key: "trigger", slot: "suffix", type: "button", class: "pds-datepicker__trigger", ref: (el) => (this.triggerEl = el), "aria-label": this.triggerAccessibleName(locale), "aria-haspopup": "dialog", "aria-expanded": this.isOpen ? 'true' : 'false', disabled: !this.isInteractive, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown }, h("pds-icon", { key: '75ab4fc79ce9f95e7ee6555763166d800a2f1135', icon: calendarSimple, "aria-hidden": "true" }))), this.isOpen && this.renderCalendar(locale)));
1396
+ }
1397
+ static get is() { return "pds-datepicker"; }
1398
+ static get encapsulation() { return "shadow"; }
1399
+ static get formAssociated() { return true; }
1400
+ static get originalStyleUrls() {
1401
+ return {
1402
+ "$": ["pds-datepicker.scss"]
1403
+ };
1404
+ }
1405
+ static get styleUrls() {
1406
+ return {
1407
+ "$": ["pds-datepicker.css"]
1408
+ };
1409
+ }
1410
+ static get properties() {
1411
+ return {
1412
+ "applyLabel": {
1413
+ "type": "string",
1414
+ "mutable": false,
1415
+ "complexType": {
1416
+ "original": "string",
1417
+ "resolved": "string",
1418
+ "references": {}
1419
+ },
1420
+ "required": false,
1421
+ "optional": false,
1422
+ "docs": {
1423
+ "tags": [],
1424
+ "text": "Accessible label for the button that applies the chosen dates."
1425
+ },
1426
+ "getter": false,
1427
+ "setter": false,
1428
+ "reflect": false,
1429
+ "attribute": "apply-label",
1430
+ "defaultValue": "'Apply'"
1431
+ },
1432
+ "autoApply": {
1433
+ "type": "boolean",
1434
+ "mutable": false,
1435
+ "complexType": {
1436
+ "original": "boolean",
1437
+ "resolved": "boolean",
1438
+ "references": {}
1439
+ },
1440
+ "required": false,
1441
+ "optional": false,
1442
+ "docs": {
1443
+ "tags": [],
1444
+ "text": "In range mode, applies the range as soon as its end or a preset is picked, without the Apply and\nCancel buttons. Has no effect with the time picker, whose times still need Apply."
1445
+ },
1446
+ "getter": false,
1447
+ "setter": false,
1448
+ "reflect": false,
1449
+ "attribute": "auto-apply",
1450
+ "defaultValue": "false"
1451
+ },
1452
+ "cancelLabel": {
1453
+ "type": "string",
1454
+ "mutable": false,
1455
+ "complexType": {
1456
+ "original": "string",
1457
+ "resolved": "string",
1458
+ "references": {}
1459
+ },
1460
+ "required": false,
1461
+ "optional": false,
1462
+ "docs": {
1463
+ "tags": [],
1464
+ "text": "Accessible label for the button that closes the calendar without changing the dates."
1465
+ },
1466
+ "getter": false,
1467
+ "setter": false,
1468
+ "reflect": false,
1469
+ "attribute": "cancel-label",
1470
+ "defaultValue": "'Cancel'"
1471
+ },
1472
+ "clearable": {
1473
+ "type": "boolean",
1474
+ "mutable": false,
1475
+ "complexType": {
1476
+ "original": "boolean",
1477
+ "resolved": "boolean",
1478
+ "references": {}
1479
+ },
1480
+ "required": false,
1481
+ "optional": false,
1482
+ "docs": {
1483
+ "tags": [],
1484
+ "text": "Adds a button in the field that empties it, shown while there's a value. Where Apply and Cancel\nbuttons show, Clear also takes the place of Cancel."
1485
+ },
1486
+ "getter": false,
1487
+ "setter": false,
1488
+ "reflect": false,
1489
+ "attribute": "clearable",
1490
+ "defaultValue": "false"
1491
+ },
1492
+ "clearLabel": {
1493
+ "type": "string",
1494
+ "mutable": false,
1495
+ "complexType": {
1496
+ "original": "string",
1497
+ "resolved": "string",
1498
+ "references": {}
1499
+ },
1500
+ "required": false,
1501
+ "optional": false,
1502
+ "docs": {
1503
+ "tags": [],
1504
+ "text": "Accessible label for the button that empties the field, when `clearable` is set."
1505
+ },
1506
+ "getter": false,
1507
+ "setter": false,
1508
+ "reflect": false,
1509
+ "attribute": "clear-label",
1510
+ "defaultValue": "'Clear'"
1511
+ },
1512
+ "componentId": {
1513
+ "type": "string",
1514
+ "mutable": false,
1515
+ "complexType": {
1516
+ "original": "string",
1517
+ "resolved": "string",
1518
+ "references": {}
1519
+ },
1520
+ "required": true,
1521
+ "optional": false,
1522
+ "docs": {
1523
+ "tags": [],
1524
+ "text": "A unique identifier used for the underlying component `id` attribute."
1525
+ },
1526
+ "getter": false,
1527
+ "setter": false,
1528
+ "reflect": false,
1529
+ "attribute": "component-id"
1530
+ },
1531
+ "customRangeLabel": {
1532
+ "type": "string",
1533
+ "mutable": false,
1534
+ "complexType": {
1535
+ "original": "string",
1536
+ "resolved": "string",
1537
+ "references": {}
1538
+ },
1539
+ "required": false,
1540
+ "optional": false,
1541
+ "docs": {
1542
+ "tags": [],
1543
+ "text": "The label of the presets entry that stands for a range of your own. Range mode with presets only."
1544
+ },
1545
+ "getter": false,
1546
+ "setter": false,
1547
+ "reflect": false,
1548
+ "attribute": "custom-range-label",
1549
+ "defaultValue": "'Custom range'"
1550
+ },
1551
+ "disabled": {
1552
+ "type": "boolean",
1553
+ "mutable": false,
1554
+ "complexType": {
1555
+ "original": "boolean",
1556
+ "resolved": "boolean",
1557
+ "references": {}
1558
+ },
1559
+ "required": false,
1560
+ "optional": true,
1561
+ "docs": {
1562
+ "tags": [],
1563
+ "text": "Determines whether or not the datepicker is disabled."
1564
+ },
1565
+ "getter": false,
1566
+ "setter": false,
1567
+ "reflect": false,
1568
+ "attribute": "disabled"
1569
+ },
1570
+ "endTimeLabel": {
1571
+ "type": "string",
1572
+ "mutable": false,
1573
+ "complexType": {
1574
+ "original": "string",
1575
+ "resolved": "string",
1576
+ "references": {}
1577
+ },
1578
+ "required": false,
1579
+ "optional": false,
1580
+ "docs": {
1581
+ "tags": [],
1582
+ "text": "Accessible label for the end time, in range mode with the time picker."
1583
+ },
1584
+ "getter": false,
1585
+ "setter": false,
1586
+ "reflect": false,
1587
+ "attribute": "end-time-label",
1588
+ "defaultValue": "'End time'"
1589
+ },
1590
+ "errorMessage": {
1591
+ "type": "string",
1592
+ "mutable": false,
1593
+ "complexType": {
1594
+ "original": "string",
1595
+ "resolved": "string",
1596
+ "references": {}
1597
+ },
1598
+ "required": false,
1599
+ "optional": true,
1600
+ "docs": {
1601
+ "tags": [],
1602
+ "text": "Specifies the error message and provides an error-themed treatment to the field."
1603
+ },
1604
+ "getter": false,
1605
+ "setter": false,
1606
+ "reflect": false,
1607
+ "attribute": "error-message"
1608
+ },
1609
+ "firstDayOfWeek": {
1610
+ "type": "number",
1611
+ "mutable": false,
1612
+ "complexType": {
1613
+ "original": "number",
1614
+ "resolved": "number",
1615
+ "references": {}
1616
+ },
1617
+ "required": false,
1618
+ "optional": true,
1619
+ "docs": {
1620
+ "tags": [],
1621
+ "text": "The first day of the week in the calendar, from `0` (Sunday) to `6` (Saturday). Defaults to the\nlocale's first day where the browser reports it, otherwise Sunday."
1622
+ },
1623
+ "getter": false,
1624
+ "setter": false,
1625
+ "reflect": false,
1626
+ "attribute": "first-day-of-week"
1627
+ },
1628
+ "format": {
1629
+ "type": "string",
1630
+ "mutable": false,
1631
+ "complexType": {
1632
+ "original": "string",
1633
+ "resolved": "string",
1634
+ "references": {}
1635
+ },
1636
+ "required": false,
1637
+ "optional": false,
1638
+ "docs": {
1639
+ "tags": [],
1640
+ "text": "How the field shows dates and reads typed ones, as tokens: `YYYY`, `MMMM` or `MMM` (month name,\nin the locale), `MM` or `M` (month), `DD` or `D` (day), and with the time picker `HH` or `H`\n(24-hour), `hh` or `h` (12-hour), `mm` and `A` (AM/PM, in the locale), as `MM/DD/YYYY`,\n`MMM D, YYYY` or `D.M.YYYY h:mm A`. Put literal text in brackets, as `[Due] D/M/YYYY`. The value\nand the change event stay ISO (`YYYY-MM-DD`; `--MM-DD` with `month-day`), whatever the format.\nTyped ISO dates are always accepted too. With `month-day`, a format without `YYYY` is taken as a\nmonth-and-day format and used as given, rather than reordered for the locale; leave it unset to\nfollow the locale instead."
1641
+ },
1642
+ "getter": false,
1643
+ "setter": false,
1644
+ "reflect": false,
1645
+ "attribute": "format",
1646
+ "defaultValue": "'YYYY-MM-DD'"
1647
+ },
1648
+ "fullWidth": {
1649
+ "type": "boolean",
1650
+ "mutable": false,
1651
+ "complexType": {
1652
+ "original": "boolean",
1653
+ "resolved": "boolean",
1654
+ "references": {}
1655
+ },
1656
+ "required": false,
1657
+ "optional": true,
1658
+ "docs": {
1659
+ "tags": [],
1660
+ "text": "Determines whether or not the datepicker takes full width of its container."
1661
+ },
1662
+ "getter": false,
1663
+ "setter": false,
1664
+ "reflect": false,
1665
+ "attribute": "full-width"
1666
+ },
1667
+ "helperMessage": {
1668
+ "type": "string",
1669
+ "mutable": false,
1670
+ "complexType": {
1671
+ "original": "string",
1672
+ "resolved": "string",
1673
+ "references": {}
1674
+ },
1675
+ "required": false,
1676
+ "optional": true,
1677
+ "docs": {
1678
+ "tags": [],
1679
+ "text": "Displays a message or hint below the field."
1680
+ },
1681
+ "getter": false,
1682
+ "setter": false,
1683
+ "reflect": false,
1684
+ "attribute": "helper-message"
1685
+ },
1686
+ "hideLabel": {
1687
+ "type": "boolean",
1688
+ "mutable": false,
1689
+ "complexType": {
1690
+ "original": "boolean",
1691
+ "resolved": "boolean",
1692
+ "references": {}
1693
+ },
1694
+ "required": false,
1695
+ "optional": false,
1696
+ "docs": {
1697
+ "tags": [],
1698
+ "text": "Visually hides the label text for instances where only the field should be displayed. Label remains accessible to assistive technology such as screen readers."
1699
+ },
1700
+ "getter": false,
1701
+ "setter": false,
1702
+ "reflect": false,
1703
+ "attribute": "hide-label"
1704
+ },
1705
+ "hourLabel": {
1706
+ "type": "string",
1707
+ "mutable": false,
1708
+ "complexType": {
1709
+ "original": "string",
1710
+ "resolved": "string",
1711
+ "references": {}
1712
+ },
1713
+ "required": false,
1714
+ "optional": false,
1715
+ "docs": {
1716
+ "tags": [],
1717
+ "text": "Accessible label for the hour in the time picker."
1718
+ },
1719
+ "getter": false,
1720
+ "setter": false,
1721
+ "reflect": false,
1722
+ "attribute": "hour-label",
1723
+ "defaultValue": "'Hour'"
1724
+ },
1725
+ "invalid": {
1726
+ "type": "boolean",
1727
+ "mutable": false,
1728
+ "complexType": {
1729
+ "original": "boolean",
1730
+ "resolved": "boolean",
1731
+ "references": {}
1732
+ },
1733
+ "required": false,
1734
+ "optional": true,
1735
+ "docs": {
1736
+ "tags": [],
1737
+ "text": "Determines whether or not the datepicker is invalid or throws an error."
1738
+ },
1739
+ "getter": false,
1740
+ "setter": false,
1741
+ "reflect": false,
1742
+ "attribute": "invalid"
1743
+ },
1744
+ "invalidDateMessage": {
1745
+ "type": "string",
1746
+ "mutable": false,
1747
+ "complexType": {
1748
+ "original": "string",
1749
+ "resolved": "string",
1750
+ "references": {}
1751
+ },
1752
+ "required": false,
1753
+ "optional": false,
1754
+ "docs": {
1755
+ "tags": [],
1756
+ "text": "The validation message the form reports when the typed text isn't a date that can be picked."
1757
+ },
1758
+ "getter": false,
1759
+ "setter": false,
1760
+ "reflect": false,
1761
+ "attribute": "invalid-date-message",
1762
+ "defaultValue": "'Enter a date in the format shown.'"
1763
+ },
1764
+ "maxDateMessage": {
1765
+ "type": "string",
1766
+ "mutable": false,
1767
+ "complexType": {
1768
+ "original": "string",
1769
+ "resolved": "string",
1770
+ "references": {}
1771
+ },
1772
+ "required": false,
1773
+ "optional": false,
1774
+ "docs": {
1775
+ "tags": [],
1776
+ "text": "The validation message the form reports for a date after `max`. `{date}` is replaced by the\nlatest date, in the field's format."
1777
+ },
1778
+ "getter": false,
1779
+ "setter": false,
1780
+ "reflect": false,
1781
+ "attribute": "max-date-message",
1782
+ "defaultValue": "'Choose {date} or earlier.'"
1783
+ },
1784
+ "minDateMessage": {
1785
+ "type": "string",
1786
+ "mutable": false,
1787
+ "complexType": {
1788
+ "original": "string",
1789
+ "resolved": "string",
1790
+ "references": {}
1791
+ },
1792
+ "required": false,
1793
+ "optional": false,
1794
+ "docs": {
1795
+ "tags": [],
1796
+ "text": "The validation message the form reports for a date before `min`. `{date}` is replaced by the\nearliest date, in the field's format."
1797
+ },
1798
+ "getter": false,
1799
+ "setter": false,
1800
+ "reflect": false,
1801
+ "attribute": "min-date-message",
1802
+ "defaultValue": "'Choose {date} or later.'"
1803
+ },
1804
+ "label": {
1805
+ "type": "string",
1806
+ "mutable": false,
1807
+ "complexType": {
1808
+ "original": "string",
1809
+ "resolved": "string",
1810
+ "references": {}
1811
+ },
1812
+ "required": false,
1813
+ "optional": true,
1814
+ "docs": {
1815
+ "tags": [],
1816
+ "text": "Text to be displayed as the datepicker label."
1817
+ },
1818
+ "getter": false,
1819
+ "setter": false,
1820
+ "reflect": false,
1821
+ "attribute": "label"
1822
+ },
1823
+ "locale": {
1824
+ "type": "string",
1825
+ "mutable": false,
1826
+ "complexType": {
1827
+ "original": "string",
1828
+ "resolved": "string",
1829
+ "references": {}
1830
+ },
1831
+ "required": false,
1832
+ "optional": true,
1833
+ "docs": {
1834
+ "tags": [],
1835
+ "text": "The locale used for month and weekday names, as a BCP 47 language tag such as `en-US` or `fr`.\nDefaults to the nearest `lang` attribute, then the page's `<html lang>`, then `en`."
1836
+ },
1837
+ "getter": false,
1838
+ "setter": false,
1839
+ "reflect": false,
1840
+ "attribute": "locale"
1841
+ },
1842
+ "max": {
1843
+ "type": "string",
1844
+ "mutable": false,
1845
+ "complexType": {
1846
+ "original": "string",
1847
+ "resolved": "string",
1848
+ "references": {}
1849
+ },
1850
+ "required": false,
1851
+ "optional": true,
1852
+ "docs": {
1853
+ "tags": [],
1854
+ "text": "The latest date that can be picked, as `YYYY-MM-DD`."
1855
+ },
1856
+ "getter": false,
1857
+ "setter": false,
1858
+ "reflect": false,
1859
+ "attribute": "max"
1860
+ },
1861
+ "min": {
1862
+ "type": "string",
1863
+ "mutable": false,
1864
+ "complexType": {
1865
+ "original": "string",
1866
+ "resolved": "string",
1867
+ "references": {}
1868
+ },
1869
+ "required": false,
1870
+ "optional": true,
1871
+ "docs": {
1872
+ "tags": [],
1873
+ "text": "The earliest date that can be picked, as `YYYY-MM-DD`."
1874
+ },
1875
+ "getter": false,
1876
+ "setter": false,
1877
+ "reflect": false,
1878
+ "attribute": "min"
1879
+ },
1880
+ "minuteIncrement": {
1881
+ "type": "number",
1882
+ "mutable": false,
1883
+ "complexType": {
1884
+ "original": "number",
1885
+ "resolved": "number",
1886
+ "references": {}
1887
+ },
1888
+ "required": false,
1889
+ "optional": false,
1890
+ "docs": {
1891
+ "tags": [],
1892
+ "text": "The minutes the time picker steps by, such as `15` or `30`."
1893
+ },
1894
+ "getter": false,
1895
+ "setter": false,
1896
+ "reflect": false,
1897
+ "attribute": "minute-increment",
1898
+ "defaultValue": "1"
1899
+ },
1900
+ "minuteLabel": {
1901
+ "type": "string",
1902
+ "mutable": false,
1903
+ "complexType": {
1904
+ "original": "string",
1905
+ "resolved": "string",
1906
+ "references": {}
1907
+ },
1908
+ "required": false,
1909
+ "optional": false,
1910
+ "docs": {
1911
+ "tags": [],
1912
+ "text": "Accessible label for the minute in the time picker."
1913
+ },
1914
+ "getter": false,
1915
+ "setter": false,
1916
+ "reflect": false,
1917
+ "attribute": "minute-label",
1918
+ "defaultValue": "'Minute'"
1919
+ },
1920
+ "monthLabel": {
1921
+ "type": "string",
1922
+ "mutable": false,
1923
+ "complexType": {
1924
+ "original": "string",
1925
+ "resolved": "string",
1926
+ "references": {}
1927
+ },
1928
+ "required": false,
1929
+ "optional": false,
1930
+ "docs": {
1931
+ "tags": [],
1932
+ "text": "Accessible label for the month dropdown, when `show-dropdowns` is set."
1933
+ },
1934
+ "getter": false,
1935
+ "setter": false,
1936
+ "reflect": false,
1937
+ "attribute": "month-label",
1938
+ "defaultValue": "'Month'"
1939
+ },
1940
+ "monthDay": {
1941
+ "type": "boolean",
1942
+ "mutable": false,
1943
+ "complexType": {
1944
+ "original": "boolean",
1945
+ "resolved": "boolean",
1946
+ "references": {}
1947
+ },
1948
+ "required": false,
1949
+ "optional": false,
1950
+ "docs": {
1951
+ "tags": [],
1952
+ "text": "Picks a month and day with no year, for a date that comes round every year, such as a birthday.\nThe value is `--MM-DD` (ISO 8601 without a year), the field shows the date as the locale writes\na month and day, and the calendar shows each month without a year or weekdays, with February\nalways having its 29th. Turns off `range`, `time-picker`, `show-dropdowns`, `min` and `max`, and\nhas no effect with `auto-apply`, `presets`, `first-day-of-week`, `min-date-message` or\n`max-date-message`, which all depend on them."
1953
+ },
1954
+ "getter": false,
1955
+ "setter": false,
1956
+ "reflect": false,
1957
+ "attribute": "month-day",
1958
+ "defaultValue": "false"
1959
+ },
1960
+ "name": {
1961
+ "type": "string",
1962
+ "mutable": false,
1963
+ "complexType": {
1964
+ "original": "string",
1965
+ "resolved": "string",
1966
+ "references": {}
1967
+ },
1968
+ "required": false,
1969
+ "optional": true,
1970
+ "docs": {
1971
+ "tags": [],
1972
+ "text": "Specifies the name. Submitted with the form name/value pair."
1973
+ },
1974
+ "getter": false,
1975
+ "setter": false,
1976
+ "reflect": false,
1977
+ "attribute": "name"
1978
+ },
1979
+ "nextMonthLabel": {
1980
+ "type": "string",
1981
+ "mutable": false,
1982
+ "complexType": {
1983
+ "original": "string",
1984
+ "resolved": "string",
1985
+ "references": {}
1986
+ },
1987
+ "required": false,
1988
+ "optional": false,
1989
+ "docs": {
1990
+ "tags": [],
1991
+ "text": "Accessible label for the button that shows the next month."
1992
+ },
1993
+ "getter": false,
1994
+ "setter": false,
1995
+ "reflect": false,
1996
+ "attribute": "next-month-label",
1997
+ "defaultValue": "'Next month'"
1998
+ },
1999
+ "periodLabel": {
2000
+ "type": "string",
2001
+ "mutable": false,
2002
+ "complexType": {
2003
+ "original": "string",
2004
+ "resolved": "string",
2005
+ "references": {}
2006
+ },
2007
+ "required": false,
2008
+ "optional": false,
2009
+ "docs": {
2010
+ "tags": [],
2011
+ "text": "Accessible label for the AM or PM choice in the time picker, in locales with a 12-hour clock."
2012
+ },
2013
+ "getter": false,
2014
+ "setter": false,
2015
+ "reflect": false,
2016
+ "attribute": "period-label",
2017
+ "defaultValue": "'AM or PM'"
2018
+ },
2019
+ "placeholder": {
2020
+ "type": "string",
2021
+ "mutable": false,
2022
+ "complexType": {
2023
+ "original": "string",
2024
+ "resolved": "string",
2025
+ "references": {}
2026
+ },
2027
+ "required": false,
2028
+ "optional": true,
2029
+ "docs": {
2030
+ "tags": [],
2031
+ "text": "Specifies a short hint that describes the expected value of the field. Defaults to the format\nthe field takes, such as `YYYY-MM-DD`; with `month-day`, to an example date instead, such as\n`December 31`."
2032
+ },
2033
+ "getter": false,
2034
+ "setter": false,
2035
+ "reflect": false,
2036
+ "attribute": "placeholder"
2037
+ },
2038
+ "placement": {
2039
+ "type": "string",
2040
+ "mutable": false,
2041
+ "complexType": {
2042
+ "original": "PlacementType",
2043
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
2044
+ "references": {
2045
+ "PlacementType": {
2046
+ "location": "import",
2047
+ "path": "@utils/types",
2048
+ "id": "src/utils/types.ts::PlacementType",
2049
+ "referenceLocation": "PlacementType"
2050
+ }
2051
+ }
2052
+ },
2053
+ "required": false,
2054
+ "optional": false,
2055
+ "docs": {
2056
+ "tags": [],
2057
+ "text": "The placement of the calendar relative to the field."
2058
+ },
2059
+ "getter": false,
2060
+ "setter": false,
2061
+ "reflect": false,
2062
+ "attribute": "placement",
2063
+ "defaultValue": "'bottom-start'"
2064
+ },
2065
+ "presets": {
2066
+ "type": "string",
2067
+ "mutable": false,
2068
+ "complexType": {
2069
+ "original": "string | DatepickerPreset[]",
2070
+ "resolved": "DatepickerPreset[] | string",
2071
+ "references": {
2072
+ "DatepickerPreset": {
2073
+ "location": "import",
2074
+ "path": "./datepicker-interface",
2075
+ "id": "src/components/pds-datepicker/datepicker-interface.ts::DatepickerPreset",
2076
+ "referenceLocation": "DatepickerPreset"
2077
+ }
2078
+ }
2079
+ },
2080
+ "required": false,
2081
+ "optional": true,
2082
+ "docs": {
2083
+ "tags": [],
2084
+ "text": "Ranges listed beside the calendar in range mode. A comma-separated list of built-in keys\n(`today`, `yesterday`, `last-7-days`, `last-30-days`, `last-90-days`, `this-month`,\n`last-month`, `this-quarter`, `last-quarter`, `this-year`, `last-year`, `year-to-date`,\n`last-12-months`), or an array of `{ key, label?, startOffset?, endOffset?, start?, end? }` to\nrelabel built-ins or add your own: `startOffset` and `endOffset` follow today, `start` and `end`\nare fixed days."
2085
+ },
2086
+ "getter": false,
2087
+ "setter": false,
2088
+ "reflect": false,
2089
+ "attribute": "presets"
2090
+ },
2091
+ "presetsLabel": {
2092
+ "type": "string",
2093
+ "mutable": false,
2094
+ "complexType": {
2095
+ "original": "string",
2096
+ "resolved": "string",
2097
+ "references": {}
2098
+ },
2099
+ "required": false,
2100
+ "optional": false,
2101
+ "docs": {
2102
+ "tags": [],
2103
+ "text": "Accessible label for the list of presets, in range mode."
2104
+ },
2105
+ "getter": false,
2106
+ "setter": false,
2107
+ "reflect": false,
2108
+ "attribute": "presets-label",
2109
+ "defaultValue": "'Presets'"
2110
+ },
2111
+ "previousMonthLabel": {
2112
+ "type": "string",
2113
+ "mutable": false,
2114
+ "complexType": {
2115
+ "original": "string",
2116
+ "resolved": "string",
2117
+ "references": {}
2118
+ },
2119
+ "required": false,
2120
+ "optional": false,
2121
+ "docs": {
2122
+ "tags": [],
2123
+ "text": "Accessible label for the button that shows the previous month."
2124
+ },
2125
+ "getter": false,
2126
+ "setter": false,
2127
+ "reflect": false,
2128
+ "attribute": "previous-month-label",
2129
+ "defaultValue": "'Previous month'"
2130
+ },
2131
+ "range": {
2132
+ "type": "boolean",
2133
+ "mutable": false,
2134
+ "complexType": {
2135
+ "original": "boolean",
2136
+ "resolved": "boolean",
2137
+ "references": {}
2138
+ },
2139
+ "required": false,
2140
+ "optional": false,
2141
+ "docs": {
2142
+ "tags": [],
2143
+ "text": "Picks a range: a start and an end date, from two months side by side, applied with the Apply\nbutton. The value is `YYYY-MM-DD/YYYY-MM-DD`."
2144
+ },
2145
+ "getter": false,
2146
+ "setter": false,
2147
+ "reflect": false,
2148
+ "attribute": "range",
2149
+ "defaultValue": "false"
2150
+ },
2151
+ "readonly": {
2152
+ "type": "boolean",
2153
+ "mutable": false,
2154
+ "complexType": {
2155
+ "original": "boolean",
2156
+ "resolved": "boolean",
2157
+ "references": {}
2158
+ },
2159
+ "required": false,
2160
+ "optional": true,
2161
+ "docs": {
2162
+ "tags": [],
2163
+ "text": "Determines whether or not the datepicker is readonly."
2164
+ },
2165
+ "getter": false,
2166
+ "setter": false,
2167
+ "reflect": false,
2168
+ "attribute": "readonly"
2169
+ },
2170
+ "required": {
2171
+ "type": "boolean",
2172
+ "mutable": false,
2173
+ "complexType": {
2174
+ "original": "boolean",
2175
+ "resolved": "boolean",
2176
+ "references": {}
2177
+ },
2178
+ "required": false,
2179
+ "optional": true,
2180
+ "docs": {
2181
+ "tags": [],
2182
+ "text": "Determines whether or not the datepicker is required."
2183
+ },
2184
+ "getter": false,
2185
+ "setter": false,
2186
+ "reflect": false,
2187
+ "attribute": "required"
2188
+ },
2189
+ "showDropdowns": {
2190
+ "type": "boolean",
2191
+ "mutable": false,
2192
+ "complexType": {
2193
+ "original": "boolean",
2194
+ "resolved": "boolean",
2195
+ "references": {}
2196
+ },
2197
+ "required": false,
2198
+ "optional": false,
2199
+ "docs": {
2200
+ "tags": [],
2201
+ "text": "Shows month and year dropdowns in place of the month heading, for jumping far, as to a birth year."
2202
+ },
2203
+ "getter": false,
2204
+ "setter": false,
2205
+ "reflect": false,
2206
+ "attribute": "show-dropdowns",
2207
+ "defaultValue": "false"
2208
+ },
2209
+ "startTimeLabel": {
2210
+ "type": "string",
2211
+ "mutable": false,
2212
+ "complexType": {
2213
+ "original": "string",
2214
+ "resolved": "string",
2215
+ "references": {}
2216
+ },
2217
+ "required": false,
2218
+ "optional": false,
2219
+ "docs": {
2220
+ "tags": [],
2221
+ "text": "Accessible label for the start time, in range mode with the time picker."
2222
+ },
2223
+ "getter": false,
2224
+ "setter": false,
2225
+ "reflect": false,
2226
+ "attribute": "start-time-label",
2227
+ "defaultValue": "'Start time'"
2228
+ },
2229
+ "timePicker": {
2230
+ "type": "boolean",
2231
+ "mutable": false,
2232
+ "complexType": {
2233
+ "original": "boolean",
2234
+ "resolved": "boolean",
2235
+ "references": {}
2236
+ },
2237
+ "required": false,
2238
+ "optional": false,
2239
+ "docs": {
2240
+ "tags": [],
2241
+ "text": "Adds hour and minute pickers below the calendar, and the value carries the time as\n`YYYY-MM-DDTHH:mm`. The dates are applied with the Apply button."
2242
+ },
2243
+ "getter": false,
2244
+ "setter": false,
2245
+ "reflect": false,
2246
+ "attribute": "time-picker",
2247
+ "defaultValue": "false"
2248
+ },
2249
+ "timeLabel": {
2250
+ "type": "string",
2251
+ "mutable": false,
2252
+ "complexType": {
2253
+ "original": "string",
2254
+ "resolved": "string",
2255
+ "references": {}
2256
+ },
2257
+ "required": false,
2258
+ "optional": false,
2259
+ "docs": {
2260
+ "tags": [],
2261
+ "text": "Accessible label for the time, with the time picker and a single date."
2262
+ },
2263
+ "getter": false,
2264
+ "setter": false,
2265
+ "reflect": false,
2266
+ "attribute": "time-label",
2267
+ "defaultValue": "'Time'"
2268
+ },
2269
+ "triggerLabel": {
2270
+ "type": "string",
2271
+ "mutable": false,
2272
+ "complexType": {
2273
+ "original": "string",
2274
+ "resolved": "string",
2275
+ "references": {}
2276
+ },
2277
+ "required": false,
2278
+ "optional": false,
2279
+ "docs": {
2280
+ "tags": [],
2281
+ "text": "Accessible label for the button that opens the calendar. The selected date is added to it."
2282
+ },
2283
+ "getter": false,
2284
+ "setter": false,
2285
+ "reflect": false,
2286
+ "attribute": "trigger-label",
2287
+ "defaultValue": "'Choose date'"
2288
+ },
2289
+ "value": {
2290
+ "type": "string",
2291
+ "mutable": true,
2292
+ "complexType": {
2293
+ "original": "string",
2294
+ "resolved": "string",
2295
+ "references": {}
2296
+ },
2297
+ "required": false,
2298
+ "optional": true,
2299
+ "docs": {
2300
+ "tags": [],
2301
+ "text": "The selected date as `YYYY-MM-DD`, or in range mode the range as `YYYY-MM-DD/YYYY-MM-DD`; with\nthe time picker, each date as `YYYY-MM-DDTHH:mm`; with `month-day`, the month and day with no\nyear, as `--MM-DD` (a full date is read too, as that month and day, and rewritten to it). An\nempty string when nothing is selected."
2302
+ },
2303
+ "getter": false,
2304
+ "setter": false,
2305
+ "reflect": false,
2306
+ "attribute": "value",
2307
+ "defaultValue": "''"
2308
+ },
2309
+ "yearLabel": {
2310
+ "type": "string",
2311
+ "mutable": false,
2312
+ "complexType": {
2313
+ "original": "string",
2314
+ "resolved": "string",
2315
+ "references": {}
2316
+ },
2317
+ "required": false,
2318
+ "optional": false,
2319
+ "docs": {
2320
+ "tags": [],
2321
+ "text": "Accessible label for the year dropdown, when `show-dropdowns` is set."
2322
+ },
2323
+ "getter": false,
2324
+ "setter": false,
2325
+ "reflect": false,
2326
+ "attribute": "year-label",
2327
+ "defaultValue": "'Year'"
2328
+ }
2329
+ };
2330
+ }
2331
+ static get states() {
2332
+ return {
2333
+ "isOpen": {},
2334
+ "text": {},
2335
+ "textError": {},
2336
+ "activeDate": {},
2337
+ "viewMonth": {},
2338
+ "draftStart": {},
2339
+ "draftEnd": {},
2340
+ "startTime": {},
2341
+ "endTime": {},
2342
+ "previewDate": {}
2343
+ };
2344
+ }
2345
+ static get events() {
2346
+ return [{
2347
+ "method": "pdsDatepickerChange",
2348
+ "name": "pdsDatepickerChange",
2349
+ "bubbles": true,
2350
+ "cancelable": true,
2351
+ "composed": true,
2352
+ "docs": {
2353
+ "tags": [],
2354
+ "text": "Emitted when the value changes.\n\nThis event will not emit when programmatically setting the `value` property."
2355
+ },
2356
+ "complexType": {
2357
+ "original": "DatepickerChangeEventDetail",
2358
+ "resolved": "DatepickerChangeEventDetail",
2359
+ "references": {
2360
+ "DatepickerChangeEventDetail": {
2361
+ "location": "import",
2362
+ "path": "./datepicker-interface",
2363
+ "id": "src/components/pds-datepicker/datepicker-interface.ts::DatepickerChangeEventDetail",
2364
+ "referenceLocation": "DatepickerChangeEventDetail"
2365
+ }
2366
+ }
2367
+ }
2368
+ }, {
2369
+ "method": "pdsBlur",
2370
+ "name": "pdsBlur",
2371
+ "bubbles": true,
2372
+ "cancelable": true,
2373
+ "composed": true,
2374
+ "docs": {
2375
+ "tags": [],
2376
+ "text": "Emitted when the datepicker loses focus: when focus leaves the field and the calendar."
2377
+ },
2378
+ "complexType": {
2379
+ "original": "FocusEvent",
2380
+ "resolved": "FocusEvent",
2381
+ "references": {
2382
+ "FocusEvent": {
2383
+ "location": "global",
2384
+ "id": "global::FocusEvent"
2385
+ }
2386
+ }
2387
+ }
2388
+ }, {
2389
+ "method": "pdsFocus",
2390
+ "name": "pdsFocus",
2391
+ "bubbles": true,
2392
+ "cancelable": true,
2393
+ "composed": true,
2394
+ "docs": {
2395
+ "tags": [],
2396
+ "text": "Emitted when the datepicker gains focus: when focus moves into the field or the calendar from outside."
2397
+ },
2398
+ "complexType": {
2399
+ "original": "FocusEvent",
2400
+ "resolved": "FocusEvent",
2401
+ "references": {
2402
+ "FocusEvent": {
2403
+ "location": "global",
2404
+ "id": "global::FocusEvent"
2405
+ }
2406
+ }
2407
+ }
2408
+ }];
2409
+ }
2410
+ static get methods() {
2411
+ return {
2412
+ "open": {
2413
+ "complexType": {
2414
+ "signature": "() => Promise<void>",
2415
+ "parameters": [],
2416
+ "references": {
2417
+ "Promise": {
2418
+ "location": "global",
2419
+ "id": "global::Promise"
2420
+ }
2421
+ },
2422
+ "return": "Promise<void>"
2423
+ },
2424
+ "docs": {
2425
+ "text": "Opens the calendar and moves focus to the selected day, or today.",
2426
+ "tags": []
2427
+ }
2428
+ },
2429
+ "close": {
2430
+ "complexType": {
2431
+ "signature": "() => Promise<void>",
2432
+ "parameters": [],
2433
+ "references": {
2434
+ "Promise": {
2435
+ "location": "global",
2436
+ "id": "global::Promise"
2437
+ }
2438
+ },
2439
+ "return": "Promise<void>"
2440
+ },
2441
+ "docs": {
2442
+ "text": "Closes the calendar.",
2443
+ "tags": []
2444
+ }
2445
+ },
2446
+ "setFocus": {
2447
+ "complexType": {
2448
+ "signature": "() => Promise<void>",
2449
+ "parameters": [],
2450
+ "references": {
2451
+ "Promise": {
2452
+ "location": "global",
2453
+ "id": "global::Promise"
2454
+ }
2455
+ },
2456
+ "return": "Promise<void>"
2457
+ },
2458
+ "docs": {
2459
+ "text": "Sets focus on the datepicker's text field.",
2460
+ "tags": []
2461
+ }
2462
+ }
2463
+ };
2464
+ }
2465
+ static get elementRef() { return "el"; }
2466
+ static get watchers() {
2467
+ return [{
2468
+ "propName": "value",
2469
+ "methodName": "valueChanged"
2470
+ }, {
2471
+ "propName": "format",
2472
+ "methodName": "contextChanged"
2473
+ }, {
2474
+ "propName": "locale",
2475
+ "methodName": "contextChanged"
2476
+ }, {
2477
+ "propName": "timePicker",
2478
+ "methodName": "contextChanged"
2479
+ }, {
2480
+ "propName": "range",
2481
+ "methodName": "contextChanged"
2482
+ }, {
2483
+ "propName": "monthDay",
2484
+ "methodName": "contextChanged"
2485
+ }, {
2486
+ "propName": "min",
2487
+ "methodName": "contextChanged"
2488
+ }, {
2489
+ "propName": "max",
2490
+ "methodName": "contextChanged"
2491
+ }, {
2492
+ "propName": "placement",
2493
+ "methodName": "placementChanged"
2494
+ }, {
2495
+ "propName": "required",
2496
+ "methodName": "requiredChanged"
2497
+ }, {
2498
+ "propName": "disabled",
2499
+ "methodName": "interactivityChanged"
2500
+ }, {
2501
+ "propName": "readonly",
2502
+ "methodName": "interactivityChanged"
2503
+ }];
2504
+ }
2505
+ }