@cds/core 5.7.1 → 6.0.0-beta.3

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 (687) hide show
  1. package/accordion/accordion-content.element.scss.js +1 -1
  2. package/accordion/accordion-header.element.d.ts +2 -0
  3. package/accordion/accordion-header.element.js +1 -1
  4. package/accordion/accordion-header.element.js.map +1 -1
  5. package/accordion/accordion-header.element.scss.js +1 -1
  6. package/accordion/accordion-panel.element.d.ts +2 -2
  7. package/accordion/accordion-panel.element.js +1 -1
  8. package/accordion/accordion-panel.element.js.map +1 -1
  9. package/accordion/accordion-panel.element.scss.js +1 -1
  10. package/accordion/accordion.element.scss.js +1 -1
  11. package/accordion/register.d.ts +1 -0
  12. package/accordion/register.js +1 -1
  13. package/accordion/register.js.map +1 -1
  14. package/alert/alert-actions.element.js +1 -1
  15. package/alert/alert-actions.element.js.map +1 -1
  16. package/alert/alert-actions.element.scss.js +1 -1
  17. package/alert/alert-group.element.js +1 -1
  18. package/alert/alert-group.element.js.map +1 -1
  19. package/alert/alert-group.element.scss.js +1 -1
  20. package/alert/alert.element.d.ts +2 -3
  21. package/alert/alert.element.js +1 -1
  22. package/alert/alert.element.js.map +1 -1
  23. package/alert/alert.element.scss.js +1 -1
  24. package/badge/badge.element.scss.js +1 -1
  25. package/breadcrumb/breadcrumb.element.d.ts +0 -1
  26. package/breadcrumb/breadcrumb.element.js +1 -1
  27. package/breadcrumb/breadcrumb.element.js.map +1 -1
  28. package/breadcrumb/breadcrumb.element.scss.js +1 -1
  29. package/button/button.element.d.ts +1 -1
  30. package/button/button.element.js +1 -1
  31. package/button/button.element.js.map +1 -1
  32. package/button/button.element.scss.js +1 -1
  33. package/button/icon-button.element.d.ts +1 -9
  34. package/button/icon-button.element.js +1 -1
  35. package/button/icon-button.element.js.map +1 -1
  36. package/button/index.d.ts +0 -1
  37. package/button/index.js +1 -1
  38. package/button/register.d.ts +0 -2
  39. package/button/register.js +1 -1
  40. package/button/register.js.map +1 -1
  41. package/button-action/button-action.element.d.ts +45 -0
  42. package/button-action/button-action.element.js +2 -0
  43. package/button-action/button-action.element.js.map +1 -0
  44. package/button-action/button-action.element.scss.js +2 -0
  45. package/button-action/button-action.element.scss.js.map +1 -0
  46. package/button-action/index.d.ts +1 -0
  47. package/button-action/index.js +2 -0
  48. package/{internal/interfaces → button-action}/index.js.map +0 -0
  49. package/button-action/register.d.ts +7 -0
  50. package/button-action/register.js +2 -0
  51. package/button-action/register.js.map +1 -0
  52. package/button-expand/button-expand.element.d.ts +25 -0
  53. package/button-expand/button-expand.element.js +2 -0
  54. package/button-expand/button-expand.element.js.map +1 -0
  55. package/button-expand/button-expand.element.scss.js +2 -0
  56. package/button-expand/button-expand.element.scss.js.map +1 -0
  57. package/button-expand/index.d.ts +1 -0
  58. package/button-expand/index.js +2 -0
  59. package/button-expand/index.js.map +1 -0
  60. package/button-expand/register.d.ts +7 -0
  61. package/button-expand/register.js +2 -0
  62. package/button-expand/register.js.map +1 -0
  63. package/button-handle/button-handle.element.d.ts +19 -0
  64. package/button-handle/button-handle.element.js +2 -0
  65. package/button-handle/button-handle.element.js.map +1 -0
  66. package/button-handle/button-handle.element.scss.js +2 -0
  67. package/button-handle/button-handle.element.scss.js.map +1 -0
  68. package/button-handle/index.d.ts +1 -0
  69. package/button-handle/index.js +2 -0
  70. package/button-handle/index.js.map +1 -0
  71. package/button-handle/register.d.ts +7 -0
  72. package/button-handle/register.js +2 -0
  73. package/button-handle/register.js.map +1 -0
  74. package/{button/inline-button.element.d.ts → button-inline/button-inline.element.d.ts} +10 -3
  75. package/button-inline/button-inline.element.js +2 -0
  76. package/button-inline/button-inline.element.js.map +1 -0
  77. package/{button/inline-button.element.scss.js → button-inline/button-inline.element.scss.js} +2 -2
  78. package/button-inline/button-inline.element.scss.js.map +1 -0
  79. package/button-inline/index.d.ts +1 -0
  80. package/button-inline/index.js +2 -0
  81. package/button-inline/index.js.map +1 -0
  82. package/button-inline/register.d.ts +11 -0
  83. package/button-inline/register.js +2 -0
  84. package/button-inline/register.js.map +1 -0
  85. package/button-sort/button-sort.element.d.ts +23 -0
  86. package/button-sort/button-sort.element.js +2 -0
  87. package/button-sort/button-sort.element.js.map +1 -0
  88. package/button-sort/button-sort.element.scss.js +2 -0
  89. package/button-sort/button-sort.element.scss.js.map +1 -0
  90. package/button-sort/index.d.ts +1 -0
  91. package/button-sort/index.js +2 -0
  92. package/button-sort/index.js.map +1 -0
  93. package/button-sort/register.d.ts +7 -0
  94. package/button-sort/register.js +2 -0
  95. package/button-sort/register.js.map +1 -0
  96. package/button-sort/utils.d.ts +1 -0
  97. package/button-sort/utils.js +2 -0
  98. package/button-sort/utils.js.map +1 -0
  99. package/card/card.element.d.ts +4 -5
  100. package/card/card.element.js.map +1 -1
  101. package/card/card.element.scss.js +1 -1
  102. package/checkbox/checkbox.element.scss.js +1 -1
  103. package/custom-elements.json +17326 -9488
  104. package/datalist/datalist.element.d.ts +0 -1
  105. package/datalist/datalist.element.js +1 -1
  106. package/datalist/datalist.element.js.map +1 -1
  107. package/datalist/register.d.ts +1 -1
  108. package/datalist/register.js +1 -1
  109. package/datalist/register.js.map +1 -1
  110. package/date/date.element.d.ts +0 -1
  111. package/date/date.element.js +1 -1
  112. package/date/date.element.js.map +1 -1
  113. package/date/date.global.scss.js +1 -1
  114. package/date/register.d.ts +1 -0
  115. package/date/register.js +1 -1
  116. package/date/register.js.map +1 -1
  117. package/demo/data/demo.service.d.ts +6 -0
  118. package/demo/data/demo.service.js +2 -0
  119. package/demo/data/demo.service.js.map +1 -0
  120. package/demo/data/food.data.d.ts +2 -0
  121. package/demo/data/food.data.js +2 -0
  122. package/demo/data/food.data.js.map +1 -0
  123. package/demo/data/infrastructure.data.d.ts +2 -0
  124. package/demo/data/infrastructure.data.js +2 -0
  125. package/demo/data/infrastructure.data.js.map +1 -0
  126. package/demo/data/interfaces.d.ts +31 -0
  127. package/demo/data/interfaces.js +2 -0
  128. package/demo/data/interfaces.js.map +1 -0
  129. package/demo/data/system.data.d.ts +2 -0
  130. package/demo/data/system.data.js +2 -0
  131. package/demo/data/system.data.js.map +1 -0
  132. package/demo/index.d.ts +43 -0
  133. package/demo/index.js +2 -0
  134. package/demo/index.js.map +1 -0
  135. package/demo/utils.d.ts +67 -0
  136. package/demo/utils.js +2 -0
  137. package/demo/utils.js.map +1 -0
  138. package/divider/divider.element.d.ts +1 -1
  139. package/divider/divider.element.js.map +1 -1
  140. package/divider/divider.element.scss.js +1 -1
  141. package/dropdown/dropdown.element.d.ts +42 -0
  142. package/dropdown/dropdown.element.js +2 -0
  143. package/dropdown/dropdown.element.js.map +1 -0
  144. package/dropdown/index.d.ts +1 -0
  145. package/dropdown/index.js +2 -0
  146. package/dropdown/index.js.map +1 -0
  147. package/dropdown/register.d.ts +7 -0
  148. package/dropdown/register.js +2 -0
  149. package/dropdown/register.js.map +1 -0
  150. package/file/file.element.d.ts +0 -1
  151. package/file/file.element.js +1 -1
  152. package/file/file.element.js.map +1 -1
  153. package/file/file.element.scss.js +1 -1
  154. package/file/register.d.ts +1 -0
  155. package/file/register.js +1 -1
  156. package/file/register.js.map +1 -1
  157. package/forms/control/control.element.d.ts +1 -1
  158. package/forms/control/control.element.js +2 -2
  159. package/forms/control/control.element.js.map +1 -1
  160. package/forms/control/control.element.scss.js +1 -1
  161. package/forms/control-action/control-action.element.d.ts +4 -14
  162. package/forms/control-action/control-action.element.js +1 -1
  163. package/forms/control-action/control-action.element.js.map +1 -1
  164. package/forms/control-group/control-group.element.d.ts +1 -4
  165. package/forms/control-group/control-group.element.js +1 -1
  166. package/forms/control-group/control-group.element.js.map +1 -1
  167. package/forms/control-group/control-group.element.scss.js +1 -1
  168. package/forms/control-inline/control-inline.element.d.ts +1 -1
  169. package/forms/control-inline/control-inline.element.js +1 -1
  170. package/forms/control-inline/control-inline.element.js.map +1 -1
  171. package/forms/control-inline/control-inline.element.scss.js +1 -1
  172. package/forms/control-label/control-label.element.js +1 -1
  173. package/forms/control-label/control-label.element.js.map +1 -1
  174. package/forms/control-label/control-label.element.scss.js +1 -1
  175. package/forms/control-message/control-message.element.scss.js +1 -1
  176. package/forms/form-group/form-group.element.d.ts +2 -2
  177. package/forms/form-group/form-group.element.js +1 -1
  178. package/forms/form-group/form-group.element.js.map +1 -1
  179. package/forms/register.d.ts +1 -0
  180. package/forms/register.js +1 -1
  181. package/forms/register.js.map +1 -1
  182. package/forms/utils/{index.d.ts → utils.d.ts} +0 -0
  183. package/forms/utils/utils.js +2 -0
  184. package/forms/utils/utils.js.map +1 -0
  185. package/forms/utils/validate.js +1 -1
  186. package/forms/utils/validate.js.map +1 -1
  187. package/global.css +1499 -700
  188. package/global.min.css +1 -1
  189. package/grid/cell/grid-cell.element.d.ts +25 -0
  190. package/grid/cell/grid-cell.element.js +2 -0
  191. package/grid/cell/grid-cell.element.js.map +1 -0
  192. package/grid/cell/grid-cell.element.scss.js +2 -0
  193. package/grid/cell/grid-cell.element.scss.js.map +1 -0
  194. package/grid/column/grid-column-position.controller.d.ts +15 -0
  195. package/grid/column/grid-column-position.controller.js +2 -0
  196. package/grid/column/grid-column-position.controller.js.map +1 -0
  197. package/grid/column/grid-column-size.controller.d.ts +18 -0
  198. package/grid/column/grid-column-size.controller.js +2 -0
  199. package/grid/column/grid-column-size.controller.js.map +1 -0
  200. package/grid/column/grid-column.element.d.ts +53 -0
  201. package/grid/column/grid-column.element.js +2 -0
  202. package/grid/column/grid-column.element.js.map +1 -0
  203. package/grid/column/grid-column.element.scss.js +2 -0
  204. package/grid/column/grid-column.element.scss.js.map +1 -0
  205. package/grid/detail/grid-detail.element.d.ts +59 -0
  206. package/grid/detail/grid-detail.element.js +2 -0
  207. package/grid/detail/grid-detail.element.js.map +1 -0
  208. package/grid/detail/grid-detail.element.scss.js +2 -0
  209. package/grid/detail/grid-detail.element.scss.js.map +1 -0
  210. package/grid/footer/grid-footer.element.d.ts +36 -0
  211. package/grid/footer/grid-footer.element.js +2 -0
  212. package/grid/footer/grid-footer.element.js.map +1 -0
  213. package/grid/footer/grid-footer.element.scss.js +2 -0
  214. package/grid/footer/grid-footer.element.scss.js.map +1 -0
  215. package/grid/grid/grid-layout.controller.d.ts +31 -0
  216. package/grid/grid/grid-layout.controller.js +2 -0
  217. package/grid/grid/grid-layout.controller.js.map +1 -0
  218. package/grid/grid/grid.element.d.ts +73 -0
  219. package/grid/grid/grid.element.js +2 -0
  220. package/grid/grid/grid.element.js.map +1 -0
  221. package/grid/grid/grid.element.scss.js +2 -0
  222. package/grid/grid/grid.element.scss.js.map +1 -0
  223. package/grid/index.d.ts +8 -0
  224. package/grid/index.js +2 -0
  225. package/grid/index.js.map +1 -0
  226. package/grid/pagination/grid-pagination.element.d.ts +52 -0
  227. package/grid/pagination/grid-pagination.element.js +2 -0
  228. package/grid/pagination/grid-pagination.element.js.map +1 -0
  229. package/grid/pagination/grid-pagination.element.scss.js +2 -0
  230. package/grid/pagination/grid-pagination.element.scss.js.map +1 -0
  231. package/grid/placeholder/grid-placeholder.element.d.ts +36 -0
  232. package/grid/placeholder/grid-placeholder.element.js +2 -0
  233. package/grid/placeholder/grid-placeholder.element.js.map +1 -0
  234. package/grid/placeholder/grid-placeholder.element.scss.js +2 -0
  235. package/grid/placeholder/grid-placeholder.element.scss.js.map +1 -0
  236. package/grid/register.d.ts +23 -0
  237. package/grid/register.js +2 -0
  238. package/grid/register.js.map +1 -0
  239. package/grid/row/grid-row-position.controller.d.ts +9 -0
  240. package/grid/row/grid-row-position.controller.js +2 -0
  241. package/grid/row/grid-row-position.controller.js.map +1 -0
  242. package/grid/row/grid-row.element.d.ts +25 -0
  243. package/grid/row/grid-row.element.js +2 -0
  244. package/grid/row/grid-row.element.js.map +1 -0
  245. package/grid/row/grid-row.element.scss.js +2 -0
  246. package/grid/row/grid-row.element.scss.js.map +1 -0
  247. package/icon/collections/core.d.ts +4 -0
  248. package/icon/collections/core.js +1 -1
  249. package/icon/collections/core.js.map +1 -1
  250. package/icon/collections/essential.d.ts +4 -0
  251. package/icon/collections/essential.js +1 -1
  252. package/icon/collections/essential.js.map +1 -1
  253. package/icon/icon.element.js +1 -1
  254. package/icon/icon.element.js.map +1 -1
  255. package/icon/icon.element.scss.js +1 -1
  256. package/icon/index.d.ts +18 -7
  257. package/icon/index.js +1 -1
  258. package/icon/shapes/detail-collapse.d.ts +3 -0
  259. package/icon/shapes/detail-collapse.js +2 -0
  260. package/icon/shapes/detail-collapse.js.map +1 -0
  261. package/icon/shapes/detail-expand.d.ts +3 -0
  262. package/icon/shapes/detail-expand.js +2 -0
  263. package/icon/shapes/detail-expand.js.map +1 -0
  264. package/icon/shapes/host.js +1 -1
  265. package/icon/shapes/host.js.map +1 -1
  266. package/icon/shapes/launchpad.d.ts +3 -0
  267. package/icon/shapes/launchpad.js +2 -0
  268. package/icon/shapes/launchpad.js.map +1 -0
  269. package/icon/shapes/namespace.js +1 -1
  270. package/icon/shapes/namespace.js.map +1 -1
  271. package/icon/shapes/unpin.d.ts +3 -0
  272. package/icon/shapes/unpin.js +2 -0
  273. package/icon/shapes/unpin.js.map +1 -0
  274. package/icon/utils/icon.classnames.d.ts +1 -0
  275. package/icon/utils/icon.classnames.js +1 -1
  276. package/icon/utils/icon.classnames.js.map +1 -1
  277. package/icon/utils/icon.svg-helpers.js +1 -1
  278. package/icon/utils/icon.svg-helpers.js.map +1 -1
  279. package/index.d.ts +2 -1
  280. package/index.js +1 -1
  281. package/input/input-group.element.scss.js +1 -1
  282. package/input/input.element.scss.js +1 -1
  283. package/internal/base/base.element.scss.js +1 -1
  284. package/internal/base/button.base.d.ts +7 -36
  285. package/internal/base/button.base.js +1 -1
  286. package/internal/base/button.base.js.map +1 -1
  287. package/internal/base/focus-trap.base.d.ts +7 -15
  288. package/internal/base/focus-trap.base.js +1 -1
  289. package/internal/base/focus-trap.base.js.map +1 -1
  290. package/internal/controllers/active.controller.d.ts +20 -0
  291. package/internal/controllers/active.controller.js +2 -0
  292. package/internal/controllers/active.controller.js.map +1 -0
  293. package/internal/controllers/aria-button.controller.d.ts +15 -0
  294. package/internal/controllers/aria-button.controller.js +2 -0
  295. package/internal/controllers/aria-button.controller.js.map +1 -0
  296. package/internal/controllers/aria-disabled.controller.d.ts +14 -0
  297. package/internal/controllers/aria-disabled.controller.js +2 -0
  298. package/internal/controllers/aria-disabled.controller.js.map +1 -0
  299. package/internal/controllers/aria-expanded.controller.d.ts +14 -0
  300. package/internal/controllers/aria-expanded.controller.js +2 -0
  301. package/internal/controllers/aria-expanded.controller.js.map +1 -0
  302. package/internal/controllers/aria-grid.controller.d.ts +57 -0
  303. package/internal/controllers/aria-grid.controller.js +2 -0
  304. package/internal/controllers/aria-grid.controller.js.map +1 -0
  305. package/internal/controllers/aria-modal.controller.d.ts +11 -0
  306. package/internal/controllers/aria-modal.controller.js +2 -0
  307. package/internal/controllers/aria-modal.controller.js.map +1 -0
  308. package/internal/controllers/aria-multiselectable.controller.d.ts +13 -0
  309. package/internal/controllers/aria-multiselectable.controller.js +2 -0
  310. package/internal/controllers/aria-multiselectable.controller.js.map +1 -0
  311. package/internal/controllers/aria-popup-trigger.controller.d.ts +14 -0
  312. package/internal/controllers/aria-popup-trigger.controller.js +2 -0
  313. package/internal/controllers/aria-popup-trigger.controller.js.map +1 -0
  314. package/internal/controllers/aria-popup.controller.d.ts +19 -0
  315. package/internal/controllers/aria-popup.controller.js +2 -0
  316. package/internal/controllers/aria-popup.controller.js.map +1 -0
  317. package/internal/controllers/aria-pressed.controller.d.ts +15 -0
  318. package/internal/controllers/aria-pressed.controller.js +2 -0
  319. package/internal/controllers/aria-pressed.controller.js.map +1 -0
  320. package/internal/controllers/aria-selected.controller.d.ts +13 -0
  321. package/internal/controllers/aria-selected.controller.js +2 -0
  322. package/internal/controllers/aria-selected.controller.js.map +1 -0
  323. package/internal/controllers/button-anchor.controller.d.ts +26 -0
  324. package/internal/controllers/button-anchor.controller.js +2 -0
  325. package/internal/controllers/button-anchor.controller.js.map +1 -0
  326. package/internal/controllers/button-submit.controller.d.ts +27 -0
  327. package/internal/controllers/button-submit.controller.js +2 -0
  328. package/internal/controllers/button-submit.controller.js.map +1 -0
  329. package/internal/controllers/closable.controller.d.ts +23 -0
  330. package/internal/controllers/closable.controller.js +2 -0
  331. package/internal/controllers/closable.controller.js.map +1 -0
  332. package/internal/controllers/draggable-list.controller.d.ts +32 -0
  333. package/internal/controllers/draggable-list.controller.js +2 -0
  334. package/internal/controllers/draggable-list.controller.js.map +1 -0
  335. package/internal/controllers/first-focus.controller.d.ts +17 -0
  336. package/internal/controllers/first-focus.controller.js +2 -0
  337. package/internal/controllers/first-focus.controller.js.map +1 -0
  338. package/internal/controllers/grid-range-selection.controller.d.ts +28 -0
  339. package/internal/controllers/grid-range-selection.controller.js +2 -0
  340. package/internal/controllers/grid-range-selection.controller.js.map +1 -0
  341. package/internal/controllers/inline-focus-trap.controller.d.ts +17 -0
  342. package/internal/controllers/inline-focus-trap.controller.js +2 -0
  343. package/internal/controllers/inline-focus-trap.controller.js.map +1 -0
  344. package/internal/controllers/key-navigation-grid.controller.d.ts +28 -0
  345. package/internal/controllers/key-navigation-grid.controller.js +2 -0
  346. package/internal/controllers/key-navigation-grid.controller.js.map +1 -0
  347. package/internal/controllers/key-navigation-list.controller.d.ts +26 -0
  348. package/internal/controllers/key-navigation-list.controller.js +2 -0
  349. package/internal/controllers/key-navigation-list.controller.js.map +1 -0
  350. package/internal/controllers/key-navigation.utils.d.ts +19 -0
  351. package/internal/controllers/key-navigation.utils.js +2 -0
  352. package/internal/controllers/key-navigation.utils.js.map +1 -0
  353. package/internal/controllers/layer.controller.d.ts +24 -0
  354. package/internal/controllers/layer.controller.js +2 -0
  355. package/internal/controllers/layer.controller.js.map +1 -0
  356. package/internal/controllers/responsive.controller.d.ts +19 -0
  357. package/internal/controllers/responsive.controller.js +2 -0
  358. package/internal/controllers/responsive.controller.js.map +1 -0
  359. package/internal/controllers/scrollable-list-visibility.controller.d.ts +13 -0
  360. package/internal/controllers/scrollable-list-visibility.controller.js +2 -0
  361. package/internal/controllers/scrollable-list-visibility.controller.js.map +1 -0
  362. package/internal/controllers/touch.controller.d.ts +22 -0
  363. package/internal/controllers/touch.controller.js +2 -0
  364. package/internal/controllers/touch.controller.js.map +1 -0
  365. package/internal/controllers/trigger.controller.d.ts +31 -0
  366. package/internal/controllers/trigger.controller.js +2 -0
  367. package/internal/controllers/trigger.controller.js.map +1 -0
  368. package/internal/decorators/animate.d.ts +2 -2
  369. package/internal/decorators/animate.js +1 -1
  370. package/internal/decorators/animate.js.map +1 -1
  371. package/internal/decorators/element.d.ts +15 -18
  372. package/internal/decorators/element.js +2 -0
  373. package/internal/decorators/element.js.map +1 -0
  374. package/internal/decorators/i18n.d.ts +16 -0
  375. package/internal/decorators/i18n.js +1 -1
  376. package/internal/decorators/i18n.js.map +1 -1
  377. package/internal/decorators/property.d.ts +3 -16
  378. package/internal/decorators/property.js +1 -1
  379. package/internal/decorators/property.js.map +1 -1
  380. package/internal/decorators/query-slot.js +1 -1
  381. package/internal/decorators/query-slot.js.map +1 -1
  382. package/internal/decorators/utils.d.ts +23 -0
  383. package/internal/decorators/utils.js +2 -0
  384. package/internal/decorators/utils.js.map +1 -0
  385. package/internal/index.d.ts +48 -3
  386. package/internal/index.js +1 -1
  387. package/internal/index.js.map +1 -1
  388. package/internal/interfaces/{index.d.ts → interfaces.d.ts} +0 -0
  389. package/internal/interfaces/interfaces.js +2 -0
  390. package/internal/interfaces/interfaces.js.map +1 -0
  391. package/internal/motion/animations/cds-dropdown-open.d.ts +3 -0
  392. package/internal/motion/animations/cds-dropdown-open.js +2 -0
  393. package/internal/motion/animations/cds-dropdown-open.js.map +1 -0
  394. package/internal/motion/animations/cds-modal-enter.js +1 -1
  395. package/internal/motion/animations/cds-modal-enter.js.map +1 -1
  396. package/internal/motion/interfaces.d.ts +4 -5
  397. package/internal/motion/utils.d.ts +4 -4
  398. package/internal/motion/utils.js +1 -1
  399. package/internal/motion/utils.js.map +1 -1
  400. package/internal/positioning/interfaces.d.ts +61 -0
  401. package/internal/positioning/interfaces.js +2 -0
  402. package/internal/positioning/interfaces.js.map +1 -0
  403. package/internal/positioning/utils.d.ts +26 -0
  404. package/internal/positioning/utils.js +2 -0
  405. package/internal/positioning/utils.js.map +1 -0
  406. package/internal/services/focus-trap-tracker.service.d.ts +3 -0
  407. package/internal/services/focus-trap-tracker.service.js +1 -1
  408. package/internal/services/focus-trap-tracker.service.js.map +1 -1
  409. package/internal/services/global.service.d.ts +2 -2
  410. package/internal/services/i18n.service.d.ts +37 -37
  411. package/internal/services/i18n.service.js +1 -1
  412. package/internal/services/i18n.service.js.map +1 -1
  413. package/internal/utils/array.d.ts +9 -4
  414. package/internal/utils/array.js +1 -1
  415. package/internal/utils/array.js.map +1 -1
  416. package/internal/utils/browser.d.ts +7 -0
  417. package/internal/utils/browser.js +2 -0
  418. package/internal/utils/browser.js.map +1 -0
  419. package/internal/utils/conditional.d.ts +4 -1
  420. package/internal/utils/conditional.js +1 -1
  421. package/internal/utils/conditional.js.map +1 -1
  422. package/internal/utils/css.d.ts +2 -0
  423. package/internal/utils/css.js +1 -1
  424. package/internal/utils/css.js.map +1 -1
  425. package/internal/utils/dom.d.ts +22 -2
  426. package/internal/utils/dom.js +1 -1
  427. package/internal/utils/dom.js.map +1 -1
  428. package/internal/utils/enum.d.ts +1 -0
  429. package/internal/utils/enum.js +2 -0
  430. package/internal/utils/enum.js.map +1 -0
  431. package/internal/utils/environment.js +1 -1
  432. package/internal/utils/environment.js.map +1 -1
  433. package/internal/utils/events.d.ts +4 -0
  434. package/internal/utils/events.js +1 -1
  435. package/internal/utils/events.js.map +1 -1
  436. package/internal/utils/exists.d.ts +1 -1
  437. package/internal/utils/exists.js.map +1 -1
  438. package/internal/utils/focus.d.ts +12 -0
  439. package/internal/utils/focus.js +2 -0
  440. package/internal/utils/focus.js.map +1 -0
  441. package/internal/utils/framework.js +1 -1
  442. package/internal/utils/framework.js.map +1 -1
  443. package/internal/utils/global.d.ts +5 -3
  444. package/internal/utils/global.js +1 -1
  445. package/internal/utils/global.js.map +1 -1
  446. package/internal/utils/identity.d.ts +31 -1
  447. package/internal/utils/identity.js +1 -1
  448. package/internal/utils/identity.js.map +1 -1
  449. package/internal/utils/keycodes.d.ts +11 -0
  450. package/internal/utils/keycodes.js +1 -1
  451. package/internal/utils/keycodes.js.map +1 -1
  452. package/internal/utils/lit.d.ts +5 -1
  453. package/internal/utils/lit.js +1 -1
  454. package/internal/utils/lit.js.map +1 -1
  455. package/internal/utils/math.d.ts +4 -0
  456. package/internal/utils/math.js +2 -0
  457. package/internal/utils/math.js.map +1 -0
  458. package/internal/utils/metadata.js +1 -1
  459. package/internal/utils/metadata.js.map +1 -1
  460. package/internal/utils/registration.js +1 -1
  461. package/internal/utils/registration.js.map +1 -1
  462. package/internal/utils/responsive.d.ts +2 -2
  463. package/internal/utils/responsive.js +1 -1
  464. package/internal/utils/responsive.js.map +1 -1
  465. package/internal/utils/string.d.ts +6 -0
  466. package/internal/utils/string.js +1 -1
  467. package/internal/utils/string.js.map +1 -1
  468. package/internal/utils/supports.d.ts +0 -2
  469. package/internal/utils/supports.js +1 -1
  470. package/internal/utils/supports.js.map +1 -1
  471. package/internal/utils/traversal.d.ts +3 -0
  472. package/internal/utils/traversal.js +2 -0
  473. package/internal/utils/traversal.js.map +1 -0
  474. package/internal-components/close-button/close-button.element.d.ts +5 -14
  475. package/internal-components/close-button/close-button.element.js +1 -1
  476. package/internal-components/close-button/close-button.element.js.map +1 -1
  477. package/internal-components/close-button/index.js +1 -1
  478. package/internal-components/close-button/register.js +1 -1
  479. package/internal-components/close-button/register.js.map +1 -1
  480. package/internal-components/overlay/index.js +1 -1
  481. package/internal-components/overlay/overlay.element.d.ts +22 -25
  482. package/internal-components/overlay/overlay.element.js +1 -1
  483. package/internal-components/overlay/overlay.element.js.map +1 -1
  484. package/internal-components/overlay/overlay.element.scss.js +1 -1
  485. package/internal-components/overlay/shared.element.scss.js +2 -0
  486. package/internal-components/overlay/shared.element.scss.js.map +1 -0
  487. package/internal-components/panel/panel.element.d.ts +1 -1
  488. package/internal-components/panel/panel.element.js.map +1 -1
  489. package/internal-components/panel/panel.element.scss.js +1 -1
  490. package/internal-components/popup/index.d.ts +2 -0
  491. package/internal-components/popup/index.js +2 -0
  492. package/internal-components/popup/index.js.map +1 -0
  493. package/internal-components/popup/pointer.element.d.ts +35 -0
  494. package/internal-components/popup/pointer.element.js +2 -0
  495. package/internal-components/popup/pointer.element.js.map +1 -0
  496. package/internal-components/popup/pointer.element.scss.js +2 -0
  497. package/internal-components/popup/pointer.element.scss.js.map +1 -0
  498. package/internal-components/popup/popup.element.d.ts +114 -0
  499. package/internal-components/popup/popup.element.js +2 -0
  500. package/internal-components/popup/popup.element.js.map +1 -0
  501. package/internal-components/popup/popup.element.scss.js +2 -0
  502. package/internal-components/popup/popup.element.scss.js.map +1 -0
  503. package/internal-components/popup/register.d.ts +9 -0
  504. package/internal-components/popup/register.js +2 -0
  505. package/internal-components/popup/register.js.map +1 -0
  506. package/internal-components/popup/utils/pointer.utils.d.ts +2 -0
  507. package/internal-components/popup/utils/pointer.utils.js +2 -0
  508. package/internal-components/popup/utils/pointer.utils.js.map +1 -0
  509. package/internal-components/split-handle/index.d.ts +1 -0
  510. package/internal-components/split-handle/index.js +2 -0
  511. package/internal-components/split-handle/index.js.map +1 -0
  512. package/internal-components/split-handle/register.d.ts +7 -0
  513. package/internal-components/split-handle/register.js +2 -0
  514. package/internal-components/split-handle/register.js.map +1 -0
  515. package/internal-components/split-handle/split-handle.element.d.ts +38 -0
  516. package/internal-components/split-handle/split-handle.element.js +2 -0
  517. package/internal-components/split-handle/split-handle.element.js.map +1 -0
  518. package/internal-components/split-handle/split-handle.element.scss.js +2 -0
  519. package/internal-components/split-handle/split-handle.element.scss.js.map +1 -0
  520. package/internal-components/visual-checkbox/visual-checkbox.element.scss.js +1 -1
  521. package/list/list.css +12 -12
  522. package/list/list.min.css +1 -1
  523. package/modal/modal-actions.element.js +1 -1
  524. package/modal/modal-actions.element.js.map +1 -1
  525. package/modal/modal-content.element.d.ts +0 -1
  526. package/modal/modal-content.element.js +1 -1
  527. package/modal/modal-content.element.js.map +1 -1
  528. package/modal/modal.element.d.ts +15 -6
  529. package/modal/modal.element.js +1 -1
  530. package/modal/modal.element.js.map +1 -1
  531. package/modal/modal.element.scss.js +1 -1
  532. package/navigation/navigation-group.element.d.ts +7 -5
  533. package/navigation/navigation-group.element.js.map +1 -1
  534. package/navigation/navigation-item.element.d.ts +6 -4
  535. package/navigation/navigation-item.element.js +1 -1
  536. package/navigation/navigation-item.element.js.map +1 -1
  537. package/navigation/navigation-item.element.scss.js +1 -1
  538. package/navigation/navigation-start.element.d.ts +7 -4
  539. package/navigation/navigation-start.element.js +1 -1
  540. package/navigation/navigation-start.element.js.map +1 -1
  541. package/navigation/navigation.element.d.ts +10 -8
  542. package/navigation/navigation.element.js +1 -1
  543. package/navigation/navigation.element.js.map +1 -1
  544. package/navigation/navigation.element.scss.js +1 -1
  545. package/navigation/utils/{index.d.ts → utils.d.ts} +0 -0
  546. package/navigation/utils/utils.js +2 -0
  547. package/navigation/utils/utils.js.map +1 -0
  548. package/package.json +47 -7
  549. package/pagination/pagination-button.element.d.ts +6 -10
  550. package/pagination/pagination-button.element.js +1 -1
  551. package/pagination/pagination-button.element.js.map +1 -1
  552. package/pagination/pagination.element.js +1 -1
  553. package/pagination/pagination.element.js.map +1 -1
  554. package/pagination/pagination.element.scss.js +1 -1
  555. package/pagination/register.d.ts +1 -0
  556. package/pagination/register.js +1 -1
  557. package/pagination/register.js.map +1 -1
  558. package/pagination/utils.d.ts +5 -0
  559. package/pagination/utils.js +2 -0
  560. package/pagination/utils.js.map +1 -0
  561. package/password/password.element.js +1 -1
  562. package/password/password.element.js.map +1 -1
  563. package/password/register.d.ts +1 -0
  564. package/password/register.js +1 -1
  565. package/password/register.js.map +1 -1
  566. package/polyfills/at.d.ts +15 -0
  567. package/polyfills/at.js +2 -0
  568. package/polyfills/at.js.map +1 -0
  569. package/polyfills/index.d.ts +1 -0
  570. package/polyfills/index.js +1 -1
  571. package/progress-circle/progress-circle.element.d.ts +3 -21
  572. package/progress-circle/progress-circle.element.js +1 -1
  573. package/progress-circle/progress-circle.element.js.map +1 -1
  574. package/progress-circle/progress-circle.element.scss.js +1 -1
  575. package/progress-circle/progress-circle.utils.d.ts +0 -5
  576. package/progress-circle/progress-circle.utils.js +1 -1
  577. package/progress-circle/progress-circle.utils.js.map +1 -1
  578. package/radio/radio-group.element.d.ts +1 -1
  579. package/radio/radio.element.scss.js +1 -1
  580. package/range/range.element.scss.js +1 -1
  581. package/range/range.global.scss.js +1 -1
  582. package/search/register.d.ts +1 -0
  583. package/search/register.js +1 -1
  584. package/search/register.js.map +1 -1
  585. package/search/search.element.js +1 -1
  586. package/search/search.element.js.map +1 -1
  587. package/search/search.global.scss.js +1 -1
  588. package/select/register.d.ts +1 -1
  589. package/select/register.js +1 -1
  590. package/select/register.js.map +1 -1
  591. package/select/select.element.js +1 -1
  592. package/select/select.element.js.map +1 -1
  593. package/select/select.element.scss.js +1 -1
  594. package/select/select.global.scss.js +1 -1
  595. package/selection-panels/checkbox/checkbox-panel.element.d.ts +9 -13
  596. package/selection-panels/checkbox/checkbox-panel.element.js.map +1 -1
  597. package/selection-panels/radio/radio-panel.element.d.ts +19 -14
  598. package/selection-panels/radio/radio-panel.element.js.map +1 -1
  599. package/selection-panels/shared/selection-panel.element.scss.js +1 -1
  600. package/signpost/index.d.ts +1 -0
  601. package/signpost/index.js +2 -0
  602. package/signpost/index.js.map +1 -0
  603. package/signpost/register.d.ts +7 -0
  604. package/signpost/register.js +2 -0
  605. package/signpost/register.js.map +1 -0
  606. package/signpost/signpost.element.d.ts +44 -0
  607. package/signpost/signpost.element.js +2 -0
  608. package/signpost/signpost.element.js.map +1 -0
  609. package/styles/module.layout.css +1412 -641
  610. package/styles/module.layout.min.css +1 -1
  611. package/styles/module.tokens.css +74 -55
  612. package/styles/module.tokens.min.css +1 -1
  613. package/styles/module.typography.css +9 -0
  614. package/styles/module.typography.min.css +1 -1
  615. package/styles/shim.clr-ui.css +640 -0
  616. package/styles/shim.clr-ui.min.css +121 -0
  617. package/styles/theme.dark.css +7 -9
  618. package/styles/theme.dark.min.css +1 -1
  619. package/styles/theme.high-contrast.css +43 -0
  620. package/styles/theme.high-contrast.min.css +1 -0
  621. package/table/table.css +7 -7
  622. package/table/table.min.css +1 -1
  623. package/tag/tag.element.d.ts +3 -2
  624. package/tag/tag.element.js +1 -1
  625. package/tag/tag.element.js.map +1 -1
  626. package/tag/tag.element.scss.js +1 -1
  627. package/test/index.d.ts +1 -0
  628. package/test/index.js +1 -1
  629. package/test/utils.d.ts +1 -1
  630. package/test/utils.js +1 -1
  631. package/test/utils.js.map +1 -1
  632. package/test/web-test-server.d.ts +6 -0
  633. package/test/web-test-server.js +2 -0
  634. package/test/web-test-server.js.map +1 -0
  635. package/test-dropdown/test-dropdown.element.d.ts +2 -3
  636. package/test-dropdown/test-dropdown.element.js +1 -1
  637. package/test-dropdown/test-dropdown.element.js.map +1 -1
  638. package/textarea/textarea.element.scss.js +1 -1
  639. package/time/register.d.ts +1 -0
  640. package/time/register.js +1 -1
  641. package/time/register.js.map +1 -1
  642. package/time/time.element.d.ts +0 -1
  643. package/time/time.element.js +1 -1
  644. package/time/time.element.js.map +1 -1
  645. package/toggle/toggle.element.scss.js +1 -1
  646. package/tokens/tokens.android.xml +33 -14
  647. package/tokens/tokens.d.ts +28 -9
  648. package/tokens/tokens.ios.swift +34 -15
  649. package/tokens/tokens.js +29 -10
  650. package/tokens/tokens.json +130 -29
  651. package/tokens/tokens.scss +90 -12
  652. package/tree-view/register.d.ts +1 -0
  653. package/tree-view/register.js +1 -1
  654. package/tree-view/register.js.map +1 -1
  655. package/tree-view/story-utils.d.ts +22 -0
  656. package/tree-view/tree-item.element.d.ts +10 -3
  657. package/tree-view/tree-item.element.js +1 -1
  658. package/tree-view/tree-item.element.js.map +1 -1
  659. package/tree-view/tree-item.element.scss.js +1 -1
  660. package/tree-view/tree.element.d.ts +0 -1
  661. package/tree-view/tree.element.js.map +1 -1
  662. package/button/icon-button.element.scss.js +0 -2
  663. package/button/icon-button.element.scss.js.map +0 -1
  664. package/button/inline-button.element.js +0 -2
  665. package/button/inline-button.element.js.map +0 -1
  666. package/button/inline-button.element.scss.js.map +0 -1
  667. package/forms/control-action/control-action.element.scss.js +0 -2
  668. package/forms/control-action/control-action.element.scss.js.map +0 -1
  669. package/forms/utils/index.js +0 -2
  670. package/forms/utils/index.js.map +0 -1
  671. package/internal/base/css-gap.base.d.ts +0 -18
  672. package/internal/base/css-gap.base.js +0 -2
  673. package/internal/base/css-gap.base.js.map +0 -1
  674. package/internal/interfaces/index.js +0 -2
  675. package/internal/utils/focus-trap.d.ts +0 -22
  676. package/internal/utils/focus-trap.js +0 -2
  677. package/internal/utils/focus-trap.js.map +0 -1
  678. package/internal-components/close-button/close-button.element.scss.js +0 -2
  679. package/internal-components/close-button/close-button.element.scss.js.map +0 -1
  680. package/navigation/utils/index.js +0 -2
  681. package/navigation/utils/index.js.map +0 -1
  682. package/pagination/pagination-button.element.scss.js +0 -2
  683. package/pagination/pagination-button.element.scss.js.map +0 -1
  684. package/search/search.element.scss.js +0 -2
  685. package/search/search.element.scss.js.map +0 -1
  686. package/styles/module.shims.css +0 -916
  687. package/styles/module.shims.min.css +0 -1
@@ -1,2 +1,2 @@
1
- import{isNumericString as t,isNilOrEmpty as r}from"./identity.js";function n(t,r,...n){return r.map((t=>t(...n))).join(t).trim()}function e(t,...r){return n(" ",t,...r)}function u(t,...r){return n("",t,...r)}function i(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}function f(t){return t.split("-").map(((t,r)=>r?t.charAt(0).toUpperCase()+t.slice(1).toLowerCase():t)).join("")}function o(t){return a(f(t))}function s(t){return p(Object.keys(t),t)}function c(t){return p(Object.keys(t).filter((t=>t.startsWith("--"))),t)}function p(t,r){return t.reduce(((t,n)=>`${t}${r[n]?`${n}:${r[n]};`:""}`),"")}function a(t){return t.charAt(0).toUpperCase()+t.slice(1)}const l="CSS Custom Properties",h="Default Properties";function x(r){if(!r||!r.match(/(\d+)?\.?(\d+)?s/g))return 0;const n=r.substr(0,r.length-1);return t(n)?Number(n):0}function g(t,n,e="prefix"){return!r(n)&&!r(t)&&("prefix"===e?t.substr(0,n.length):t.substr(-1*n.length))===n}function m(t,r){return g(t,r,"prefix")}function b(t,r){return g(t,r,"suffix")}function j(t,n,e="prefix"){if(r(t))return"";if(r(n)||!g(t,n,e))return t;switch(e){case"prefix":return t.substr(n.length);case"suffix":return t.substr(0,t.length-n.length);default:return t}}function C(t,r){return j(t,r,"prefix")}function d(t,r){return j(t,r,"suffix")}function $(t,r,n=""){const e=t.split(" "),u=""===n?e.filter((t=>t!==r)):e.map((t=>t===r?n:t));return u.length>0?u.join(" "):""}export{i as camelCaseToKebabCase,a as capitalizeFirstLetter,l as cssGroup,x as getNumericValueFromCssSecondsStyleValue,m as isPrefixedBy,g as isPrefixedOrSuffixedBy,b as isSuffixedBy,f as kebabCaseToCamelCase,o as kebabCaseToPascalCase,h as propertiesGroup,C as removePrefix,j as removePrefixOrSuffix,d as removeSuffix,$ as replaceWord,c as setPropStyles,s as setStyles,e as transformToSpacedString,n as transformToString,u as transformToUnspacedString};
1
+ import{isNilOrEmpty as t,isNumericString as n,getFromObjectPath as r}from"./identity.js";function e(t,n,...r){return n.map((t=>t(...r))).join(t).trim()}function u(t,...n){return e(" ",t,...n)}function i(t,...n){return e("",t,...n)}function c(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}function o(t){return t.split("-").map(((t,n)=>n?t.charAt(0).toUpperCase()+t.slice(1).toLowerCase():t)).join("")}function f(t){return a(o(t))}function s(t){return l(Object.keys(t),t)}function p(t){return l(Object.keys(t).filter((t=>t.startsWith("--"))),t)}function l(t,n){return t.reduce(((t,r)=>`${t}${n[r]?`${r}:${n[r]};`:""}`),"")}function a(t){return t.charAt(0).toUpperCase()+t.slice(1)}const h="CSS Custom Properties",g="Default Properties";function m(t){return k(t,"s")}function x(n,r,e="prefix"){return!t(r)&&!t(n)&&("prefix"===e?n.substr(0,r.length):n.substr(-1*r.length))===r}function b(t,n){return x(t,n,"prefix")}function j(t,n){return x(t,n,"suffix")}function C(n,r,e="prefix"){if(t(n))return"";if(t(r)||!x(n,r,e))return n;switch(e){case"prefix":return n.substr(r.length);case"suffix":return n.substr(0,n.length-r.length);default:return n}}function $(t,n){return C(t,n,"prefix")}function d(t,n){return C(t,n,"suffix")}function w(t,n,r=""){const e=t.split(" "),u=""===r?e.filter((t=>t!==n)):e.map((t=>t===n?r:t));return u.length>0?u.join(" "):""}function y(t){return t?(t+"").trim().replace(/ +/g," "):""}function A(t){const n=y(t);return""===n?[]:n.split(" ")}function O(t,n,r){return r?Object.assign(n,r(t)):n}function k(t,r){const e=t?t.trim():"";if(""===e||!e.endsWith(r))return 0;const u=e.slice(0,-1*r.length);return n(u)?+u:0}function L(t){return t?k(t.trim(),"px"):0}function P(t,n,e){return t.replace(/\$\{.+?\}/g,(t=>{const u=t.substr(2,t.length-3).trim();return r(u,n,e)}))}export{c as camelCaseToKebabCase,a as capitalizeFirstLetter,O as convertStringPropertyToObjectConfig,h as cssGroup,m as getNumericValueFromCssSecondsStyleValue,P as interpolateNaively,b as isPrefixedBy,x as isPrefixedOrSuffixedBy,j as isSuffixedBy,o as kebabCaseToCamelCase,f as kebabCaseToPascalCase,L as pluckPixelValue,k as pluckValueFromStringUnit,g as propertiesGroup,$ as removePrefix,C as removePrefixOrSuffix,d as removeSuffix,w as replaceWord,p as setPropStyles,s as setStyles,A as transformSpacedStringToArray,u as transformToSpacedString,e as transformToString,i as transformToUnspacedString,y as trimExtraWhitespace};
2
2
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sources":["../../../../src/internal/utils/string.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { isNilOrEmpty, isNumericString } from './identity.js';\nexport function transformToString(delimiter, fns, ...args) {\n return fns\n .map(fn => {\n return fn(...args);\n })\n .join(delimiter)\n .trim();\n}\n// have to go this route because ramda curry throws typescript for loops\nexport function transformToSpacedString(fns, ...args) {\n return transformToString(' ', fns, ...args);\n}\nexport function transformToUnspacedString(fns, ...args) {\n return transformToString('', fns, ...args);\n}\nexport function camelCaseToKebabCase(value) {\n return value.replace(/[A-Z]/g, l => `-${l.toLowerCase()}`);\n}\nexport function kebabCaseToCamelCase(str) {\n return str\n .split('-')\n .map((item, index) => (index ? item.charAt(0).toUpperCase() + item.slice(1).toLowerCase() : item))\n .join('');\n}\nexport function kebabCaseToPascalCase(string) {\n const camelCase = kebabCaseToCamelCase(string);\n return capitalizeFirstLetter(camelCase);\n}\n/**\n * Take a object map of css properties and if value concatenate string of all computed values\n * Useful for dynamic style tags in lit templates\n */\nexport function setStyles(styles) {\n return createPropStyleSelectors(Object.keys(styles), styles);\n}\nexport function setPropStyles(styles) {\n return createPropStyleSelectors(Object.keys(styles).filter(prop => prop.startsWith('--')), styles);\n}\nfunction createPropStyleSelectors(props, styles) {\n return props.reduce((allStyles, prop) => `${allStyles}${styles[prop] ? `${prop}:${styles[prop]};` : ''}`, '');\n}\nexport function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n/** Used for Storybook docs to define knob group for css properties */\nexport const cssGroup = 'CSS Custom Properties';\n/** Used for Storybook docs to define knob group for JavaScript properties */\nexport const propertiesGroup = 'Default Properties';\nexport function getNumericValueFromCssSecondsStyleValue(styleValueInSeconds) {\n const secondsStringChecker = /(\\d+)?\\.?(\\d+)?s/g;\n if (!styleValueInSeconds || !styleValueInSeconds.match(secondsStringChecker)) {\n return 0; // validate expected input\n }\n const copyVal = styleValueInSeconds.substr(0, styleValueInSeconds.length - 1); // cut off trailing 's'\n return isNumericString(copyVal) ? Number(copyVal) : 0;\n}\nexport function isPrefixedOrSuffixedBy(str, stringFix, prefixOrSuffix = 'prefix') {\n if (isNilOrEmpty(stringFix) || isNilOrEmpty(str)) {\n return false;\n }\n const myFixToTest = prefixOrSuffix === 'prefix' ? str.substr(0, stringFix.length) : str.substr(-1 * stringFix.length);\n return myFixToTest === stringFix;\n}\nexport function isPrefixedBy(str, prefix) {\n return isPrefixedOrSuffixedBy(str, prefix, 'prefix');\n}\nexport function isSuffixedBy(str, suffix) {\n return isPrefixedOrSuffixedBy(str, suffix, 'suffix');\n}\nexport function removePrefixOrSuffix(str, stringFix, prefixOrSuffix = 'prefix') {\n if (isNilOrEmpty(str)) {\n return '';\n }\n if (isNilOrEmpty(stringFix) || !isPrefixedOrSuffixedBy(str, stringFix, prefixOrSuffix)) {\n return str;\n }\n switch (prefixOrSuffix) {\n case 'prefix':\n return str.substr(stringFix.length);\n case 'suffix':\n return str.substr(0, str.length - stringFix.length);\n default:\n return str;\n }\n}\nexport function removePrefix(str, prefix) {\n return removePrefixOrSuffix(str, prefix, 'prefix');\n}\nexport function removeSuffix(str, suffix) {\n return removePrefixOrSuffix(str, suffix, 'suffix');\n}\nexport function replaceWord(str, wordToReplace, replaceWith = '') {\n const words = str.split(' ');\n const returnWords = replaceWith === ''\n ? words.filter(w => w !== wordToReplace)\n : words.map(w => (w === wordToReplace ? replaceWith : w));\n return returnWords.length > 0 ? returnWords.join(' ') : '';\n}\n"],"names":["transformToString","delimiter","fns","args","map","fn","join","trim","transformToSpacedString","transformToUnspacedString","camelCaseToKebabCase","value","replace","l","toLowerCase","kebabCaseToCamelCase","str","split","item","index","charAt","toUpperCase","slice","kebabCaseToPascalCase","string","capitalizeFirstLetter","setStyles","styles","createPropStyleSelectors","Object","keys","setPropStyles","filter","prop","startsWith","props","reduce","allStyles","cssGroup","propertiesGroup","getNumericValueFromCssSecondsStyleValue","styleValueInSeconds","match","copyVal","substr","length","isNumericString","Number","isPrefixedOrSuffixedBy","stringFix","prefixOrSuffix","isNilOrEmpty","isPrefixedBy","prefix","isSuffixedBy","suffix","removePrefixOrSuffix","removePrefix","removeSuffix","replaceWord","wordToReplace","replaceWith","words","returnWords","w"],"mappings":"kEAMO,SAASA,EAAkBC,EAAWC,KAAQC,GACjD,OAAOD,EACFE,KAAIC,GACEA,KAAMF,KAEZG,KAAKL,GACLM,OAGF,SAASC,EAAwBN,KAAQC,GAC5C,OAAOH,EAAkB,IAAKE,KAAQC,GAEnC,SAASM,EAA0BP,KAAQC,GAC9C,OAAOH,EAAkB,GAAIE,KAAQC,GAElC,SAASO,EAAqBC,GACjC,OAAOA,EAAMC,QAAQ,UAAUC,GAAK,IAAIA,EAAEC,gBAEvC,SAASC,EAAqBC,GACjC,OAAOA,EACFC,MAAM,KACNb,KAAI,CAACc,EAAMC,IAAWA,EAAQD,EAAKE,OAAO,GAAGC,cAAgBH,EAAKI,MAAM,GAAGR,cAAgBI,IAC3FZ,KAAK,IAEP,SAASiB,EAAsBC,GAElC,OAAOC,EADWV,EAAqBS,IAOpC,SAASE,EAAUC,GACtB,OAAOC,EAAyBC,OAAOC,KAAKH,GAASA,GAElD,SAASI,EAAcJ,GAC1B,OAAOC,EAAyBC,OAAOC,KAAKH,GAAQK,QAAOC,GAAQA,EAAKC,WAAW,QAAQP,GAE/F,SAASC,EAAyBO,EAAOR,GACrC,OAAOQ,EAAMC,QAAO,CAACC,EAAWJ,IAAS,GAAGI,IAAYV,EAAOM,GAAQ,GAAGA,KAAQN,EAAOM,MAAW,MAAM,IAEvG,SAASR,EAAsBD,GAClC,OAAOA,EAAOJ,OAAO,GAAGC,cAAgBG,EAAOF,MAAM,GAG7C,MAACgB,EAAW,wBAEXC,EAAkB,qBACxB,SAASC,EAAwCC,GAEpD,IAAKA,IAAwBA,EAAoBC,MADpB,qBAEzB,OAAO,EAEX,MAAMC,EAAUF,EAAoBG,OAAO,EAAGH,EAAoBI,OAAS,GAC3E,OAAOC,EAAgBH,GAAWI,OAAOJ,GAAW,EAEjD,SAASK,EAAuBhC,EAAKiC,EAAWC,EAAiB,UACpE,OAAIC,EAAaF,KAAcE,EAAanC,KAGL,WAAnBkC,EAA8BlC,EAAI4B,OAAO,EAAGK,EAAUJ,QAAU7B,EAAI4B,QAAQ,EAAIK,EAAUJ,WACvFI,EAEpB,SAASG,EAAapC,EAAKqC,GAC9B,OAAOL,EAAuBhC,EAAKqC,EAAQ,UAExC,SAASC,EAAatC,EAAKuC,GAC9B,OAAOP,EAAuBhC,EAAKuC,EAAQ,UAExC,SAASC,EAAqBxC,EAAKiC,EAAWC,EAAiB,UAClE,GAAIC,EAAanC,GACb,MAAO,GAEX,GAAImC,EAAaF,KAAeD,EAAuBhC,EAAKiC,EAAWC,GACnE,OAAOlC,EAEX,OAAQkC,GACJ,IAAK,SACD,OAAOlC,EAAI4B,OAAOK,EAAUJ,QAChC,IAAK,SACD,OAAO7B,EAAI4B,OAAO,EAAG5B,EAAI6B,OAASI,EAAUJ,QAChD,QACI,OAAO7B,GAGZ,SAASyC,EAAazC,EAAKqC,GAC9B,OAAOG,EAAqBxC,EAAKqC,EAAQ,UAEtC,SAASK,EAAa1C,EAAKuC,GAC9B,OAAOC,EAAqBxC,EAAKuC,EAAQ,UAEtC,SAASI,EAAY3C,EAAK4C,EAAeC,EAAc,IAC1D,MAAMC,EAAQ9C,EAAIC,MAAM,KAClB8C,EAA8B,KAAhBF,EACdC,EAAM9B,QAAOgC,GAAKA,IAAMJ,IACxBE,EAAM1D,KAAI4D,GAAMA,IAAMJ,EAAgBC,EAAcG,IAC1D,OAAOD,EAAYlB,OAAS,EAAIkB,EAAYzD,KAAK,KAAO"}
1
+ {"version":3,"file":"string.js","sources":["../../../../src/internal/utils/string.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { getFromObjectPath, isNilOrEmpty, isNumericString } from './identity.js';\nexport function transformToString(delimiter, fns, ...args) {\n return fns\n .map(fn => {\n return fn(...args);\n })\n .join(delimiter)\n .trim();\n}\n// have to go this route because ramda curry throws typescript for loops\nexport function transformToSpacedString(fns, ...args) {\n return transformToString(' ', fns, ...args);\n}\nexport function transformToUnspacedString(fns, ...args) {\n return transformToString('', fns, ...args);\n}\nexport function camelCaseToKebabCase(value) {\n return value.replace(/[A-Z]/g, l => `-${l.toLowerCase()}`);\n}\nexport function kebabCaseToCamelCase(str) {\n return str\n .split('-')\n .map((item, index) => (index ? item.charAt(0).toUpperCase() + item.slice(1).toLowerCase() : item))\n .join('');\n}\nexport function kebabCaseToPascalCase(string) {\n const camelCase = kebabCaseToCamelCase(string);\n return capitalizeFirstLetter(camelCase);\n}\n/**\n * Take a object map of css properties and if value concatenate string of all computed values\n * Useful for dynamic style tags in lit templates\n */\nexport function setStyles(styles) {\n return createPropStyleSelectors(Object.keys(styles), styles);\n}\nexport function setPropStyles(styles) {\n return createPropStyleSelectors(Object.keys(styles).filter(prop => prop.startsWith('--')), styles);\n}\nfunction createPropStyleSelectors(props, styles) {\n return props.reduce((allStyles, prop) => `${allStyles}${styles[prop] ? `${prop}:${styles[prop]};` : ''}`, '');\n}\nexport function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n/** Used for Storybook docs to define knob group for css properties */\nexport const cssGroup = 'CSS Custom Properties';\n/** Used for Storybook docs to define knob group for JavaScript properties */\nexport const propertiesGroup = 'Default Properties';\nexport function getNumericValueFromCssSecondsStyleValue(styleValueInSeconds) {\n return pluckValueFromStringUnit(styleValueInSeconds, 's');\n}\nexport function isPrefixedOrSuffixedBy(str, stringFix, prefixOrSuffix = 'prefix') {\n if (isNilOrEmpty(stringFix) || isNilOrEmpty(str)) {\n return false;\n }\n const myFixToTest = prefixOrSuffix === 'prefix' ? str.substr(0, stringFix.length) : str.substr(-1 * stringFix.length);\n return myFixToTest === stringFix;\n}\nexport function isPrefixedBy(str, prefix) {\n return isPrefixedOrSuffixedBy(str, prefix, 'prefix');\n}\nexport function isSuffixedBy(str, suffix) {\n return isPrefixedOrSuffixedBy(str, suffix, 'suffix');\n}\nexport function removePrefixOrSuffix(str, stringFix, prefixOrSuffix = 'prefix') {\n if (isNilOrEmpty(str)) {\n return '';\n }\n if (isNilOrEmpty(stringFix) || !isPrefixedOrSuffixedBy(str, stringFix, prefixOrSuffix)) {\n return str;\n }\n switch (prefixOrSuffix) {\n case 'prefix':\n return str.substr(stringFix.length);\n case 'suffix':\n return str.substr(0, str.length - stringFix.length);\n default:\n return str;\n }\n}\nexport function removePrefix(str, prefix) {\n return removePrefixOrSuffix(str, prefix, 'prefix');\n}\nexport function removeSuffix(str, suffix) {\n return removePrefixOrSuffix(str, suffix, 'suffix');\n}\nexport function replaceWord(str, wordToReplace, replaceWith = '') {\n const words = str.split(' ');\n const returnWords = replaceWith === ''\n ? words.filter(w => w !== wordToReplace)\n : words.map(w => (w === wordToReplace ? replaceWith : w));\n return returnWords.length > 0 ? returnWords.join(' ') : '';\n}\nexport function trimExtraWhitespace(str) {\n return !str ? '' : (str + '').trim().replace(/ +/g, ' ');\n}\nexport function transformSpacedStringToArray(str) {\n const trimmed = trimExtraWhitespace(str);\n return trimmed === '' ? [] : trimmed.split(' ');\n}\nexport function convertStringPropertyToObjectConfig(property, defaultConfig, converter) {\n if (!converter) {\n return defaultConfig;\n }\n return Object.assign(defaultConfig, converter(property));\n}\nexport function pluckValueFromStringUnit(val, unit) {\n const trimmedVal = val ? val.trim() : '';\n if (trimmedVal === '' || !trimmedVal.endsWith(unit)) {\n return 0;\n }\n const valueWithoutUnit = trimmedVal.slice(0, -1 * unit.length);\n return isNumericString(valueWithoutUnit) ? +valueWithoutUnit : 0;\n}\nexport function pluckPixelValue(val) {\n return !val ? 0 : pluckValueFromStringUnit(val.trim(), 'px');\n}\nexport function interpolateNaively(template, dataObj, fallback) {\n const interpolatedString = template.replace(/\\$\\{.+?\\}/g, match => {\n const path = match.substr(2, match.length - 3).trim();\n const value = getFromObjectPath(path, dataObj, fallback);\n return value;\n });\n return interpolatedString;\n}\n"],"names":["transformToString","delimiter","fns","args","map","fn","join","trim","transformToSpacedString","transformToUnspacedString","camelCaseToKebabCase","value","replace","l","toLowerCase","kebabCaseToCamelCase","str","split","item","index","charAt","toUpperCase","slice","kebabCaseToPascalCase","string","capitalizeFirstLetter","setStyles","styles","createPropStyleSelectors","Object","keys","setPropStyles","filter","prop","startsWith","props","reduce","allStyles","cssGroup","propertiesGroup","getNumericValueFromCssSecondsStyleValue","styleValueInSeconds","pluckValueFromStringUnit","isPrefixedOrSuffixedBy","stringFix","prefixOrSuffix","isNilOrEmpty","substr","length","isPrefixedBy","prefix","isSuffixedBy","suffix","removePrefixOrSuffix","removePrefix","removeSuffix","replaceWord","wordToReplace","replaceWith","words","returnWords","w","trimExtraWhitespace","transformSpacedStringToArray","trimmed","convertStringPropertyToObjectConfig","property","defaultConfig","converter","assign","val","unit","trimmedVal","endsWith","valueWithoutUnit","isNumericString","pluckPixelValue","interpolateNaively","template","dataObj","fallback","match","path","getFromObjectPath"],"mappings":"yFAMO,SAASA,EAAkBC,EAAWC,KAAQC,GACjD,OAAOD,EACFE,KAAIC,GACEA,KAAMF,KAEZG,KAAKL,GACLM,OAGF,SAASC,EAAwBN,KAAQC,GAC5C,OAAOH,EAAkB,IAAKE,KAAQC,GAEnC,SAASM,EAA0BP,KAAQC,GAC9C,OAAOH,EAAkB,GAAIE,KAAQC,GAElC,SAASO,EAAqBC,GACjC,OAAOA,EAAMC,QAAQ,UAAUC,GAAK,IAAIA,EAAEC,gBAEvC,SAASC,EAAqBC,GACjC,OAAOA,EACFC,MAAM,KACNb,KAAI,CAACc,EAAMC,IAAWA,EAAQD,EAAKE,OAAO,GAAGC,cAAgBH,EAAKI,MAAM,GAAGR,cAAgBI,IAC3FZ,KAAK,IAEP,SAASiB,EAAsBC,GAElC,OAAOC,EADWV,EAAqBS,IAOpC,SAASE,EAAUC,GACtB,OAAOC,EAAyBC,OAAOC,KAAKH,GAASA,GAElD,SAASI,EAAcJ,GAC1B,OAAOC,EAAyBC,OAAOC,KAAKH,GAAQK,QAAOC,GAAQA,EAAKC,WAAW,QAAQP,GAE/F,SAASC,EAAyBO,EAAOR,GACrC,OAAOQ,EAAMC,QAAO,CAACC,EAAWJ,IAAS,GAAGI,IAAYV,EAAOM,GAAQ,GAAGA,KAAQN,EAAOM,MAAW,MAAM,IAEvG,SAASR,EAAsBD,GAClC,OAAOA,EAAOJ,OAAO,GAAGC,cAAgBG,EAAOF,MAAM,GAG7C,MAACgB,EAAW,wBAEXC,EAAkB,qBACxB,SAASC,EAAwCC,GACpD,OAAOC,EAAyBD,EAAqB,KAElD,SAASE,EAAuB3B,EAAK4B,EAAWC,EAAiB,UACpE,OAAIC,EAAaF,KAAcE,EAAa9B,KAGL,WAAnB6B,EAA8B7B,EAAI+B,OAAO,EAAGH,EAAUI,QAAUhC,EAAI+B,QAAQ,EAAIH,EAAUI,WACvFJ,EAEpB,SAASK,EAAajC,EAAKkC,GAC9B,OAAOP,EAAuB3B,EAAKkC,EAAQ,UAExC,SAASC,EAAanC,EAAKoC,GAC9B,OAAOT,EAAuB3B,EAAKoC,EAAQ,UAExC,SAASC,EAAqBrC,EAAK4B,EAAWC,EAAiB,UAClE,GAAIC,EAAa9B,GACb,MAAO,GAEX,GAAI8B,EAAaF,KAAeD,EAAuB3B,EAAK4B,EAAWC,GACnE,OAAO7B,EAEX,OAAQ6B,GACJ,IAAK,SACD,OAAO7B,EAAI+B,OAAOH,EAAUI,QAChC,IAAK,SACD,OAAOhC,EAAI+B,OAAO,EAAG/B,EAAIgC,OAASJ,EAAUI,QAChD,QACI,OAAOhC,GAGZ,SAASsC,EAAatC,EAAKkC,GAC9B,OAAOG,EAAqBrC,EAAKkC,EAAQ,UAEtC,SAASK,EAAavC,EAAKoC,GAC9B,OAAOC,EAAqBrC,EAAKoC,EAAQ,UAEtC,SAASI,EAAYxC,EAAKyC,EAAeC,EAAc,IAC1D,MAAMC,EAAQ3C,EAAIC,MAAM,KAClB2C,EAA8B,KAAhBF,EACdC,EAAM3B,QAAO6B,GAAKA,IAAMJ,IACxBE,EAAMvD,KAAIyD,GAAMA,IAAMJ,EAAgBC,EAAcG,IAC1D,OAAOD,EAAYZ,OAAS,EAAIY,EAAYtD,KAAK,KAAO,GAErD,SAASwD,EAAoB9C,GAChC,OAAQA,GAAYA,EAAM,IAAIT,OAAOK,QAAQ,OAAQ,KAAvC,GAEX,SAASmD,EAA6B/C,GACzC,MAAMgD,EAAUF,EAAoB9C,GACpC,MAAmB,KAAZgD,EAAiB,GAAKA,EAAQ/C,MAAM,KAExC,SAASgD,EAAoCC,EAAUC,EAAeC,GACzE,OAAKA,EAGEvC,OAAOwC,OAAOF,EAAeC,EAAUF,IAFnCC,EAIR,SAASzB,EAAyB4B,EAAKC,GAC1C,MAAMC,EAAaF,EAAMA,EAAI/D,OAAS,GACtC,GAAmB,KAAfiE,IAAsBA,EAAWC,SAASF,GAC1C,OAAO,EAEX,MAAMG,EAAmBF,EAAWlD,MAAM,GAAI,EAAIiD,EAAKvB,QACvD,OAAO2B,EAAgBD,IAAqBA,EAAmB,EAE5D,SAASE,EAAgBN,GAC5B,OAAQA,EAAU5B,EAAyB4B,EAAI/D,OAAQ,MAAzC,EAEX,SAASsE,EAAmBC,EAAUC,EAASC,GAMlD,OAL2BF,EAASlE,QAAQ,cAAcqE,IACtD,MAAMC,EAAOD,EAAMlC,OAAO,EAAGkC,EAAMjC,OAAS,GAAGzC,OAE/C,OADc4E,EAAkBD,EAAMH,EAASC"}
@@ -1,11 +1,9 @@
1
1
  export interface FeatureSupportMatrix {
2
2
  js?: boolean;
3
- flexGap?: boolean;
4
3
  }
5
4
  declare class BrowserFeatures {
6
5
  supports: {
7
6
  js: boolean;
8
- flexGap: boolean;
9
7
  };
10
8
  constructor();
11
9
  }
@@ -1,2 +1,2 @@
1
- import{camelCaseToKebabCase as t}from"./string.js";const e=new class{constructor(){if(this.supports={js:!0,flexGap:s()},!document.body.hasAttribute("cds-supports")||"no-js"===document.body.getAttribute("cds-supports")){const e=t(Object.keys(this.supports).reduce(((t,e)=>`${t} ${this.supports[e]?e:"no-"+e}`),"")).trim();document.body.setAttribute("cds-supports",e)}}};function s(){const t=document.createElement("div");t.style.display="flex",t.style.flexDirection="column",t.style.rowGap="1px",t.appendChild(document.createElement("div")),t.appendChild(document.createElement("div")),document.body.appendChild(t);const e=1===t.scrollHeight;return t.parentNode.removeChild(t),e}export{e as browserFeatures};
1
+ import{camelCaseToKebabCase as t}from"./string.js";const s=new class{constructor(){if(this.supports={js:!0},!document.body.hasAttribute("cds-supports")||"no-js"===document.body.getAttribute("cds-supports")){const s=t(Object.keys(this.supports).reduce(((t,s)=>`${t} ${this.supports[s]?s:"no-"+s}`),"")).trim();document.body.setAttribute("cds-supports",s)}}};export{s as browserFeatures};
2
2
  //# sourceMappingURL=supports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supports.js","sources":["../../../../src/internal/utils/supports.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { camelCaseToKebabCase } from './string.js';\nclass BrowserFeatures {\n constructor() {\n this.supports = {\n js: true,\n flexGap: supportsFlexGap(),\n };\n if (!document.body.hasAttribute('cds-supports') || document.body.getAttribute('cds-supports') === 'no-js') {\n const supports = camelCaseToKebabCase(Object.keys(this.supports).reduce((prev, next) => `${prev} ${this.supports[next] ? next : `no-${next}`}`, '')).trim();\n document.body.setAttribute('cds-supports', supports);\n }\n }\n}\nexport const browserFeatures = new BrowserFeatures();\nfunction supportsFlexGap() {\n const flex = document.createElement('div');\n flex.style.display = 'flex';\n flex.style.flexDirection = 'column';\n flex.style.rowGap = '1px';\n // create two, elements inside it\n flex.appendChild(document.createElement('div'));\n flex.appendChild(document.createElement('div'));\n // append to the DOM (needed to obtain scrollHeight)\n document.body.appendChild(flex);\n const isSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap\n flex.parentNode.removeChild(flex);\n return isSupported;\n}\n"],"names":["browserFeatures","constructor","this","supports","js","flexGap","supportsFlexGap","document","body","hasAttribute","getAttribute","camelCaseToKebabCase","Object","keys","reduce","prev","next","trim","setAttribute","flex","createElement","style","display","flexDirection","rowGap","appendChild","isSupported","scrollHeight","parentNode","removeChild"],"mappings":"mDAkBY,MAACA,EAAkB,IAZ/B,MACIC,cAKI,GAJAC,KAAKC,SAAW,CACZC,IAAI,EACJC,QAASC,MAERC,SAASC,KAAKC,aAAa,iBAAkE,UAA/CF,SAASC,KAAKE,aAAa,gBAA6B,CACvG,MAAMP,EAAWQ,EAAqBC,OAAOC,KAAKX,KAAKC,UAAUW,QAAO,CAACC,EAAMC,IAAS,GAAGD,KAAQb,KAAKC,SAASa,GAAQA,EAAO,MAAMA,KAAU,KAAKC,OACrJV,SAASC,KAAKU,aAAa,eAAgBf,MAKvD,SAASG,IACL,MAAMa,EAAOZ,SAASa,cAAc,OACpCD,EAAKE,MAAMC,QAAU,OACrBH,EAAKE,MAAME,cAAgB,SAC3BJ,EAAKE,MAAMG,OAAS,MAEpBL,EAAKM,YAAYlB,SAASa,cAAc,QACxCD,EAAKM,YAAYlB,SAASa,cAAc,QAExCb,SAASC,KAAKiB,YAAYN,GAC1B,MAAMO,EAAoC,IAAtBP,EAAKQ,aAEzB,OADAR,EAAKS,WAAWC,YAAYV,GACrBO"}
1
+ {"version":3,"file":"supports.js","sources":["../../../../src/internal/utils/supports.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { camelCaseToKebabCase } from './string.js';\nclass BrowserFeatures {\n constructor() {\n this.supports = {\n js: true,\n };\n if (!document.body.hasAttribute('cds-supports') || document.body.getAttribute('cds-supports') === 'no-js') {\n const supports = camelCaseToKebabCase(Object.keys(this.supports).reduce((prev, next) => `${prev} ${this.supports[next] ? next : `no-${next}`}`, '')).trim();\n document.body.setAttribute('cds-supports', supports);\n }\n }\n}\nexport const browserFeatures = new BrowserFeatures();\n"],"names":["browserFeatures","constructor","this","supports","js","document","body","hasAttribute","getAttribute","camelCaseToKebabCase","Object","keys","reduce","prev","next","trim","setAttribute"],"mappings":"mDAiBY,MAACA,EAAkB,IAX/B,MACIC,cAII,GAHAC,KAAKC,SAAW,CACZC,IAAI,IAEHC,SAASC,KAAKC,aAAa,iBAAkE,UAA/CF,SAASC,KAAKE,aAAa,gBAA6B,CACvG,MAAML,EAAWM,EAAqBC,OAAOC,KAAKT,KAAKC,UAAUS,QAAO,CAACC,EAAMC,IAAS,GAAGD,KAAQX,KAAKC,SAASW,GAAQA,EAAO,MAAMA,KAAU,KAAKC,OACrJV,SAASC,KAAKU,aAAa,eAAgBb"}
@@ -0,0 +1,3 @@
1
+ export declare function getFlattenedFocusableItems(element: Node, depth?: number): HTMLElement[];
2
+ export declare function getFlattenedDOMTree(node: Node, depth?: number): HTMLElement[];
3
+ export declare function getChildren(node: any): any;
@@ -0,0 +1,2 @@
1
+ import{focusable as e}from"./focus.js";function r(r,t=10){return n(r,t).filter((r=>e(r)))}function n(e,r=10){return Array.from(t(e)).reduce(((e,o)=>[...e,[o,[...Array.from(t(o)).map((e=>[e,n(e,r)]))]]]),[]).flat(r)}function t(e){if(e.documentElement)return e.documentElement.children;if(e.shadowRoot)return e.shadowRoot.children;if(e.assignedElements){const r=e.assignedElements();return r.length?r:e.children}return e.children}export{t as getChildren,n as getFlattenedDOMTree,r as getFlattenedFocusableItems};
2
+ //# sourceMappingURL=traversal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traversal.js","sources":["../../../../src/internal/utils/traversal.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { focusable } from './focus.js';\nexport function getFlattenedFocusableItems(element, depth = 10) {\n return getFlattenedDOMTree(element, depth).filter((e) => focusable(e));\n}\nexport function getFlattenedDOMTree(node, depth = 10) {\n return Array.from(getChildren(node))\n .reduce((prev, next) => {\n return [...prev, [next, [...Array.from(getChildren(next)).map((i) => [i, getFlattenedDOMTree(i, depth)])]]];\n }, [])\n .flat(depth);\n}\nexport function getChildren(node) {\n if (node.documentElement) {\n return node.documentElement.children;\n }\n else if (node.shadowRoot) {\n return node.shadowRoot.children;\n }\n else if (node.assignedElements) {\n const slotted = node.assignedElements(); // slotted elements\n return slotted.length ? slotted : node.children; // else slot fallback\n }\n else {\n return node.children;\n }\n}\n"],"names":["getFlattenedFocusableItems","element","depth","getFlattenedDOMTree","filter","e","focusable","node","Array","from","getChildren","reduce","prev","next","map","i","flat","documentElement","children","shadowRoot","assignedElements","slotted","length"],"mappings":"uCAMO,SAASA,EAA2BC,EAASC,EAAQ,IACxD,OAAOC,EAAoBF,EAASC,GAAOE,QAAQC,GAAMC,EAAUD,KAEhE,SAASF,EAAoBI,EAAML,EAAQ,IAC9C,OAAOM,MAAMC,KAAKC,EAAYH,IACzBI,QAAO,CAACC,EAAMC,IACR,IAAID,EAAM,CAACC,EAAM,IAAIL,MAAMC,KAAKC,EAAYG,IAAOC,KAAKC,GAAM,CAACA,EAAGZ,EAAoBY,EAAGb,UACjG,IACEc,KAAKd,GAEP,SAASQ,EAAYH,GACxB,GAAIA,EAAKU,gBACL,OAAOV,EAAKU,gBAAgBC,SAE3B,GAAIX,EAAKY,WACV,OAAOZ,EAAKY,WAAWD,SAEtB,GAAIX,EAAKa,iBAAkB,CAC5B,MAAMC,EAAUd,EAAKa,mBACrB,OAAOC,EAAQC,OAASD,EAAUd,EAAKW,SAGvC,OAAOX,EAAKW"}
@@ -1,9 +1,7 @@
1
- import { CdsBaseButton, HTMLAttributeTuple } from '@cds/core/internal';
1
+ import { CdsButtonAction } from '@cds/core/button-action';
2
2
  export declare const CdsCloseButtonTagName = "cds-internal-close-button";
3
- export declare function appendCloseButton(hostElement: HTMLElement, attributes?: HTMLAttributeTuple[], clickHandler?: () => void): void;
4
- export declare function removeCloseButton(hostElement: HTMLElement): void;
5
3
  /**
6
- * Standard close button for Clarity Components
4
+ * Standard close button for Clarity Components extends default cds-button-action
7
5
  *
8
6
  * ```typescript
9
7
  * import '@cds/core/internal-components/close-button/register.js';
@@ -14,15 +12,8 @@ export declare function removeCloseButton(hostElement: HTMLElement): void;
14
12
  * ```
15
13
  *
16
14
  * @element cds-internal-close-button
17
- * @cssprop --background
18
- * @cssprop --color
19
- * @cssprop --opacity
20
- * @cssprop --padding
21
15
  */
22
- export declare class CdsInternalCloseButton extends CdsBaseButton {
23
- iconSize: string;
24
- iconShape: string;
25
- render(): import("lit-html").TemplateResult<1>;
26
- static get styles(): import("lit").CSSResultGroup[];
27
- constructor();
16
+ export declare class CdsInternalCloseButton extends CdsButtonAction {
17
+ shape: string;
18
+ connectedCallback(): void;
28
19
  }
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{html as e}from"lit";import{isBrowser as o,setAttributes as i,CdsBaseButton as n,baseStyles as s,property as c}from"@cds/core/internal";import{ClarityIcons as r}from"@cds/core/icon/icon.service.js";import{timesIcon as d}from"@cds/core/icon/shapes/times.js";import p from"./close-button.element.scss.js";const l="cds-internal-close-button";function m(t,e,n){if(o()&&t){const o=document.createElement("cds-internal-close-button");e&&e.length>0&&i(o,...e),n&&o.addEventListener("click",n.bind(t)),t.appendChild(o)}}function a(t){if(o()&&t){const e=t.querySelector("cds-internal-close-button");e&&t.removeChild(e)}}class h extends n{constructor(){super();this.iconSize="18",this.iconShape="times",r.addIcons(d)}render(){return e`<div class="private-host"><cds-icon shape="${this.iconShape}" size="${this.iconSize}"></cds-icon></div>`}static get styles(){return[s,p]}}t([c({type:String})],h.prototype,"iconSize",void 0),t([c({type:String})],h.prototype,"iconShape",void 0);export{l as CdsCloseButtonTagName,h as CdsInternalCloseButton,m as appendCloseButton,a as removeCloseButton};
1
+ import{__decorate as t}from"tslib";import{property as e}from"@cds/core/internal";import{CdsButtonAction as o}from"@cds/core/button-action";const s="cds-internal-close-button";class r extends o{constructor(){super(...arguments);this.shape="close"}connectedCallback(){super.connectedCallback(),this.ariaLabel=this.ariaLabel?this.ariaLabel:this.i18n.close}}t([e({type:String})],r.prototype,"shape",void 0);export{s as CdsCloseButtonTagName,r as CdsInternalCloseButton};
2
2
  //# sourceMappingURL=close-button.element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"close-button.element.js","sources":["../../../../src/internal-components/close-button/close-button.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { CdsBaseButton, baseStyles, isBrowser, property, setAttributes } from '@cds/core/internal';\nimport { ClarityIcons } from '@cds/core/icon/icon.service.js';\nimport { timesIcon } from '@cds/core/icon/shapes/times.js';\nimport styles from './close-button.element.scss';\nexport const CdsCloseButtonTagName = 'cds-internal-close-button';\nexport function appendCloseButton(hostElement, attributes, clickHandler) {\n if (isBrowser() && !!hostElement) {\n const closeBtn = document.createElement(CdsCloseButtonTagName);\n if (attributes && attributes.length > 0) {\n setAttributes(closeBtn, ...attributes);\n }\n if (clickHandler) {\n closeBtn.addEventListener('click', clickHandler.bind(hostElement));\n }\n hostElement.appendChild(closeBtn);\n }\n}\nexport function removeCloseButton(hostElement) {\n if (isBrowser() && !!hostElement) {\n const closeBtn = hostElement.querySelector(CdsCloseButtonTagName);\n if (closeBtn) {\n hostElement.removeChild(closeBtn);\n }\n }\n}\n/**\n * Standard close button for Clarity Components\n *\n * ```typescript\n * import '@cds/core/internal-components/close-button/register.js';\n * ```\n *\n * ```html\n * <cds-internal-close-button></cds-internal-close-button>\n * ```\n *\n * @element cds-internal-close-button\n * @cssprop --background\n * @cssprop --color\n * @cssprop --opacity\n * @cssprop --padding\n */\nexport class CdsInternalCloseButton extends CdsBaseButton {\n constructor() {\n super();\n this.iconSize = '18';\n this.iconShape = 'times';\n ClarityIcons.addIcons(timesIcon);\n }\n render() {\n return html `\n <div class=\"private-host\">\n <cds-icon shape=\"${this.iconShape}\" size=\"${this.iconSize}\"></cds-icon>\n </div>\n `;\n }\n static get styles() {\n return [baseStyles, styles];\n }\n}\n__decorate([\n property({ type: String })\n], CdsInternalCloseButton.prototype, \"iconSize\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalCloseButton.prototype, \"iconShape\", void 0);\n"],"names":["CdsCloseButtonTagName","appendCloseButton","hostElement","attributes","clickHandler","isBrowser","closeBtn","document","createElement","length","setAttributes","addEventListener","bind","appendChild","removeCloseButton","querySelector","removeChild","CdsInternalCloseButton","CdsBaseButton","constructor","super","this","iconSize","iconShape","ClarityIcons","addIcons","timesIcon","render","html","styles","baseStyles","__decorate","property","type","String","prototype"],"mappings":"wVAWY,MAACA,EAAwB,4BAC9B,SAASC,EAAkBC,EAAaC,EAAYC,GACvD,GAAIC,KAAiBH,EAAa,CAC9B,MAAMI,EAAWC,SAASC,cAHG,6BAIzBL,GAAcA,EAAWM,OAAS,GAClCC,EAAcJ,KAAaH,GAE3BC,GACAE,EAASK,iBAAiB,QAASP,EAAaQ,KAAKV,IAEzDA,EAAYW,YAAYP,IAGzB,SAASQ,EAAkBZ,GAC9B,GAAIG,KAAiBH,EAAa,CAC9B,MAAMI,EAAWJ,EAAYa,cAfA,6BAgBzBT,GACAJ,EAAYc,YAAYV,IAqB7B,MAAMW,UAA+BC,EACxCC,cACIC,QACAC,KAAKC,SAAW,KAChBD,KAAKE,UAAY,QACjBC,EAAaC,SAASC,GAE1BC,SACI,OAAOC,CAAK,8CAEOP,KAAKE,oBAAoBF,KAAKC,8BAI1CO,oBACP,MAAO,CAACC,EAAYD,IAG5BE,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBjB,EAAuBkB,UAAW,gBAAY,GACjDJ,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBjB,EAAuBkB,UAAW,iBAAa"}
1
+ {"version":3,"file":"close-button.element.js","sources":["../../../../src/internal-components/close-button/close-button.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { property } from '@cds/core/internal';\nimport { CdsButtonAction } from '@cds/core/button-action';\nexport const CdsCloseButtonTagName = 'cds-internal-close-button';\n/**\n * Standard close button for Clarity Components extends default cds-button-action\n *\n * ```typescript\n * import '@cds/core/internal-components/close-button/register.js';\n * ```\n *\n * ```html\n * <cds-internal-close-button></cds-internal-close-button>\n * ```\n *\n * @element cds-internal-close-button\n */\nexport class CdsInternalCloseButton extends CdsButtonAction {\n constructor() {\n super(...arguments);\n this.shape = 'close';\n }\n connectedCallback() {\n super.connectedCallback();\n this.ariaLabel = this.ariaLabel ? this.ariaLabel : this.i18n.close;\n }\n}\n__decorate([\n property({ type: String })\n], CdsInternalCloseButton.prototype, \"shape\", void 0);\n"],"names":["CdsCloseButtonTagName","CdsInternalCloseButton","CdsButtonAction","constructor","super","this","shape","connectedCallback","ariaLabel","i18n","close","__decorate","property","type","String","prototype"],"mappings":"2IAQY,MAACA,EAAwB,4BAc9B,MAAMC,UAA+BC,EACxCC,cACIC,oBACAC,KAAKC,MAAQ,QAEjBC,oBACIH,MAAMG,oBACNF,KAAKG,UAAYH,KAAKG,UAAYH,KAAKG,UAAYH,KAAKI,KAAKC,OAGrEC,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBb,EAAuBc,UAAW,aAAS"}
@@ -1,2 +1,2 @@
1
- export{CdsCloseButtonTagName,CdsInternalCloseButton,appendCloseButton,removeCloseButton}from"./close-button.element.js";
1
+ export{CdsCloseButtonTagName,CdsInternalCloseButton}from"./close-button.element.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import"@cds/core/icon/register.js";import{registerElementSafely as o}from"@cds/core/internal";import{CdsCloseButtonTagName as r,CdsInternalCloseButton as e}from"./close-button.element.js";o(r,e);
1
+ import"@cds/core/icon/register.js";import{registerElementSafely as o}from"@cds/core/internal";import{ClarityIcons as s}from"@cds/core/icon/icon.service.js";import{timesIcon as e}from"@cds/core/icon/shapes/times.js";import{CdsCloseButtonTagName as r,CdsInternalCloseButton as c}from"./close-button.element.js";o(r,c),s.addIcons(e),s.addAliases(["times",["close"]]);
2
2
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sources":["../../../../src/internal-components/close-button/register.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport '@cds/core/icon/register.js';\nimport { registerElementSafely } from '@cds/core/internal';\nimport { CdsInternalCloseButton, CdsCloseButtonTagName } from './close-button.element.js';\nregisterElementSafely(CdsCloseButtonTagName, CdsInternalCloseButton);\n"],"names":["registerElementSafely","CdsCloseButtonTagName","CdsInternalCloseButton"],"mappings":"4LAQAA,EAAsBC,EAAuBC"}
1
+ {"version":3,"file":"register.js","sources":["../../../../src/internal-components/close-button/register.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport '@cds/core/icon/register.js';\nimport { registerElementSafely } from '@cds/core/internal';\nimport { ClarityIcons } from '@cds/core/icon/icon.service.js';\nimport { timesIcon } from '@cds/core/icon/shapes/times.js';\nimport { CdsInternalCloseButton, CdsCloseButtonTagName } from './close-button.element.js';\nregisterElementSafely(CdsCloseButtonTagName, CdsInternalCloseButton);\nClarityIcons.addIcons(timesIcon);\nClarityIcons.addAliases(['times', ['close']]);\n"],"names":["registerElementSafely","CdsCloseButtonTagName","CdsInternalCloseButton","ClarityIcons","addIcons","timesIcon","addAliases"],"mappings":"qTAUAA,EAAsBC,EAAuBC,GAC7CC,EAAaC,SAASC,GACtBF,EAAaG,WAAW,CAAC,QAAS,CAAC"}
@@ -1,2 +1,2 @@
1
- export{CdsInternalOverlay,isNestedOverlay,overlayIsActive}from"./overlay.element.js";
1
+ export{CdsInternalOverlay,CdsInternalStaticOverlay}from"./overlay.element.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,24 @@
1
- import { Animatable, CdsBaseFocusTrap, EventEmitter, FocusTrapTrackerService } from '@cds/core/internal';
2
- import { PropertyValues } from 'lit';
3
- export declare function isNestedOverlay(myId: string, overlayPrefix: string, trapIds: string[], previousValue?: boolean): boolean;
4
- export declare function overlayIsActive(overlayId: string, focusTrapService?: typeof FocusTrapTrackerService): boolean;
5
- declare type CloseChangeSources = 'backdrop-click' | 'escape-keypress' | 'close-button-click' | 'custom';
1
+ import { EventEmitter, ClosableController, CloseChangeType, LayerController } from '@cds/core/internal';
2
+ import { LitElement } from 'lit';
3
+ export declare class CdsInternalStaticOverlay extends LitElement {
4
+ closable: boolean;
5
+ hidden: boolean;
6
+ protected demoMode: boolean;
7
+ i18n: {
8
+ closeButtonAriaLabel: string;
9
+ contentStart: string;
10
+ contentEnd: string;
11
+ };
12
+ protected layerController: LayerController<this>;
13
+ protected closableController: ClosableController<this>;
14
+ static get shadowRootOptions(): any;
15
+ protected get closeButtonTemplate(): import("lit-html").TemplateResult<1>;
16
+ protected get backdropTemplate(): import("lit-html").TemplateResult<1>;
17
+ protected render(): import("lit-html").TemplateResult<1>;
18
+ protected backdropClick(): void;
19
+ closeOverlay(trigger?: CloseChangeType): void;
20
+ static get styles(): import("lit").CSSResultGroup[];
21
+ }
6
22
  /**
7
23
  *
8
24
  * ```typescript
@@ -24,7 +40,6 @@ declare type CloseChangeSources = 'backdrop-click' | 'escape-keypress' | 'close-
24
40
  * </cds-internal-overlay>
25
41
  * ```
26
42
  *
27
- * @beta
28
43
  * @element cds-internal-overlay
29
44
  * @slot - Content slot for the content inside the overlay's panel
30
45
  * @event closeChange - Notify user when close event has occurred
@@ -36,25 +51,7 @@ declare type CloseChangeSources = 'backdrop-click' | 'escape-keypress' | 'close-
36
51
  * KNOWN ISSUE: Safari jumps through the exit animation but only when the ESC key is pressed.
37
52
  *
38
53
  */
39
- export declare class CdsInternalOverlay extends CdsBaseFocusTrap implements Animatable {
54
+ export declare class CdsInternalOverlay extends CdsInternalStaticOverlay {
40
55
  cdsMotion: string;
41
56
  cdsMotionChange: EventEmitter<string>;
42
- /** @private */
43
- static get shadowRootOptions(): any;
44
- private overlayIdPrefix;
45
- closeChange: EventEmitter<CloseChangeSources>;
46
- protected isLayered: boolean;
47
- protected backdrop: HTMLElement;
48
- firstUpdated(props: PropertyValues<this>): void;
49
- updated(props: PropertyValues<this>): void;
50
- connectedCallback(): void;
51
- disconnectedCallback(): void;
52
- constructor();
53
- closeOverlay(trigger?: CloseChangeSources): void;
54
- protected get backdropTemplate(): import("lit-html").TemplateResult<1>;
55
- protected render(): import("lit-html").TemplateResult<1>;
56
- protected fireEventOnBackdropClick: () => void;
57
- protected fireEventOnEscape: (e: KeyboardEvent) => void;
58
- static get styles(): import("lit").CSSResultGroup[];
59
57
  }
60
- export {};
@@ -1,2 +1,2 @@
1
- import{__decorate as e}from"tslib";import{FocusTrapTrackerService as t,CdsBaseFocusTrap as r,onKey as o,createId as s,baseStyles as i,property as a,event as d,state as n,animate as c,reverseAnimation as p,AnimationModalEnterName as l}from"@cds/core/internal";import{html as v}from"lit";import{query as h}from"lit/decorators/query.js";import u from"./overlay.element.scss.js";function y(e,t,r,o){const s=r.filter((e=>e.indexOf(t)>-1));return!0===o&&r.indexOf(e)<0||s.indexOf(e)>0}function f(e,r=t){var o;return(null===(o=r.getCurrent())||void 0===o?void 0:o.focusTrapId)===e}let k=class extends r{constructor(){super();this.cdsMotion="on",this.overlayIdPrefix="_overlay-",this.isLayered=!1,this.fireEventOnBackdropClick=()=>{f(this.focusTrapId)&&this.closeOverlay("backdrop-click")},this.fireEventOnEscape=e=>{f(this.focusTrapId)&&o("escape",e,(()=>{this.closeOverlay("escape-keypress")}))},this.focusTrapId=s(this.overlayIdPrefix)}static get shadowRootOptions(){return{...super.shadowRootOptions,delegatesFocus:!0}}firstUpdated(e){super.firstUpdated(e),this.backdrop.addEventListener("click",this.fireEventOnBackdropClick)}updated(e){super.updated(e);const r=this.isLayered,o=y(this.focusTrapId,this.overlayIdPrefix,t.getTrapElements().map((e=>e.focusTrapId)),r);r!==o&&(this.isLayered=o,this.requestUpdate("isLayered",r))}connectedCallback(){super.connectedCallback(),this.ariaModal="true",this.role="dialog",window.addEventListener("keydown",this.fireEventOnEscape)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("keydown",this.fireEventOnEscape),this.backdrop.removeEventListener("click",this.fireEventOnBackdropClick)}closeOverlay(e="custom"){this.closeChange.emit(e)}get backdropTemplate(){return v`<div class="${this.isLayered?"overlay-backdrop layered":"overlay-backdrop"}" aria-hidden="true"></div>`}render(){return v`${this.backdropTemplate}<div class="private-host" tabindex="-1" aria-modal="true" role="dialog"><slot></slot></div>`}static get styles(){return[i,u]}};e([a({type:String})],k.prototype,"cdsMotion",void 0),e([d()],k.prototype,"cdsMotionChange",void 0),e([d()],k.prototype,"closeChange",void 0),e([n({type:Boolean})],k.prototype,"isLayered",void 0),e([h(".overlay-backdrop")],k.prototype,"backdrop",void 0),k=e([c({hidden:{true:p(l),false:l}})],k);export{k as CdsInternalOverlay,y as isNestedOverlay,f as overlayIsActive};
1
+ import{__decorate as t}from"tslib";import{I18nService as e,baseStyles as o,property as s,state as r,i18n as l,layer as i,closable as c,focusTrap as a,ariaModal as n,firstFocus as d,triggerable as p,event as h,animate as y,reverseAnimation as u,AnimationModalEnterName as m}from"@cds/core/internal";import{LitElement as v,html as b}from"lit";import k from"./overlay.element.scss.js";import g from"./shared.element.scss.js";let f=class extends v{constructor(){super(...arguments);this.closable=!1,this.hidden=!1,this.demoMode=!1,this.i18n=e.keys.overlay}static get shadowRootOptions(){return{...super.shadowRootOptions,delegatesFocus:!0}}get closeButtonTemplate(){return b`<cds-internal-close-button cds-layout="align:top" aria-label="${this.i18n.closeButtonAriaLabel}" @click="${()=>this.closeOverlay("close-button-click")}"></cds-internal-close-button>`}get backdropTemplate(){return b`<div class="overlay-backdrop" aria-hidden="true" @click="${()=>this.backdropClick()}"></div>`}render(){return b`${this.backdropTemplate}<div class="private-host" tabindex="-1"><slot></slot></div>`}backdropClick(){this.layerController.isActiveLayer&&this.closeOverlay("backdrop-click")}closeOverlay(t="custom"){this.closableController.close(t)}static get styles(){return[o,k,g]}};t([s({type:Boolean})],f.prototype,"closable",void 0),t([s({type:Boolean})],f.prototype,"hidden",void 0),t([r({type:Boolean,reflect:!0})],f.prototype,"demoMode",void 0),t([l()],f.prototype,"i18n",void 0),f=t([i(),c(),a(),n(),d(),p()],f);let B=class extends f{constructor(){super(...arguments);this.cdsMotion="on"}};t([s({type:String})],B.prototype,"cdsMotion",void 0),t([h()],B.prototype,"cdsMotionChange",void 0),B=t([y({hidden:{true:u(m),false:m}})],B);export{B as CdsInternalOverlay,f as CdsInternalStaticOverlay};
2
2
  //# sourceMappingURL=overlay.element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.element.js","sources":["../../../../src/internal-components/overlay/overlay.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { animate, baseStyles, createId, CdsBaseFocusTrap, event, FocusTrapTrackerService, state, onKey, property, AnimationModalEnterName, reverseAnimation, } from '@cds/core/internal';\nimport { html } from 'lit';\nimport { query } from 'lit/decorators/query.js';\nimport styles from './overlay.element.scss';\nexport function isNestedOverlay(myId, overlayPrefix, trapIds, previousValue) {\n const overlayIds = trapIds.filter(id => id.indexOf(overlayPrefix) > -1);\n if (previousValue === true && trapIds.indexOf(myId) < 0) {\n // handling situation where focusTrapIds remove our overlay from the list and we still need to consider\n // this overlay as nested. this happens when an overlay is being closed/hidden\n return true;\n }\n return overlayIds.indexOf(myId) > 0; // id is present and not the first one...\n}\nexport function overlayIsActive(overlayId, focusTrapService = FocusTrapTrackerService) {\n var _a;\n return ((_a = focusTrapService.getCurrent()) === null || _a === void 0 ? void 0 : _a.focusTrapId) === overlayId;\n}\n/**\n *\n * ```typescript\n * import '@cds/core/internal-components/overlay/register.js';\n * ```\n *\n * ```html\n * <cds-internal-overlay>\n * <section cds-layout=\"vertical align:horizontal-stretch\">\n * <div cds-layout=\"vertical pad:md gap:md\">\n * <h2 cds-text=\"display\">A Title</h2>\n * <div>\n * <p cds-text=\"body\">\n * Content inside a generic overlay.\n * </p>\n * </div>\n * </div>\n * </section>\n * </cds-internal-overlay>\n * ```\n *\n * @beta\n * @element cds-internal-overlay\n * @slot - Content slot for the content inside the overlay's panel\n * @event closeChange - Notify user when close event has occurred\n * @cssprop --backdrop-background\n * @cssprop --layered-backdrop-background\n * @cssprop --animation-duration\n * @cssprop --animation-easing\n *\n * KNOWN ISSUE: Safari jumps through the exit animation but only when the ESC key is pressed.\n *\n */\nlet CdsInternalOverlay = class CdsInternalOverlay extends CdsBaseFocusTrap {\n constructor() {\n super();\n this.cdsMotion = 'on';\n this.overlayIdPrefix = '_overlay-';\n this.isLayered = false;\n this.fireEventOnBackdropClick = () => {\n if (overlayIsActive(this.focusTrapId)) {\n this.closeOverlay('backdrop-click');\n }\n };\n this.fireEventOnEscape = (e) => {\n if (overlayIsActive(this.focusTrapId)) {\n onKey('escape', e, () => {\n this.closeOverlay('escape-keypress');\n });\n }\n };\n // override focus-trap base id so we know this is an overlay\n this.focusTrapId = createId(this.overlayIdPrefix);\n }\n // renderRoot needs delegatesFocus so that focus can cross the shadowDOM\n // inside an element with aria-modal set to true\n /** @private */\n static get shadowRootOptions() {\n // any is used until TS 4.4.x adopted through other @cds/* libraries. Can be removed in 6.0\n return { ...super.shadowRootOptions, delegatesFocus: true };\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.backdrop.addEventListener('click', this.fireEventOnBackdropClick);\n }\n updated(props) {\n super.updated(props);\n const oldLayered = this.isLayered;\n const newLayered = isNestedOverlay(this.focusTrapId, this.overlayIdPrefix, FocusTrapTrackerService.getTrapElements().map(e => e.focusTrapId), oldLayered);\n if (oldLayered !== newLayered) {\n this.isLayered = newLayered;\n this.requestUpdate('isLayered', oldLayered);\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.ariaModal = 'true';\n this.role = 'dialog';\n window.addEventListener('keydown', this.fireEventOnEscape);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('keydown', this.fireEventOnEscape);\n this.backdrop.removeEventListener('click', this.fireEventOnBackdropClick);\n }\n closeOverlay(trigger = 'custom') {\n this.closeChange.emit(trigger);\n }\n get backdropTemplate() {\n return html `<div\n class=\"${this.isLayered ? 'overlay-backdrop layered' : 'overlay-backdrop'}\"\n aria-hidden=\"true\"\n ></div>`;\n }\n render() {\n return html `\n ${this.backdropTemplate}\n <div class=\"private-host\" tabindex=\"-1\" aria-modal=\"true\" role=\"dialog\">\n <slot></slot>\n </div>\n `;\n }\n static get styles() {\n return [baseStyles, styles];\n }\n};\n__decorate([\n property({ type: String })\n], CdsInternalOverlay.prototype, \"cdsMotion\", void 0);\n__decorate([\n event()\n], CdsInternalOverlay.prototype, \"cdsMotionChange\", void 0);\n__decorate([\n event()\n], CdsInternalOverlay.prototype, \"closeChange\", void 0);\n__decorate([\n state({ type: Boolean })\n], CdsInternalOverlay.prototype, \"isLayered\", void 0);\n__decorate([\n query('.overlay-backdrop')\n], CdsInternalOverlay.prototype, \"backdrop\", void 0);\nCdsInternalOverlay = __decorate([\n animate({\n hidden: {\n true: reverseAnimation(AnimationModalEnterName),\n false: AnimationModalEnterName,\n },\n })\n], CdsInternalOverlay);\nexport { CdsInternalOverlay };\n"],"names":["isNestedOverlay","myId","overlayPrefix","trapIds","previousValue","overlayIds","filter","id","indexOf","overlayIsActive","overlayId","focusTrapService","FocusTrapTrackerService","_a","getCurrent","focusTrapId","CdsInternalOverlay","CdsBaseFocusTrap","constructor","super","this","cdsMotion","overlayIdPrefix","isLayered","fireEventOnBackdropClick","closeOverlay","fireEventOnEscape","e","onKey","createId","shadowRootOptions","delegatesFocus","firstUpdated","props","backdrop","addEventListener","updated","oldLayered","newLayered","getTrapElements","map","requestUpdate","connectedCallback","ariaModal","role","window","disconnectedCallback","removeEventListener","trigger","closeChange","emit","backdropTemplate","html","render","styles","baseStyles","__decorate","property","type","String","prototype","event","state","Boolean","query","animate","hidden","true","reverseAnimation","AnimationModalEnterName","false"],"mappings":"uXAUO,SAASA,EAAgBC,EAAMC,EAAeC,EAASC,GAC1D,MAAMC,EAAaF,EAAQG,QAAOC,GAAMA,EAAGC,QAAQN,IAAkB,IACrE,OAAsB,IAAlBE,GAA0BD,EAAQK,QAAQP,GAAQ,GAK/CI,EAAWG,QAAQP,GAAQ,EAE/B,SAASQ,EAAgBC,EAAWC,EAAmBC,GAC1D,IAAIC,EACJ,OAAiD,QAAxCA,EAAKF,EAAiBG,oBAAiC,IAAPD,OAAgB,EAASA,EAAGE,eAAiBL,EAmCvG,IAACM,EAAqB,cAAiCC,EACtDC,cACIC,QACAC,KAAKC,UAAY,KACjBD,KAAKE,gBAAkB,YACvBF,KAAKG,WAAY,EACjBH,KAAKI,yBAA2B,KACxBf,EAAgBW,KAAKL,cACrBK,KAAKK,aAAa,mBAG1BL,KAAKM,kBAAqBC,IAClBlB,EAAgBW,KAAKL,cACrBa,EAAM,SAAUD,GAAG,KACfP,KAAKK,aAAa,uBAK9BL,KAAKL,YAAcc,EAAST,KAAKE,iBAK1BQ,+BAEP,MAAO,IAAKX,MAAMW,kBAAmBC,gBAAgB,GAEzDC,aAAaC,GACTd,MAAMa,aAAaC,GACnBb,KAAKc,SAASC,iBAAiB,QAASf,KAAKI,0BAEjDY,QAAQH,GACJd,MAAMiB,QAAQH,GACd,MAAMI,EAAajB,KAAKG,UAClBe,EAAatC,EAAgBoB,KAAKL,YAAaK,KAAKE,gBAAiBV,EAAwB2B,kBAAkBC,KAAIb,GAAKA,EAAEZ,cAAcsB,GAC1IA,IAAeC,IACflB,KAAKG,UAAYe,EACjBlB,KAAKqB,cAAc,YAAaJ,IAGxCK,oBACIvB,MAAMuB,oBACNtB,KAAKuB,UAAY,OACjBvB,KAAKwB,KAAO,SACZC,OAAOV,iBAAiB,UAAWf,KAAKM,mBAE5CoB,uBACI3B,MAAM2B,uBACND,OAAOE,oBAAoB,UAAW3B,KAAKM,mBAC3CN,KAAKc,SAASa,oBAAoB,QAAS3B,KAAKI,0BAEpDC,aAAauB,EAAU,UACnB5B,KAAK6B,YAAYC,KAAKF,GAEtBG,uBACA,OAAOC,CAAK,eACLhC,KAAKG,UAAY,2BAA6B,gDAIzD8B,SACI,OAAOD,CAAK,GACZhC,KAAK+B,8GAMEG,oBACP,MAAO,CAACC,EAAYD,KAG5BE,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClB3C,EAAmB4C,UAAW,iBAAa,GAC9CJ,EAAW,CACPK,KACD7C,EAAmB4C,UAAW,uBAAmB,GACpDJ,EAAW,CACPK,KACD7C,EAAmB4C,UAAW,mBAAe,GAChDJ,EAAW,CACPM,EAAM,CAAEJ,KAAMK,WACf/C,EAAmB4C,UAAW,iBAAa,GAC9CJ,EAAW,CACPQ,EAAM,sBACPhD,EAAmB4C,UAAW,gBAAY,GAC7C5C,EAAqBwC,EAAW,CAC5BS,EAAQ,CACJC,OAAQ,CACJC,KAAMC,EAAiBC,GACvBC,MAAOD,MAGhBrD"}
1
+ {"version":3,"file":"overlay.element.js","sources":["../../../../src/internal-components/overlay/overlay.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { AnimationModalEnterName, animate, baseStyles, event, i18n, I18nService, state, property, reverseAnimation, focusTrap, ariaModal, firstFocus, layer, closable, triggerable, } from '@cds/core/internal';\nimport { html, LitElement } from 'lit';\nimport styles from './overlay.element.scss';\nimport sharedStyles from './shared.element.scss';\nlet CdsInternalStaticOverlay = class CdsInternalStaticOverlay extends LitElement {\n constructor() {\n super(...arguments);\n this.closable = false;\n // eslint-disable-next-line rulesdir/reserved-property-names\n this.hidden = false;\n this.demoMode = false;\n this.i18n = I18nService.keys.overlay;\n }\n // renderRoot needs delegatesFocus so that focus can cross the shadowDOM inside an element with aria-modal set to true\n static get shadowRootOptions() {\n return { ...super.shadowRootOptions, delegatesFocus: true };\n }\n get closeButtonTemplate() {\n return html `<cds-internal-close-button\n cds-layout=\"align:top\"\n aria-label=${this.i18n.closeButtonAriaLabel}\n @click=${() => this.closeOverlay('close-button-click')}\n ></cds-internal-close-button>`;\n }\n get backdropTemplate() {\n return html `<div class=\"overlay-backdrop\" aria-hidden=\"true\" @click=${() => this.backdropClick()}></div>`;\n }\n render() {\n return html `\n ${this.backdropTemplate}\n <div class=\"private-host\" tabindex=\"-1\">\n <slot></slot>\n </div>\n `;\n }\n backdropClick() {\n if (this.layerController.isActiveLayer) {\n this.closeOverlay('backdrop-click');\n }\n }\n closeOverlay(trigger = 'custom') {\n this.closableController.close(trigger);\n }\n static get styles() {\n return [baseStyles, styles, sharedStyles];\n }\n};\n__decorate([\n property({ type: Boolean })\n], CdsInternalStaticOverlay.prototype, \"closable\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsInternalStaticOverlay.prototype, \"hidden\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsInternalStaticOverlay.prototype, \"demoMode\", void 0);\n__decorate([\n i18n()\n], CdsInternalStaticOverlay.prototype, \"i18n\", void 0);\nCdsInternalStaticOverlay = __decorate([\n layer(),\n closable(),\n focusTrap(),\n ariaModal(),\n firstFocus(),\n triggerable()\n], CdsInternalStaticOverlay);\nexport { CdsInternalStaticOverlay };\n/**\n *\n * ```typescript\n * import '@cds/core/internal-components/overlay/register.js';\n * ```\n *\n * ```html\n * <cds-internal-overlay>\n * <section cds-layout=\"vertical align:horizontal-stretch\">\n * <div cds-layout=\"vertical pad:md gap:md\">\n * <h2 cds-text=\"display\">A Title</h2>\n * <div>\n * <p cds-text=\"body\">\n * Content inside a generic overlay.\n * </p>\n * </div>\n * </div>\n * </section>\n * </cds-internal-overlay>\n * ```\n *\n * @element cds-internal-overlay\n * @slot - Content slot for the content inside the overlay's panel\n * @event closeChange - Notify user when close event has occurred\n * @cssprop --backdrop-background\n * @cssprop --layered-backdrop-background\n * @cssprop --animation-duration\n * @cssprop --animation-easing\n *\n * KNOWN ISSUE: Safari jumps through the exit animation but only when the ESC key is pressed.\n *\n */\nlet CdsInternalOverlay = class CdsInternalOverlay extends CdsInternalStaticOverlay {\n constructor() {\n super(...arguments);\n this.cdsMotion = 'on';\n }\n};\n__decorate([\n property({ type: String })\n], CdsInternalOverlay.prototype, \"cdsMotion\", void 0);\n__decorate([\n event()\n], CdsInternalOverlay.prototype, \"cdsMotionChange\", void 0);\nCdsInternalOverlay = __decorate([\n animate({\n hidden: {\n true: reverseAnimation(AnimationModalEnterName),\n false: AnimationModalEnterName,\n },\n })\n], CdsInternalOverlay);\nexport { CdsInternalOverlay };\n"],"names":["CdsInternalStaticOverlay","LitElement","constructor","super","this","closable","hidden","demoMode","i18n","I18nService","keys","overlay","shadowRootOptions","delegatesFocus","closeButtonTemplate","html","closeButtonAriaLabel","closeOverlay","backdropTemplate","backdropClick","render","layerController","isActiveLayer","trigger","closableController","close","styles","baseStyles","sharedStyles","__decorate","property","type","Boolean","prototype","state","reflect","layer","focusTrap","ariaModal","firstFocus","triggerable","CdsInternalOverlay","cdsMotion","String","event","animate","true","reverseAnimation","AnimationModalEnterName","false"],"mappings":"saAUG,IAACA,EAA2B,cAAuCC,EAClEC,cACIC,oBACAC,KAAKC,UAAW,EAEhBD,KAAKE,QAAS,EACdF,KAAKG,UAAW,EAChBH,KAAKI,KAAOC,EAAYC,KAAKC,QAGtBC,+BACP,MAAO,IAAKT,MAAMS,kBAAmBC,gBAAgB,GAErDC,0BACA,OAAOC,CAAK,iEAEDX,KAAKI,KAAKQ,iCACd,IAAMZ,KAAKa,aAAa,sDAG/BC,uBACA,OAAOH,CAAK,4DAA2D,IAAMX,KAAKe,0BAEtFC,SACI,OAAOL,CAAK,GACZX,KAAKc,8EAMTC,gBACQf,KAAKiB,gBAAgBC,eACrBlB,KAAKa,aAAa,kBAG1BA,aAAaM,EAAU,UACnBnB,KAAKoB,mBAAmBC,MAAMF,GAEvBG,oBACP,MAAO,CAACC,EAAYD,EAAQE,KAGpCC,EAAW,CACPC,EAAS,CAAEC,KAAMC,WAClBhC,EAAyBiC,UAAW,gBAAY,GACnDJ,EAAW,CACPC,EAAS,CAAEC,KAAMC,WAClBhC,EAAyBiC,UAAW,cAAU,GACjDJ,EAAW,CACPK,EAAM,CAAEH,KAAMC,QAASG,SAAS,KACjCnC,EAAyBiC,UAAW,gBAAY,GACnDJ,EAAW,CACPrB,KACDR,EAAyBiC,UAAW,YAAQ,GAC/CjC,EAA2B6B,EAAW,CAClCO,IACA/B,IACAgC,IACAC,IACAC,IACAC,KACDxC,GAkCA,IAACyC,EAAqB,cAAiCzC,EACtDE,cACIC,oBACAC,KAAKsC,UAAY,OAGzBb,EAAW,CACPC,EAAS,CAAEC,KAAMY,UAClBF,EAAmBR,UAAW,iBAAa,GAC9CJ,EAAW,CACPe,KACDH,EAAmBR,UAAW,uBAAmB,GACpDQ,EAAqBZ,EAAW,CAC5BgB,EAAQ,CACJvC,OAAQ,CACJwC,KAAMC,EAAiBC,GACvBC,MAAOD,MAGhBP"}
@@ -1,2 +1,2 @@
1
- import{css as a}from"lit";var o=a`:host{--backdrop-background:var(--cds-alias-object-overlay-backdrop-background, rgba(0, 0, 0, 0.6));--layered-backdrop-background:var(--cds-alias-object-opacity-0, rgba(0, 0, 0, 0));--animation-duration:var(--cds-global-animation-duration-primary, 0.4s);--animation-easing:var(--cds-global-animation-easing-primary, cubic-bezier(0, 0.99, 0, 0.99));position:fixed;top:0;bottom:0;left:0;right:0;z-index:1000000;display:inline-flex;align-items:center;justify-content:center}.private-host{position:relative}.overlay-backdrop{width:100%;height:100%;background:var(--backdrop-background);position:fixed}.layered{background:var(--layered-backdrop-background,var(--backdrop-background))}:host([_demo-mode]){position:absolute;z-index:100000}:host([_demo-mode]) .overlay-backdrop{position:absolute}:host([cds-motion][_cds-animation-status=active]){display:inline-flex!important}:host([hidden]){--animation-duration:var(--cds-global-animation-duration-secondary, 0.3s)}:host([hidden*=false]){display:inline-flex!important}`;export{o as default};
1
+ import{css as a}from"lit";var i=a`:host{--backdrop-background:var(--cds-alias-object-overlay-backdrop-background, rgba(0, 0, 0, 0.6));--layered-backdrop-background:var(--cds-alias-object-opacity-0, rgba(0, 0, 0, 0));--animation-duration:var(--cds-global-animation-duration-primary, 0.4s);--animation-easing:var(--cds-global-animation-easing-primary, cubic-bezier(0, 0.99, 0, 0.99));--backdrop-animation-duration:var(--cds-global-animation-duration-slow, 0.5s);position:fixed;top:0;bottom:0;left:0;right:0;z-index:1000000;display:inline-flex;align-items:center;justify-content:center}.private-host{position:relative}:host([cds-motion][_cds-animation-status=active]){display:inline-flex!important}:host([hidden]){--animation-duration:var(--cds-global-animation-duration-secondary, 0.3s)}:host([hidden*=false]){display:inline-flex!important}@media screen and (max-width:576px){.private-host{width:100%;height:100%;margin:0!important}}`;export{i as default};
2
2
  //# sourceMappingURL=overlay.element.scss.js.map
@@ -0,0 +1,2 @@
1
+ import{css as o}from"lit";var a=o`.overlay-backdrop{width:100%;height:100%;background:var(--backdrop-background);position:fixed}:host(:not([cds-layer="0"])) .overlay-backdrop{background:var(--layered-backdrop-background,var(--backdrop-background))}:host([_demo-mode]){position:absolute;z-index:100000}:host([_demo-mode]) .overlay-backdrop{position:absolute}`;export{a as default};
2
+ //# sourceMappingURL=shared.element.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.element.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -11,7 +11,7 @@ export declare const CdsInternalPanelTagName = "cds-internal-panel";
11
11
  * // content
12
12
  * </cds-internal-panel>
13
13
  * ```
14
- * @beta
14
+ *
15
15
  * @element cds-internal-panel
16
16
  * @slot - Content slot for the content inside the panel
17
17
  * @cssprop --width
@@ -1 +1 @@
1
- {"version":3,"file":"panel.element.js","sources":["../../../../src/internal-components/panel/panel.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { LitElement, html } from 'lit';\nimport { baseStyles } from '@cds/core/internal';\nimport styles from './panel.element.scss';\nexport const CdsInternalPanelTagName = 'cds-internal-panel';\n/**\n *\n * ```typescript\n * import '@cds/core/internal-components/panel/register.js';\n * ```\n *\n * ```html\n * <cds-internal-panel>\n * // content\n * </cds-internal-panel>\n * ```\n * @beta\n * @element cds-internal-panel\n * @slot - Content slot for the content inside the panel\n * @cssprop --width\n * @cssprop --height\n * @cssprop --color\n * @cssprop --overflow\n * @cssprop --overflow-x\n * @cssprop --overflow-y\n * @cssprop --background\n * @cssprop --border\n * @cssprop --border-radius\n * @cssprop --padding\n * @cssprop --box-shadow\n */\nexport class CdsInternalPanel extends LitElement {\n static get styles() {\n return [baseStyles, styles];\n }\n render() {\n return html `\n <div class=\"private-host\">\n <slot></slot>\n </div>\n `;\n }\n}\n"],"names":["CdsInternalPanelTagName","CdsInternalPanel","LitElement","styles","baseStyles","render","html"],"mappings":"kIAQY,MAACA,EAA0B,qBA2BhC,MAAMC,UAAyBC,EACvBC,oBACP,MAAO,CAACC,EAAYD,GAExBE,SACI,OAAOC,CAAK"}
1
+ {"version":3,"file":"panel.element.js","sources":["../../../../src/internal-components/panel/panel.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { LitElement, html } from 'lit';\nimport { baseStyles } from '@cds/core/internal';\nimport styles from './panel.element.scss';\nexport const CdsInternalPanelTagName = 'cds-internal-panel';\n/**\n *\n * ```typescript\n * import '@cds/core/internal-components/panel/register.js';\n * ```\n *\n * ```html\n * <cds-internal-panel>\n * // content\n * </cds-internal-panel>\n * ```\n *\n * @element cds-internal-panel\n * @slot - Content slot for the content inside the panel\n * @cssprop --width\n * @cssprop --height\n * @cssprop --color\n * @cssprop --overflow\n * @cssprop --overflow-x\n * @cssprop --overflow-y\n * @cssprop --background\n * @cssprop --border\n * @cssprop --border-radius\n * @cssprop --padding\n * @cssprop --box-shadow\n */\nexport class CdsInternalPanel extends LitElement {\n static get styles() {\n return [baseStyles, styles];\n }\n render() {\n return html `\n <div class=\"private-host\">\n <slot></slot>\n </div>\n `;\n }\n}\n"],"names":["CdsInternalPanelTagName","CdsInternalPanel","LitElement","styles","baseStyles","render","html"],"mappings":"kIAQY,MAACA,EAA0B,qBA2BhC,MAAMC,UAAyBC,EACvBC,oBACP,MAAO,CAACC,EAAYD,GAExBE,SACI,OAAOC,CAAK"}
@@ -1,2 +1,2 @@
1
- import{css as r}from"lit";var a=r`:host{--width:100%;--height:100%;--color:initial;--overflow:visible;--overflow-x:visible;--overflow-y:visible;--background:var(--cds-alias-object-container-background, var(--cds-global-color-white, white));--border:var(--cds-alias-object-border-width-100, calc(1 / var(--cds-global-base, 20) * 1rem)) solid initial;--border-radius:var(--cds-alias-object-border-radius-100, calc(4 / var(--cds-global-base, 20) * 1rem));--padding:var(--cds-global-space-0, calc(0 / var(--cds-global-base, 20) * 1rem));--box-shadow:none;width:var(--width);height:var(--height)}.private-host{overflow:var(--overflow);overflow-x:var(--overflow-x);overflow-y:var(--overflow-y);width:var(--width);height:var(--height);background:var(--background);border:var(--border);border-radius:var(--border-radius);padding:var(--padding);box-shadow:var(--box-shadow);color:var(--color)}`;export{a as default};
1
+ import{css as r}from"lit";var o=r`:host{--width:100%;--height:100%;--color:initial;--overflow:visible;--overflow-x:visible;--overflow-y:visible;--background:var(--cds-alias-object-container-background, var(--cds-global-color-white, white));--border:var(--cds-alias-object-border-width-100, 0.0625rem) solid initial;--border-radius:var(--cds-alias-object-border-radius-100, 0.25rem);--padding:var(--cds-global-space-0, 0rem);--box-shadow:none;width:var(--width);height:var(--height)}.private-host{overflow:var(--overflow);overflow-x:var(--overflow-x);overflow-y:var(--overflow-y);width:var(--width);height:var(--height);background:var(--background);border:var(--border);border-radius:var(--border-radius);padding:var(--padding);box-shadow:var(--box-shadow);color:var(--color)}`;export{o as default};
2
2
  //# sourceMappingURL=panel.element.scss.js.map
@@ -0,0 +1,2 @@
1
+ export * from './popup.element.js';
2
+ export * from './pointer.element.js';
@@ -0,0 +1,2 @@
1
+ export{CdsInternalPopup}from"./popup.element.js";export{CdsInternalPointer}from"./pointer.element.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { LitElement } from 'lit';
2
+ import { PointerElement } from '@cds/core/internal';
3
+ /**
4
+ * ```typescript
5
+ * import '@cds/core/internal-components/popup/register.js';
6
+ * ```
7
+ *
8
+ * ```html
9
+ * <cds-internal-pointer></cds-internal-pointer>
10
+ * ```
11
+ *
12
+ * @beta
13
+ * @element cds-internal-pointer
14
+ * @slot - Content slot to override the default pointer SVG
15
+ * @cssprop --pointer-fill
16
+ * @cssprop --pointer-outline
17
+ * @cssprop --transform
18
+ *
19
+ */
20
+ export declare class CdsInternalPointer extends LitElement implements PointerElement {
21
+ axisAlign: 'start' | 'center' | 'end';
22
+ /**
23
+ * The "angle" pointer type is the right-angle triangle that we are used to seeing with signposts.
24
+ * The "default" pointer type is an equilateral triangle like we see with the pop-outs in the
25
+ * datagrid single row actions.
26
+ *
27
+ * @type {('angle' | 'default')}
28
+ * @memberof CdsInternalPointer
29
+ */
30
+ type: 'angle' | 'default';
31
+ protected get pointerTemplate(): import("lit-html").TemplateResult<2>;
32
+ protected render(): import("lit-html").TemplateResult<1> | import("lit-html").TemplateResult<2>;
33
+ connectedCallback(): void;
34
+ static get styles(): import("lit").CSSResultGroup[];
35
+ }
@@ -0,0 +1,2 @@
1
+ import{__decorate as t}from"tslib";import{LitElement as e,html as r}from"lit";import{property as i}from"@cds/core/internal";import{getPointer as s}from"./utils/pointer.utils.js";import o from"./pointer.element.scss.js";class p extends e{constructor(){super(...arguments);this.axisAlign="start"}get pointerTemplate(){return s(this.type)}render(){return this.type?s(this.type):r`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.ariaHidden="true"}static get styles(){return[o]}}t([i({type:String})],p.prototype,"axisAlign",void 0),t([i({type:String})],p.prototype,"type",void 0);export{p as CdsInternalPointer};
2
+ //# sourceMappingURL=pointer.element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointer.element.js","sources":["../../../../src/internal-components/popup/pointer.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html, LitElement } from 'lit';\nimport { property } from '@cds/core/internal';\nimport { getPointer } from './utils/pointer.utils.js';\nimport styles from './pointer.element.scss';\n/**\n * ```typescript\n * import '@cds/core/internal-components/popup/register.js';\n * ```\n *\n * ```html\n * <cds-internal-pointer></cds-internal-pointer>\n * ```\n *\n * @beta\n * @element cds-internal-pointer\n * @slot - Content slot to override the default pointer SVG\n * @cssprop --pointer-fill\n * @cssprop --pointer-outline\n * @cssprop --transform\n *\n */\nexport class CdsInternalPointer extends LitElement {\n constructor() {\n super(...arguments);\n this.axisAlign = 'start';\n }\n get pointerTemplate() {\n return getPointer(this.type);\n }\n render() {\n // this prevents an impossible state where you have a custom SVG inside of a typed pointer\n return this.type ? getPointer(this.type) : html `<slot></slot>`;\n }\n connectedCallback() {\n super.connectedCallback();\n this.ariaHidden = 'true';\n }\n static get styles() {\n return [styles];\n }\n}\n__decorate([\n property({ type: String })\n], CdsInternalPointer.prototype, \"axisAlign\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalPointer.prototype, \"type\", void 0);\n"],"names":["CdsInternalPointer","LitElement","constructor","super","this","axisAlign","pointerTemplate","getPointer","type","render","html","connectedCallback","ariaHidden","styles","__decorate","property","String","prototype"],"mappings":"2NA2BO,MAAMA,UAA2BC,EACpCC,cACIC,oBACAC,KAAKC,UAAY,QAEjBC,sBACA,OAAOC,EAAWH,KAAKI,MAE3BC,SAEI,OAAOL,KAAKI,KAAOD,EAAWH,KAAKI,MAAQE,CAAK,gBAEpDC,oBACIR,MAAMQ,oBACNP,KAAKQ,WAAa,OAEXC,oBACP,MAAO,CAACA,IAGhBC,EAAW,CACPC,EAAS,CAAEP,KAAMQ,UAClBhB,EAAmBiB,UAAW,iBAAa,GAC9CH,EAAW,CACPC,EAAS,CAAEP,KAAMQ,UAClBhB,EAAmBiB,UAAW,YAAQ"}
@@ -0,0 +1,2 @@
1
+ import{css as o}from"lit";var r=o`:host{--transform:none;--pointer-fill:var(--cds-alias-object-interaction-background, var(--cds-global-color-white, white));--pointer-outline:var(--cds-alias-object-border-color, var(--cds-global-color-construction-200, #cbd4d8));display:block}:host .pointer-img{transform:var(--transform);display:block}:host .pointer-fill{fill:var(--pointer-fill,var(--cds-alias-object-interaction-background,var(--cds-global-color-white,#fff)))}:host .pointer-border{fill:var(--pointer-outline,var(--cds-alias-object-border-color,var(--cds-global-color-construction-200,#cbd4d8)))}::slotted(*),svg{display:block}`;export{r as default};
2
+ //# sourceMappingURL=pointer.element.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointer.element.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
1
+ import { AxisAligns, EventEmitter, PositionableElement } from '@cds/core/internal';
2
+ import { PropertyValues } from 'lit';
3
+ import { CdsInternalStaticOverlay } from '@cds/core/internal-components/overlay';
4
+ import { CdsInternalPointer } from './pointer.element.js';
5
+ /**
6
+ * ```typescript
7
+ * import '@cds/core/internal-components/popup/register.js';
8
+ * ```
9
+ *
10
+ * ```html
11
+ * <cds-internal-popup>
12
+ * <section cds-layout="vertical align:horizontal-stretch">
13
+ * <div cds-layout="vertical pad:md gap:md">
14
+ * <h2 cds-text="display">A Title</h2>
15
+ * <div>
16
+ * <p cds-text="body">
17
+ * Content inside a generic popup.
18
+ * </p>
19
+ * </div>
20
+ * </div>
21
+ * </section>
22
+ * </cds-internal-popup>
23
+ * ```
24
+ *
25
+ * @beta
26
+ * @element cds-internal-popup
27
+ * @slot - Content slot for the content inside the popup's panel
28
+ * @event closeChange - Notify user when close event has occurred
29
+ * @cssprop --active-corner-border-radius
30
+ * @cssprop --background
31
+ * @cssprop --backdrop-background
32
+ * @cssprop --layered-backdrop-background
33
+ * @cssprop --border-color
34
+ * @cssprop --border-radius
35
+ * @cssprop --border-width
36
+ * @cssprop --box-shadow
37
+ * @cssprop --close-button-offset
38
+ * @cssprop --color
39
+ * @cssprop --min-height
40
+ * @cssprop --min-width
41
+ * @cssprop --max-height
42
+ * @cssprop --max-width
43
+ * @cssprop --mobile-max-height
44
+ * @cssprop --overflow - sets overflow x and y values respectively
45
+ * @cssprop --height
46
+ * @cssprop --width
47
+ * @cssprop --animation-duration
48
+ * @cssprop --animation-easing
49
+ *
50
+ * KNOWN ISSUE: Safari jumps through the exit animation but only when the ESC key is pressed.
51
+ *
52
+ */
53
+ export declare class CdsInternalPopup extends CdsInternalStaticOverlay implements PositionableElement {
54
+ i18n: {
55
+ closeButtonAriaLabel: string;
56
+ contentStart: string;
57
+ contentEnd: string;
58
+ };
59
+ cdsMotion: string;
60
+ /**
61
+ * force responsive by setting orientation to 'none'.
62
+ * do not manipulate the responsive property because the
63
+ * positioning logic may override your changes.
64
+ */
65
+ /** @private */
66
+ responsive: boolean;
67
+ cdsMotionChange: EventEmitter<string>;
68
+ /**
69
+ * Used to force an override of the popup trigger focus recovery. Used by the closable controller.
70
+ */
71
+ trigger: HTMLElement;
72
+ /**
73
+ * Accepts both an HTMLElement and a string
74
+ */
75
+ anchor: HTMLElement | string;
76
+ /** @private */
77
+ get anchorElement(): HTMLElement | null;
78
+ anchorAlign: AxisAligns;
79
+ /** @private */
80
+ get anchorRect(): DOMRect;
81
+ mainAxisOffset: number;
82
+ crossAxisOffset: number;
83
+ orientation: string;
84
+ /**
85
+ * If false, the dropdown will not show a close button ever.
86
+ * If true, it will always show a close button.
87
+ * If undefined, it will only show a close button when responsive. a11y expects a close button when responsive.
88
+ *
89
+ */
90
+ closable: boolean;
91
+ pointerAlign: AxisAligns;
92
+ /**
93
+ * Forces a pointer to show with popup from known pointer types
94
+ * @type {'angle' | 'default'}
95
+ */
96
+ defaultPointerType: string | null;
97
+ pointer: CdsInternalPointer;
98
+ /** @private */
99
+ pointerWrapper: HTMLElement;
100
+ /** @private */
101
+ hostWrapper: HTMLElement;
102
+ /** @private */
103
+ popupWrapper: HTMLElement;
104
+ /** @private */
105
+ contentWrapper: HTMLElement;
106
+ protected observers: (MutationObserver | ResizeObserver)[];
107
+ private setUpPositioningObserver;
108
+ connectedCallback(): void;
109
+ disconnectedCallback(): void;
110
+ firstUpdated(props: PropertyValues<this>): void;
111
+ updated(props: PropertyValues<this>): void;
112
+ protected render(): import("lit-html").TemplateResult<1>;
113
+ static get styles(): import("lit").CSSResultGroup[];
114
+ }
@@ -0,0 +1,2 @@
1
+ import{__decorate as t}from"tslib";import{I18nService as e,getElementUpdates as o,setPopupPosition as r,setAttributes as i,isScrollable as p,baseStyles as s,i18n as n,property as d,state as a,event as c,querySlot as l,ariaPopup as h,animate as y,reverseAnimation as v,AnimationResponsivePopupEnterName as u}from"@cds/core/internal";import{html as m}from"lit";import{query as g}from"lit/decorators/query.js";import{CdsInternalStaticOverlay as f}from"@cds/core/internal-components/overlay";import b from"../overlay/shared.element.scss.js";import S from"./popup.element.scss.js";let A=class extends f{constructor(){super(...arguments);this.i18n=e.keys.popup,this.cdsMotion="on",this.responsive=!1,this.anchorAlign="start",this.pointerAlign="start",this.defaultPointerType=null,this.observers=[]}get anchorElement(){const t=this.anchor;if("string"==typeof t){const e=this.getRootNode().querySelector("#"+t);return null===e?this.getRootNode({composed:!0}).querySelector("#"+this.anchor):e}return t}get anchorRect(){return this.anchorElement?.getBoundingClientRect()||new DOMRect}setUpPositioningObserver(){this.observers.push(o(this,"hidden",(()=>{!1===this.hidden&&r(this)})))}connectedCallback(){if(!this.pointer&&this.defaultPointerType){const t=document.createElement("cds-internal-pointer");t.type=this.defaultPointerType,this.appendChild(t)}super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this.observers.forEach((t=>t?.disconnect()))}firstUpdated(t){super.firstUpdated(t),this.setUpPositioningObserver()}updated(t){this.pointer&&!this.pointer.hasAttribute("part")&&i(this.pointer,["part","pointer"]),t.has("hidden")&&i(this.contentWrapper,["tabindex",!!p(this.contentWrapper)&&"0"]),super.updated(t)}render(){return m`${this.backdropTemplate}<div class="private-host" tabindex="-1"><div cds-layout="display:screen-reader-only">${this.i18n.contentStart}</div><div class="popup-wrapper"><div class="popup-content">${this.closable||this.responsive?this.closeButtonTemplate:""}<slot></slot></div><div class="pointer-wrapper"><div class="popup-pointer"><slot name="pointer"></slot></div></div></div><div cds-layout="display:screen-reader-only">${this.i18n.contentEnd}</div></div>`}static get styles(){return[s,S,b]}};t([n()],A.prototype,"i18n",void 0),t([d({type:String})],A.prototype,"cdsMotion",void 0),t([a({type:Boolean,reflect:!0,attribute:"responsive"})],A.prototype,"responsive",void 0),t([c()],A.prototype,"cdsMotionChange",void 0),t([d({type:Object})],A.prototype,"trigger",void 0),t([d({type:String})],A.prototype,"anchor",void 0),t([d({type:String})],A.prototype,"anchorAlign",void 0),t([d({type:Number})],A.prototype,"mainAxisOffset",void 0),t([d({type:Number})],A.prototype,"crossAxisOffset",void 0),t([d({type:String})],A.prototype,"orientation",void 0),t([d({type:Boolean})],A.prototype,"closable",void 0),t([d({type:String})],A.prototype,"pointerAlign",void 0),t([d({type:String})],A.prototype,"defaultPointerType",void 0),t([l("cds-internal-pointer",{assign:"pointer"})],A.prototype,"pointer",void 0),t([g(".popup-pointer")],A.prototype,"pointerWrapper",void 0),t([g(".private-host")],A.prototype,"hostWrapper",void 0),t([g(".popup-wrapper")],A.prototype,"popupWrapper",void 0),t([g(".popup-content")],A.prototype,"contentWrapper",void 0),A=t([h(),y({hidden:{true:v(u),false:u}})],A);export{A as CdsInternalPopup};
2
+ //# sourceMappingURL=popup.element.js.map