@cds/core 6.2.2 → 6.2.4

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 (671) hide show
  1. package/accordion/accordion-content.element.js.map +1 -1
  2. package/accordion/accordion-header.element.js.map +1 -1
  3. package/accordion/accordion-panel.element.js.map +1 -1
  4. package/accordion/accordion.element.js.map +1 -1
  5. package/accordion/register.js.map +1 -1
  6. package/alert/alert-actions.element.js.map +1 -1
  7. package/alert/alert-group.element.js.map +1 -1
  8. package/alert/alert.element.js.map +1 -1
  9. package/alert/register.js.map +1 -1
  10. package/badge/badge.element.js.map +1 -1
  11. package/badge/register.js.map +1 -1
  12. package/breadcrumb/breadcrumb.element.js.map +1 -1
  13. package/breadcrumb/register.js.map +1 -1
  14. package/button/button.element.js.map +1 -1
  15. package/button/icon-button.element.js.map +1 -1
  16. package/button/register.js.map +1 -1
  17. package/button-action/button-action.element.js.map +1 -1
  18. package/button-action/register.js.map +1 -1
  19. package/button-expand/button-expand.element.js.map +1 -1
  20. package/button-expand/register.js.map +1 -1
  21. package/button-handle/button-handle.element.js.map +1 -1
  22. package/button-handle/register.js.map +1 -1
  23. package/button-inline/button-inline.element.js.map +1 -1
  24. package/button-inline/register.js.map +1 -1
  25. package/button-sort/button-sort.element.js.map +1 -1
  26. package/button-sort/register.js.map +1 -1
  27. package/button-sort/utils.js.map +1 -1
  28. package/card/card.element.js.map +1 -1
  29. package/card/register.js.map +1 -1
  30. package/checkbox/checkbox-group.element.js.map +1 -1
  31. package/checkbox/checkbox.element.js.map +1 -1
  32. package/checkbox/register.js.map +1 -1
  33. package/datalist/datalist.element.js.map +1 -1
  34. package/datalist/register.js.map +1 -1
  35. package/date/date.element.js.map +1 -1
  36. package/date/register.js.map +1 -1
  37. package/demo/data/demo.service.js.map +1 -1
  38. package/demo/data/food.data.js.map +1 -1
  39. package/demo/data/infrastructure.data.js.map +1 -1
  40. package/demo/data/system.data.js.map +1 -1
  41. package/demo/index.js.map +1 -1
  42. package/demo/utils.js.map +1 -1
  43. package/divider/divider.element.js.map +1 -1
  44. package/divider/register.js.map +1 -1
  45. package/dropdown/dropdown.element.js.map +1 -1
  46. package/dropdown/register.js.map +1 -1
  47. package/file/file.element.js.map +1 -1
  48. package/file/register.js.map +1 -1
  49. package/forms/control/control.element.js.map +1 -1
  50. package/forms/control-action/control-action.element.js.map +1 -1
  51. package/forms/control-group/control-group.element.js.map +1 -1
  52. package/forms/control-inline/control-inline.element.js +1 -1
  53. package/forms/control-inline/control-inline.element.js.map +1 -1
  54. package/forms/control-label/control-label.element.js.map +1 -1
  55. package/forms/control-message/control-message.element.js.map +1 -1
  56. package/forms/form-group/form-group.element.js.map +1 -1
  57. package/forms/register.js.map +1 -1
  58. package/forms/utils/utils.js.map +1 -1
  59. package/forms/utils/validate.js.map +1 -1
  60. package/global.css +18 -18
  61. package/grid/cell/grid-cell.element.js.map +1 -1
  62. package/grid/column/grid-column-position.controller.js.map +1 -1
  63. package/grid/column/grid-column-size.controller.js.map +1 -1
  64. package/grid/column/grid-column.element.js.map +1 -1
  65. package/grid/detail/grid-detail.element.js.map +1 -1
  66. package/grid/footer/grid-footer.element.js.map +1 -1
  67. package/grid/grid/grid-layout.controller.js.map +1 -1
  68. package/grid/grid/grid.element.js.map +1 -1
  69. package/grid/pagination/grid-pagination.element.js.map +1 -1
  70. package/grid/placeholder/grid-placeholder.element.js.map +1 -1
  71. package/grid/register.js.map +1 -1
  72. package/grid/row/grid-row-position.controller.js.map +1 -1
  73. package/grid/row/grid-row.element.js.map +1 -1
  74. package/icon/collections/chart.js.map +1 -1
  75. package/icon/collections/commerce.js.map +1 -1
  76. package/icon/collections/core.js.map +1 -1
  77. package/icon/collections/essential.js.map +1 -1
  78. package/icon/collections/media.js.map +1 -1
  79. package/icon/collections/mini.js.map +1 -1
  80. package/icon/collections/social.js.map +1 -1
  81. package/icon/collections/technology.js.map +1 -1
  82. package/icon/collections/text-edit.js.map +1 -1
  83. package/icon/collections/travel.js.map +1 -1
  84. package/icon/icon.element.js.map +1 -1
  85. package/icon/icon.renderer.js.map +1 -1
  86. package/icon/icon.service.js.map +1 -1
  87. package/icon/register.js.map +1 -1
  88. package/icon/shapes/accessibility-1.js.map +1 -1
  89. package/icon/shapes/accessibility-2.js.map +1 -1
  90. package/icon/shapes/add-text.js.map +1 -1
  91. package/icon/shapes/administrator.js.map +1 -1
  92. package/icon/shapes/airplane.js.map +1 -1
  93. package/icon/shapes/alarm-clock.js.map +1 -1
  94. package/icon/shapes/alarm-off.js.map +1 -1
  95. package/icon/shapes/align-bottom.js.map +1 -1
  96. package/icon/shapes/align-center.js.map +1 -1
  97. package/icon/shapes/align-left-text.js.map +1 -1
  98. package/icon/shapes/align-left.js.map +1 -1
  99. package/icon/shapes/align-middle.js.map +1 -1
  100. package/icon/shapes/align-right-text.js.map +1 -1
  101. package/icon/shapes/align-right.js.map +1 -1
  102. package/icon/shapes/align-top.js.map +1 -1
  103. package/icon/shapes/angle-double.js.map +1 -1
  104. package/icon/shapes/angle.js.map +1 -1
  105. package/icon/shapes/animation.js.map +1 -1
  106. package/icon/shapes/announcement.js.map +1 -1
  107. package/icon/shapes/application.js.map +1 -1
  108. package/icon/shapes/applications.js.map +1 -1
  109. package/icon/shapes/archive.js.map +1 -1
  110. package/icon/shapes/arrow-mini.js.map +1 -1
  111. package/icon/shapes/arrow.js.map +1 -1
  112. package/icon/shapes/assign-user.js.map +1 -1
  113. package/icon/shapes/asterisk.js.map +1 -1
  114. package/icon/shapes/atom.js.map +1 -1
  115. package/icon/shapes/axis-chart.js.map +1 -1
  116. package/icon/shapes/backup-restore.js.map +1 -1
  117. package/icon/shapes/backup.js.map +1 -1
  118. package/icon/shapes/ban.js.map +1 -1
  119. package/icon/shapes/bank.js.map +1 -1
  120. package/icon/shapes/bar-chart.js.map +1 -1
  121. package/icon/shapes/bar-code.js.map +1 -1
  122. package/icon/shapes/bars.js.map +1 -1
  123. package/icon/shapes/battery.js.map +1 -1
  124. package/icon/shapes/bell-curve.js.map +1 -1
  125. package/icon/shapes/bell.js.map +1 -1
  126. package/icon/shapes/beta.js.map +1 -1
  127. package/icon/shapes/bicycle.js.map +1 -1
  128. package/icon/shapes/birthday-cake.js.map +1 -1
  129. package/icon/shapes/bitcoin.js.map +1 -1
  130. package/icon/shapes/block-quote.js.map +1 -1
  131. package/icon/shapes/block.js.map +1 -1
  132. package/icon/shapes/blocks-group.js.map +1 -1
  133. package/icon/shapes/bluetooth-off.js.map +1 -1
  134. package/icon/shapes/bluetooth.js.map +1 -1
  135. package/icon/shapes/boat.js.map +1 -1
  136. package/icon/shapes/bold.js.map +1 -1
  137. package/icon/shapes/bolt.js.map +1 -1
  138. package/icon/shapes/book.js.map +1 -1
  139. package/icon/shapes/bookmark.js.map +1 -1
  140. package/icon/shapes/box-plot.js.map +1 -1
  141. package/icon/shapes/briefcase.js.map +1 -1
  142. package/icon/shapes/bubble-chart.js.map +1 -1
  143. package/icon/shapes/bubble-exclamation.js.map +1 -1
  144. package/icon/shapes/bug.js.map +1 -1
  145. package/icon/shapes/building.js.map +1 -1
  146. package/icon/shapes/bullet-list.js.map +1 -1
  147. package/icon/shapes/bullseye.js.map +1 -1
  148. package/icon/shapes/bundle.js.map +1 -1
  149. package/icon/shapes/calculator.js.map +1 -1
  150. package/icon/shapes/calendar-mini.js.map +1 -1
  151. package/icon/shapes/calendar.js.map +1 -1
  152. package/icon/shapes/camera.js.map +1 -1
  153. package/icon/shapes/campervan.js.map +1 -1
  154. package/icon/shapes/capacitor.js.map +1 -1
  155. package/icon/shapes/car.js.map +1 -1
  156. package/icon/shapes/caravan.js.map +1 -1
  157. package/icon/shapes/cd-dvd.js.map +1 -1
  158. package/icon/shapes/center-text.js.map +1 -1
  159. package/icon/shapes/certificate.js.map +1 -1
  160. package/icon/shapes/chat-bubble.js.map +1 -1
  161. package/icon/shapes/check-circle-mini.js.map +1 -1
  162. package/icon/shapes/check-circle.js.map +1 -1
  163. package/icon/shapes/check-mini.js.map +1 -1
  164. package/icon/shapes/check.js.map +1 -1
  165. package/icon/shapes/checkbox-list.js.map +1 -1
  166. package/icon/shapes/child-arrow.js.map +1 -1
  167. package/icon/shapes/ci-cd.js.map +1 -1
  168. package/icon/shapes/circle-arrow.js.map +1 -1
  169. package/icon/shapes/circle.js.map +1 -1
  170. package/icon/shapes/clipboard.js.map +1 -1
  171. package/icon/shapes/clock.js.map +1 -1
  172. package/icon/shapes/clone.js.map +1 -1
  173. package/icon/shapes/cloud-chart.js.map +1 -1
  174. package/icon/shapes/cloud-network.js.map +1 -1
  175. package/icon/shapes/cloud-scale.js.map +1 -1
  176. package/icon/shapes/cloud-traffic.js.map +1 -1
  177. package/icon/shapes/cloud.js.map +1 -1
  178. package/icon/shapes/cluster.js.map +1 -1
  179. package/icon/shapes/code.js.map +1 -1
  180. package/icon/shapes/cog.js.map +1 -1
  181. package/icon/shapes/coin-bag.js.map +1 -1
  182. package/icon/shapes/collapse-card.js.map +1 -1
  183. package/icon/shapes/color-palette.js.map +1 -1
  184. package/icon/shapes/color-picker.js.map +1 -1
  185. package/icon/shapes/compass.js.map +1 -1
  186. package/icon/shapes/computer.js.map +1 -1
  187. package/icon/shapes/connect.js.map +1 -1
  188. package/icon/shapes/container-volume.js.map +1 -1
  189. package/icon/shapes/container.js.map +1 -1
  190. package/icon/shapes/contract.js.map +1 -1
  191. package/icon/shapes/control-lun.js.map +1 -1
  192. package/icon/shapes/copy-to-clipboard.js.map +1 -1
  193. package/icon/shapes/copy.js.map +1 -1
  194. package/icon/shapes/cpu.js.map +1 -1
  195. package/icon/shapes/credit-card.js.map +1 -1
  196. package/icon/shapes/crosshairs.js.map +1 -1
  197. package/icon/shapes/crown.js.map +1 -1
  198. package/icon/shapes/cursor-arrow.js.map +1 -1
  199. package/icon/shapes/cursor-hand-click.js.map +1 -1
  200. package/icon/shapes/cursor-hand-grab.js.map +1 -1
  201. package/icon/shapes/cursor-hand-open.js.map +1 -1
  202. package/icon/shapes/cursor-hand.js.map +1 -1
  203. package/icon/shapes/cursor-move.js.map +1 -1
  204. package/icon/shapes/curve-chart.js.map +1 -1
  205. package/icon/shapes/dashboard.js.map +1 -1
  206. package/icon/shapes/data-cluster.js.map +1 -1
  207. package/icon/shapes/deploy.js.map +1 -1
  208. package/icon/shapes/detail-collapse.js.map +1 -1
  209. package/icon/shapes/detail-expand.js.map +1 -1
  210. package/icon/shapes/details.js.map +1 -1
  211. package/icon/shapes/devices.js.map +1 -1
  212. package/icon/shapes/digital-signature.js.map +1 -1
  213. package/icon/shapes/disconnect.js.map +1 -1
  214. package/icon/shapes/display.js.map +1 -1
  215. package/icon/shapes/dollar-bill.js.map +1 -1
  216. package/icon/shapes/dollar.js.map +1 -1
  217. package/icon/shapes/dot-circle.js.map +1 -1
  218. package/icon/shapes/download-cloud.js.map +1 -1
  219. package/icon/shapes/download.js.map +1 -1
  220. package/icon/shapes/drag-handle-corner.js.map +1 -1
  221. package/icon/shapes/drag-handle.js.map +1 -1
  222. package/icon/shapes/e-check.js.map +1 -1
  223. package/icon/shapes/ellipsis-horizontal.js.map +1 -1
  224. package/icon/shapes/ellipsis-vertical.js.map +1 -1
  225. package/icon/shapes/employee-group.js.map +1 -1
  226. package/icon/shapes/employee.js.map +1 -1
  227. package/icon/shapes/envelope.js.map +1 -1
  228. package/icon/shapes/eraser.js.map +1 -1
  229. package/icon/shapes/error-mini.js.map +1 -1
  230. package/icon/shapes/error-standard.js.map +1 -1
  231. package/icon/shapes/euro.js.map +1 -1
  232. package/icon/shapes/event-mini.js.map +1 -1
  233. package/icon/shapes/event.js.map +1 -1
  234. package/icon/shapes/exclamation-circle.js.map +1 -1
  235. package/icon/shapes/exclamation-triangle.js.map +1 -1
  236. package/icon/shapes/expand-card.js.map +1 -1
  237. package/icon/shapes/export.js.map +1 -1
  238. package/icon/shapes/eye-hide.js.map +1 -1
  239. package/icon/shapes/eye.js.map +1 -1
  240. package/icon/shapes/factory.js.map +1 -1
  241. package/icon/shapes/fast-forward.js.map +1 -1
  242. package/icon/shapes/ferry.js.map +1 -1
  243. package/icon/shapes/file-group.js.map +1 -1
  244. package/icon/shapes/file-settings.js.map +1 -1
  245. package/icon/shapes/file-share-2.js.map +1 -1
  246. package/icon/shapes/file-share.js.map +1 -1
  247. package/icon/shapes/file-zip.js.map +1 -1
  248. package/icon/shapes/file.js.map +1 -1
  249. package/icon/shapes/film-strip.js.map +1 -1
  250. package/icon/shapes/filter-2.js.map +1 -1
  251. package/icon/shapes/filter-grid-circle-mini.js.map +1 -1
  252. package/icon/shapes/filter-grid-circle.js.map +1 -1
  253. package/icon/shapes/filter-grid-mini.js.map +1 -1
  254. package/icon/shapes/filter-grid.js.map +1 -1
  255. package/icon/shapes/filter-off.js.map +1 -1
  256. package/icon/shapes/filter.js.map +1 -1
  257. package/icon/shapes/firewall.js.map +1 -1
  258. package/icon/shapes/first-aid.js.map +1 -1
  259. package/icon/shapes/fish.js.map +1 -1
  260. package/icon/shapes/flag.js.map +1 -1
  261. package/icon/shapes/flame.js.map +1 -1
  262. package/icon/shapes/flask.js.map +1 -1
  263. package/icon/shapes/floppy.js.map +1 -1
  264. package/icon/shapes/folder-open.js.map +1 -1
  265. package/icon/shapes/folder.js.map +1 -1
  266. package/icon/shapes/font-size.js.map +1 -1
  267. package/icon/shapes/forking.js.map +1 -1
  268. package/icon/shapes/form.js.map +1 -1
  269. package/icon/shapes/fuel.js.map +1 -1
  270. package/icon/shapes/gavel.js.map +1 -1
  271. package/icon/shapes/grid-chart.js.map +1 -1
  272. package/icon/shapes/grid-view.js.map +1 -1
  273. package/icon/shapes/half-star.js.map +1 -1
  274. package/icon/shapes/happy-face.js.map +1 -1
  275. package/icon/shapes/hard-disk.js.map +1 -1
  276. package/icon/shapes/hard-drive-disks.js.map +1 -1
  277. package/icon/shapes/hard-drive.js.map +1 -1
  278. package/icon/shapes/hashtag.js.map +1 -1
  279. package/icon/shapes/headphones.js.map +1 -1
  280. package/icon/shapes/heart-broken.js.map +1 -1
  281. package/icon/shapes/heart.js.map +1 -1
  282. package/icon/shapes/heat-map.js.map +1 -1
  283. package/icon/shapes/helix.js.map +1 -1
  284. package/icon/shapes/help-info.js.map +1 -1
  285. package/icon/shapes/help.js.map +1 -1
  286. package/icon/shapes/highlighter.js.map +1 -1
  287. package/icon/shapes/history.js.map +1 -1
  288. package/icon/shapes/home.js.map +1 -1
  289. package/icon/shapes/host-group.js.map +1 -1
  290. package/icon/shapes/host.js.map +1 -1
  291. package/icon/shapes/hourglass.js.map +1 -1
  292. package/icon/shapes/id-badge.js.map +1 -1
  293. package/icon/shapes/image-gallery.js.map +1 -1
  294. package/icon/shapes/image.js.map +1 -1
  295. package/icon/shapes/import.js.map +1 -1
  296. package/icon/shapes/inbox.js.map +1 -1
  297. package/icon/shapes/indent.js.map +1 -1
  298. package/icon/shapes/inductor.js.map +1 -1
  299. package/icon/shapes/info-circle-mini.js.map +1 -1
  300. package/icon/shapes/info-circle.js.map +1 -1
  301. package/icon/shapes/info-standard.js.map +1 -1
  302. package/icon/shapes/install.js.map +1 -1
  303. package/icon/shapes/internet-of-things.js.map +1 -1
  304. package/icon/shapes/italic.js.map +1 -1
  305. package/icon/shapes/justify-text.js.map +1 -1
  306. package/icon/shapes/key.js.map +1 -1
  307. package/icon/shapes/keyboard.js.map +1 -1
  308. package/icon/shapes/landscape.js.map +1 -1
  309. package/icon/shapes/language.js.map +1 -1
  310. package/icon/shapes/launchpad.js.map +1 -1
  311. package/icon/shapes/layers.js.map +1 -1
  312. package/icon/shapes/library.js.map +1 -1
  313. package/icon/shapes/lightbulb.js.map +1 -1
  314. package/icon/shapes/line-chart.js.map +1 -1
  315. package/icon/shapes/link.js.map +1 -1
  316. package/icon/shapes/list.js.map +1 -1
  317. package/icon/shapes/lock.js.map +1 -1
  318. package/icon/shapes/login.js.map +1 -1
  319. package/icon/shapes/logout.js.map +1 -1
  320. package/icon/shapes/map-marker.js.map +1 -1
  321. package/icon/shapes/map.js.map +1 -1
  322. package/icon/shapes/media-changer.js.map +1 -1
  323. package/icon/shapes/memory.js.map +1 -1
  324. package/icon/shapes/microphone-mute.js.map +1 -1
  325. package/icon/shapes/microphone.js.map +1 -1
  326. package/icon/shapes/minus-circle.js.map +1 -1
  327. package/icon/shapes/minus.js.map +1 -1
  328. package/icon/shapes/mobile.js.map +1 -1
  329. package/icon/shapes/moon.js.map +1 -1
  330. package/icon/shapes/mouse.js.map +1 -1
  331. package/icon/shapes/music-note.js.map +1 -1
  332. package/icon/shapes/namespace.js.map +1 -1
  333. package/icon/shapes/network-globe.js.map +1 -1
  334. package/icon/shapes/network-settings.js.map +1 -1
  335. package/icon/shapes/network-switch.js.map +1 -1
  336. package/icon/shapes/neutral-face.js.map +1 -1
  337. package/icon/shapes/new.js.map +1 -1
  338. package/icon/shapes/no-access.js.map +1 -1
  339. package/icon/shapes/no-wifi.js.map +1 -1
  340. package/icon/shapes/node-group.js.map +1 -1
  341. package/icon/shapes/node.js.map +1 -1
  342. package/icon/shapes/nodes.js.map +1 -1
  343. package/icon/shapes/note.js.map +1 -1
  344. package/icon/shapes/number-list.js.map +1 -1
  345. package/icon/shapes/nvme.js.map +1 -1
  346. package/icon/shapes/objects.js.map +1 -1
  347. package/icon/shapes/on-holiday.js.map +1 -1
  348. package/icon/shapes/organization.js.map +1 -1
  349. package/icon/shapes/outdent.js.map +1 -1
  350. package/icon/shapes/paint-roller.js.map +1 -1
  351. package/icon/shapes/paperclip.js.map +1 -1
  352. package/icon/shapes/paste.js.map +1 -1
  353. package/icon/shapes/pause.js.map +1 -1
  354. package/icon/shapes/pdf-file.js.map +1 -1
  355. package/icon/shapes/pencil.js.map +1 -1
  356. package/icon/shapes/peso.js.map +1 -1
  357. package/icon/shapes/phone-handset.js.map +1 -1
  358. package/icon/shapes/picture.js.map +1 -1
  359. package/icon/shapes/pie-chart.js.map +1 -1
  360. package/icon/shapes/piggy-bank.js.map +1 -1
  361. package/icon/shapes/pin.js.map +1 -1
  362. package/icon/shapes/pinboard.js.map +1 -1
  363. package/icon/shapes/play.js.map +1 -1
  364. package/icon/shapes/plugin.js.map +1 -1
  365. package/icon/shapes/plus-circle.js.map +1 -1
  366. package/icon/shapes/plus.js.map +1 -1
  367. package/icon/shapes/pod.js.map +1 -1
  368. package/icon/shapes/pop-out.js.map +1 -1
  369. package/icon/shapes/portrait.js.map +1 -1
  370. package/icon/shapes/pound.js.map +1 -1
  371. package/icon/shapes/power.js.map +1 -1
  372. package/icon/shapes/printer.js.map +1 -1
  373. package/icon/shapes/process-on-vm.js.map +1 -1
  374. package/icon/shapes/qr-code.js.map +1 -1
  375. package/icon/shapes/rack-server.js.map +1 -1
  376. package/icon/shapes/radar.js.map +1 -1
  377. package/icon/shapes/recycle.js.map +1 -1
  378. package/icon/shapes/redo.js.map +1 -1
  379. package/icon/shapes/refresh.js.map +1 -1
  380. package/icon/shapes/repeat.js.map +1 -1
  381. package/icon/shapes/replay-all.js.map +1 -1
  382. package/icon/shapes/replay-one.js.map +1 -1
  383. package/icon/shapes/resistor.js.map +1 -1
  384. package/icon/shapes/resize.js.map +1 -1
  385. package/icon/shapes/resource-pool.js.map +1 -1
  386. package/icon/shapes/rewind.js.map +1 -1
  387. package/icon/shapes/router.js.map +1 -1
  388. package/icon/shapes/ruble.js.map +1 -1
  389. package/icon/shapes/ruler-pencil.js.map +1 -1
  390. package/icon/shapes/rupee.js.map +1 -1
  391. package/icon/shapes/sad-face.js.map +1 -1
  392. package/icon/shapes/scatter-plot.js.map +1 -1
  393. package/icon/shapes/scissors.js.map +1 -1
  394. package/icon/shapes/script-execute.js.map +1 -1
  395. package/icon/shapes/script-schedule.js.map +1 -1
  396. package/icon/shapes/scroll.js.map +1 -1
  397. package/icon/shapes/search.js.map +1 -1
  398. package/icon/shapes/share.js.map +1 -1
  399. package/icon/shapes/shield-check.js.map +1 -1
  400. package/icon/shapes/shield-x.js.map +1 -1
  401. package/icon/shapes/shield.js.map +1 -1
  402. package/icon/shapes/shopping-bag.js.map +1 -1
  403. package/icon/shapes/shopping-cart.js.map +1 -1
  404. package/icon/shapes/shrink.js.map +1 -1
  405. package/icon/shapes/shuffle.js.map +1 -1
  406. package/icon/shapes/slider.js.map +1 -1
  407. package/icon/shapes/snowflake.js.map +1 -1
  408. package/icon/shapes/sort-by.js.map +1 -1
  409. package/icon/shapes/squid.js.map +1 -1
  410. package/icon/shapes/ssd.js.map +1 -1
  411. package/icon/shapes/star.js.map +1 -1
  412. package/icon/shapes/step-forward-2.js.map +1 -1
  413. package/icon/shapes/step-forward.js.map +1 -1
  414. package/icon/shapes/stop.js.map +1 -1
  415. package/icon/shapes/storage-adapter.js.map +1 -1
  416. package/icon/shapes/storage.js.map +1 -1
  417. package/icon/shapes/store.js.map +1 -1
  418. package/icon/shapes/strikethrough.js.map +1 -1
  419. package/icon/shapes/subscript.js.map +1 -1
  420. package/icon/shapes/success-standard.js.map +1 -1
  421. package/icon/shapes/sun.js.map +1 -1
  422. package/icon/shapes/superscript.js.map +1 -1
  423. package/icon/shapes/switch.js.map +1 -1
  424. package/icon/shapes/sync.js.map +1 -1
  425. package/icon/shapes/table.js.map +1 -1
  426. package/icon/shapes/tablet.js.map +1 -1
  427. package/icon/shapes/tag.js.map +1 -1
  428. package/icon/shapes/tags.js.map +1 -1
  429. package/icon/shapes/talk-bubbles.js.map +1 -1
  430. package/icon/shapes/tape-drive.js.map +1 -1
  431. package/icon/shapes/target.js.map +1 -1
  432. package/icon/shapes/tasks.js.map +1 -1
  433. package/icon/shapes/terminal.js.map +1 -1
  434. package/icon/shapes/text-color.js.map +1 -1
  435. package/icon/shapes/text.js.map +1 -1
  436. package/icon/shapes/thermometer.js.map +1 -1
  437. package/icon/shapes/thin-client.js.map +1 -1
  438. package/icon/shapes/thumbs-down.js.map +1 -1
  439. package/icon/shapes/thumbs-up.js.map +1 -1
  440. package/icon/shapes/tick-chart.js.map +1 -1
  441. package/icon/shapes/timeline.js.map +1 -1
  442. package/icon/shapes/times-circle.js.map +1 -1
  443. package/icon/shapes/times-mini.js.map +1 -1
  444. package/icon/shapes/times.js.map +1 -1
  445. package/icon/shapes/tools.js.map +1 -1
  446. package/icon/shapes/trailer.js.map +1 -1
  447. package/icon/shapes/trash.js.map +1 -1
  448. package/icon/shapes/tree-view.js.map +1 -1
  449. package/icon/shapes/tree.js.map +1 -1
  450. package/icon/shapes/truck.js.map +1 -1
  451. package/icon/shapes/two-way-arrows.js.map +1 -1
  452. package/icon/shapes/unarchive.js.map +1 -1
  453. package/icon/shapes/underline.js.map +1 -1
  454. package/icon/shapes/undo.js.map +1 -1
  455. package/icon/shapes/uninstall.js.map +1 -1
  456. package/icon/shapes/unknown-status.js.map +1 -1
  457. package/icon/shapes/unknown.js.map +1 -1
  458. package/icon/shapes/unlink.js.map +1 -1
  459. package/icon/shapes/unlock.js.map +1 -1
  460. package/icon/shapes/unpin.js.map +1 -1
  461. package/icon/shapes/update.js.map +1 -1
  462. package/icon/shapes/upload-cloud.js.map +1 -1
  463. package/icon/shapes/upload.js.map +1 -1
  464. package/icon/shapes/usb.js.map +1 -1
  465. package/icon/shapes/user.js.map +1 -1
  466. package/icon/shapes/users.js.map +1 -1
  467. package/icon/shapes/video-camera.js.map +1 -1
  468. package/icon/shapes/video-gallery.js.map +1 -1
  469. package/icon/shapes/view-cards.js.map +1 -1
  470. package/icon/shapes/view-columns.js.map +1 -1
  471. package/icon/shapes/view-list.js.map +1 -1
  472. package/icon/shapes/vm-bug-inverse.js.map +1 -1
  473. package/icon/shapes/vm-bug.js.map +1 -1
  474. package/icon/shapes/vm.js.map +1 -1
  475. package/icon/shapes/vmw-app.js.map +1 -1
  476. package/icon/shapes/volume-down.js.map +1 -1
  477. package/icon/shapes/volume-mute.js.map +1 -1
  478. package/icon/shapes/volume-up.js.map +1 -1
  479. package/icon/shapes/volume.js.map +1 -1
  480. package/icon/shapes/wallet.js.map +1 -1
  481. package/icon/shapes/wand.js.map +1 -1
  482. package/icon/shapes/warning-mini.js.map +1 -1
  483. package/icon/shapes/warning-standard.js.map +1 -1
  484. package/icon/shapes/wifi.js.map +1 -1
  485. package/icon/shapes/window-close.js.map +1 -1
  486. package/icon/shapes/window-max.js.map +1 -1
  487. package/icon/shapes/window-min.js.map +1 -1
  488. package/icon/shapes/window-restore.js.map +1 -1
  489. package/icon/shapes/won.js.map +1 -1
  490. package/icon/shapes/world.js.map +1 -1
  491. package/icon/shapes/wrench.js.map +1 -1
  492. package/icon/shapes/xls-file.js.map +1 -1
  493. package/icon/shapes/yen.js.map +1 -1
  494. package/icon/shapes/zoom-in.js.map +1 -1
  495. package/icon/shapes/zoom-out.js.map +1 -1
  496. package/icon/utils/icon.classnames.js.map +1 -1
  497. package/icon/utils/icon.svg-helpers.js.map +1 -1
  498. package/input/index.js.map +1 -1
  499. package/input/input-group.element.js.map +1 -1
  500. package/input/input.element.js.map +1 -1
  501. package/input/register.js.map +1 -1
  502. package/internal/base/button.base.js.map +1 -1
  503. package/internal/base/focus-trap.base.js.map +1 -1
  504. package/internal/controllers/active.controller.js.map +1 -1
  505. package/internal/controllers/aria-button.controller.js.map +1 -1
  506. package/internal/controllers/aria-disabled.controller.js.map +1 -1
  507. package/internal/controllers/aria-expanded.controller.js.map +1 -1
  508. package/internal/controllers/aria-grid.controller.js.map +1 -1
  509. package/internal/controllers/aria-modal.controller.js.map +1 -1
  510. package/internal/controllers/aria-multiselectable.controller.js.map +1 -1
  511. package/internal/controllers/aria-popup-trigger.controller.js.map +1 -1
  512. package/internal/controllers/aria-popup.controller.js.map +1 -1
  513. package/internal/controllers/aria-pressed.controller.js.map +1 -1
  514. package/internal/controllers/aria-selected.controller.js.map +1 -1
  515. package/internal/controllers/button-anchor.controller.js.map +1 -1
  516. package/internal/controllers/button-submit.controller.js.map +1 -1
  517. package/internal/controllers/closable.controller.js.map +1 -1
  518. package/internal/controllers/draggable-list.controller.js.map +1 -1
  519. package/internal/controllers/first-focus.controller.js.map +1 -1
  520. package/internal/controllers/grid-range-selection.controller.js.map +1 -1
  521. package/internal/controllers/inline-focus-trap.controller.js.map +1 -1
  522. package/internal/controllers/key-navigation-grid.controller.js.map +1 -1
  523. package/internal/controllers/key-navigation-list.controller.js.map +1 -1
  524. package/internal/controllers/key-navigation.utils.js.map +1 -1
  525. package/internal/controllers/layer.controller.js.map +1 -1
  526. package/internal/controllers/responsive.controller.js.map +1 -1
  527. package/internal/controllers/scrollable-list-visibility.controller.js.map +1 -1
  528. package/internal/controllers/touch.controller.js.map +1 -1
  529. package/internal/controllers/trigger.controller.js.map +1 -1
  530. package/internal/decorators/animate.js.map +1 -1
  531. package/internal/decorators/element.js.map +1 -1
  532. package/internal/decorators/event.js.map +1 -1
  533. package/internal/decorators/global-style.js.map +1 -1
  534. package/internal/decorators/i18n.js.map +1 -1
  535. package/internal/decorators/id.js.map +1 -1
  536. package/internal/decorators/property.js.map +1 -1
  537. package/internal/decorators/query-slot.js.map +1 -1
  538. package/internal/decorators/utils.js.map +1 -1
  539. package/internal/directives/spread-props.js.map +1 -1
  540. package/internal/i18n/utils.js.map +1 -1
  541. package/internal/index.js.map +1 -1
  542. package/internal/motion/animations/cds-accordion-panel-open.js.map +1 -1
  543. package/internal/motion/animations/cds-component-shake.js.map +1 -1
  544. package/internal/motion/animations/cds-dropdown-open.js.map +1 -1
  545. package/internal/motion/animations/cds-modal-enter.js.map +1 -1
  546. package/internal/motion/animations/cds-navigation-group-open.js.map +1 -1
  547. package/internal/motion/animations/cds-navigation-open.js.map +1 -1
  548. package/internal/motion/animations/cds-overlay-hinge-example.js.map +1 -1
  549. package/internal/motion/animations/cds-tree-item-expand.js.map +1 -1
  550. package/internal/motion/animations/keyframes/fade-in-and-slide-down.js.map +1 -1
  551. package/internal/motion/animations/keyframes/fade-in.js.map +1 -1
  552. package/internal/motion/animations/keyframes/hinge.js.map +1 -1
  553. package/internal/motion/animations/keyframes/shake.js.map +1 -1
  554. package/internal/motion/interfaces.js.map +1 -1
  555. package/internal/motion/motion.service.js.map +1 -1
  556. package/internal/motion/utils.js.map +1 -1
  557. package/internal/positioning/interfaces.js.map +1 -1
  558. package/internal/positioning/utils.js.map +1 -1
  559. package/internal/services/focus-trap-tracker.service.js.map +1 -1
  560. package/internal/services/global.service.js.map +1 -1
  561. package/internal/services/i18n.service.js.map +1 -1
  562. package/internal/services/keycodes.service.js.map +1 -1
  563. package/internal/services/log.service.js.map +1 -1
  564. package/internal/utils/__.js.map +1 -1
  565. package/internal/utils/a11y.js.map +1 -1
  566. package/internal/utils/array.js.map +1 -1
  567. package/internal/utils/async.js.map +1 -1
  568. package/internal/utils/browser.js.map +1 -1
  569. package/internal/utils/color.js.map +1 -1
  570. package/internal/utils/conditional.js.map +1 -1
  571. package/internal/utils/css.js.map +1 -1
  572. package/internal/utils/dom.js.map +1 -1
  573. package/internal/utils/enum.js.map +1 -1
  574. package/internal/utils/environment.js.map +1 -1
  575. package/internal/utils/event-subject.js.map +1 -1
  576. package/internal/utils/events.js.map +1 -1
  577. package/internal/utils/exists.js.map +1 -1
  578. package/internal/utils/focus.js.map +1 -1
  579. package/internal/utils/framework.js.map +1 -1
  580. package/internal/utils/global.js +1 -1
  581. package/internal/utils/global.js.map +1 -1
  582. package/internal/utils/identity.js.map +1 -1
  583. package/internal/utils/keycodes.js.map +1 -1
  584. package/internal/utils/lit.js.map +1 -1
  585. package/internal/utils/math.js.map +1 -1
  586. package/internal/utils/metadata.js.map +1 -1
  587. package/internal/utils/registration.js.map +1 -1
  588. package/internal/utils/responsive.js.map +1 -1
  589. package/internal/utils/size.js.map +1 -1
  590. package/internal/utils/string.js.map +1 -1
  591. package/internal/utils/supports.js.map +1 -1
  592. package/internal/utils/traversal.js.map +1 -1
  593. package/internal-components/close-button/close-button.element.js.map +1 -1
  594. package/internal-components/close-button/register.js.map +1 -1
  595. package/internal-components/overlay/overlay.element.js.map +1 -1
  596. package/internal-components/overlay/register.js.map +1 -1
  597. package/internal-components/panel/panel.element.js.map +1 -1
  598. package/internal-components/panel/register.js.map +1 -1
  599. package/internal-components/popup/pointer.element.js.map +1 -1
  600. package/internal-components/popup/popup.element.js.map +1 -1
  601. package/internal-components/popup/register.js.map +1 -1
  602. package/internal-components/popup/utils/pointer.utils.js.map +1 -1
  603. package/internal-components/split-handle/register.js.map +1 -1
  604. package/internal-components/split-handle/split-handle.element.js.map +1 -1
  605. package/internal-components/visual-checkbox/register.js.map +1 -1
  606. package/internal-components/visual-checkbox/visual-checkbox.element.js.map +1 -1
  607. package/list/list.css +2 -2
  608. package/modal/modal-actions.element.js.map +1 -1
  609. package/modal/modal-content.element.js.map +1 -1
  610. package/modal/modal-header-actions.element.js.map +1 -1
  611. package/modal/modal-header.element.js.map +1 -1
  612. package/modal/modal.element.js.map +1 -1
  613. package/modal/register.js.map +1 -1
  614. package/navigation/navigation-group.element.js.map +1 -1
  615. package/navigation/navigation-item.element.js.map +1 -1
  616. package/navigation/navigation-start.element.js.map +1 -1
  617. package/navigation/navigation.element.js.map +1 -1
  618. package/navigation/register.js.map +1 -1
  619. package/navigation/utils/utils.js.map +1 -1
  620. package/package.json +1 -1
  621. package/pagination/pagination-button.element.js.map +1 -1
  622. package/pagination/pagination.element.js.map +1 -1
  623. package/pagination/register.js.map +1 -1
  624. package/pagination/utils.js.map +1 -1
  625. package/password/password.element.js.map +1 -1
  626. package/password/register.js.map +1 -1
  627. package/polyfills/aria-reflect.js.map +1 -1
  628. package/polyfills/at.js.map +1 -1
  629. package/progress-circle/progress-circle.element.js.map +1 -1
  630. package/progress-circle/progress-circle.utils.js.map +1 -1
  631. package/progress-circle/register.js.map +1 -1
  632. package/radio/radio-group.element.js.map +1 -1
  633. package/radio/radio.element.js.map +1 -1
  634. package/radio/register.js.map +1 -1
  635. package/range/range.element.js.map +1 -1
  636. package/range/register.js.map +1 -1
  637. package/search/register.js.map +1 -1
  638. package/search/search.element.js.map +1 -1
  639. package/select/register.js.map +1 -1
  640. package/select/select.element.js.map +1 -1
  641. package/selection-panels/checkbox/checkbox-panel.element.js.map +1 -1
  642. package/selection-panels/checkbox/register.js.map +1 -1
  643. package/selection-panels/radio/radio-panel.element.js.map +1 -1
  644. package/selection-panels/radio/register.js.map +1 -1
  645. package/signpost/register.js.map +1 -1
  646. package/signpost/signpost.element.js.map +1 -1
  647. package/styles/module.layout.css +11 -11
  648. package/styles/module.reset.css +1 -1
  649. package/styles/module.typography.css +5 -5
  650. package/styles/shim.clr-ui.css +17 -2
  651. package/styles/shim.clr-ui.min.css +6 -2
  652. package/styles/theme.dark.css +1 -1
  653. package/styles/theme.high-contrast.css +2 -2
  654. package/styles/theme.low-motion.css +2 -2
  655. package/table/table.css +2 -2
  656. package/tag/register.js.map +1 -1
  657. package/tag/tag.element.js.map +1 -1
  658. package/test/utils.js.map +1 -1
  659. package/test/web-test-server.js.map +1 -1
  660. package/test-dropdown/register.js.map +1 -1
  661. package/test-dropdown/test-dropdown.element.js.map +1 -1
  662. package/textarea/register.js.map +1 -1
  663. package/textarea/textarea.element.js.map +1 -1
  664. package/time/register.js.map +1 -1
  665. package/time/time.element.js.map +1 -1
  666. package/toggle/register.js.map +1 -1
  667. package/toggle/toggle-group.element.js.map +1 -1
  668. package/toggle/toggle.element.js.map +1 -1
  669. package/tree-view/register.js.map +1 -1
  670. package/tree-view/tree-item.element.js.map +1 -1
  671. package/tree-view/tree.element.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"control-group.element.js","sources":["../../../../src/forms/control-group/control-group.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 { query } from 'lit/decorators/query.js';\nimport { baseStyles, property, querySlot, querySlotAll, id, event, syncDefinedProps, describeElementByElements, setAttributes, syncProps, calculateOptimalLayout, responsive, } from '@cds/core/internal';\nimport styles from './control-group.element.scss';\nimport { getStatusIcon, controlIsWrapped, formLayouts, inlineControlListIsWrapped, defaultFormLayout, defaultControlWidth, getCurrentMessageStatus, } from '../utils/utils.js';\n/**\n * Internal Control Group\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-internal-control-group>\n * <label>...</label>\n * <cds-control>\n * <label></label>\n * <input ... />\n * </cds-control>\n * <cds-control>\n * <label></label>\n * <input ... />\n * </cds-control>\n * </cds-internal-control-group>\n * ```\n *\n * @element cds-internal-control-group\n * @slot - For projecting control group\n */\nlet CdsInternalControlGroup = class CdsInternalControlGroup extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Set the status of control group validation\n * @type {neutral | error | success}\n */\n this.status = 'neutral';\n /** @type {horizontal | horizontal-inline | vertical | vertical-inline | compact} */\n this.layout = defaultFormLayout;\n /** Align the labels of controls within group left or right */\n this.controlAlign = 'left';\n /** Disable all controls within a control group or omit and disable controls individually */\n this.disabled = false;\n /**\n * Adjust the control from the default full width or the browser default width\n * @type {stretch | shrink}\n */\n this.controlWidth = defaultControlWidth;\n /**\n * By default forms will collapse to layout that prevents overflow.\n * If disabled control layout may break or overflow in unexpected ways.\n */\n this.responsive = true;\n this.isInlineControlGroup = false;\n this.isControlGroup = true;\n }\n get messagesTemplate() {\n return html ` <div\n ?hidden=${this.messages.length === 0}\n cds-layout=\"horizontal align:shrink gap:xs wrap:none\"\n class=\"messages-container\"\n >\n ${!this.isInlineControlGroup ? getStatusIcon(this.status) : ''}\n <div class=\"messages\">\n <slot name=\"message\" @slotchange=${this.updateControlMessages}></slot>\n </div>\n </div>`;\n }\n get controlsTemplate() {\n return this.isInlineControlGroup\n ? html `\n <div cds-layout=\"horizontal gap:xs align:horizontal-stretch\" class=\"input-container\">\n <div class=\"controls\" cds-layout=\"horizontal align:horizontal-stretch wrap:none\">\n <slot name=\"controls\"></slot>\n </div>\n ${getStatusIcon(this.status)}\n </div>\n `\n : html `\n <div cds-layout=\"horizontal align:shrink\" class=\"input-container\">\n <div class=\"controls\" cds-layout=\"${this.inlineControlLayout}\">\n <slot name=\"controls\"></slot>\n </div>\n </div>\n `;\n }\n get inlineControlLayout() {\n return `${!this.layout.includes('inline') && this.layout !== 'compact' ? 'vertical gap:xs' : 'horizontal gap:sm'} ${!this.layout.includes('vertical') ? 'wrap:none' : ''}`;\n }\n get primaryLabelLayout() {\n return !this.layout.includes('vertical') ? 'horizontal gap:lg' : 'vertical gap:xs';\n }\n get controlMessageLayout() {\n return `${this.layout === 'compact' ? 'horizontal' : 'vertical'} gap:xs wrap:none align:stretch`;\n }\n render() {\n return html `\n <div class=\"private-host\" cds-layout=${this.primaryLabelLayout}>\n <cds-internal-control-label .disabled=${this.disabled} cds-layout=\"align:top\" action=\"primary\">\n <slot name=\"label\"></slot>\n </cds-internal-control-label>\n <div class=\"control-message-container\" cds-layout=${this.controlMessageLayout}>\n ${this.controlsTemplate} ${this.messagesTemplate}\n </div>\n </div>\n `;\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributes(this, ['role', 'group'], ['cds-control-group', '']);\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.associateLabelAndGroup();\n this.setupResponsive();\n }\n updated(props) {\n super.updated(props);\n props.set('isControlGroup', true);\n this.controls.forEach((c) => (c.isControlGroup = true));\n this.messages.forEach(message => syncProps(message, this, { disabled: props.has('disabled') }));\n syncDefinedProps(props, this, Array.from(this.controls));\n }\n get layoutStable() {\n return (!inlineControlListIsWrapped(Array.from(this.controls), this.layout) &&\n !controlIsWrapped(this.controlSlot, this.controlLabel, this.layout));\n }\n associateLabelAndGroup() {\n this.setAttribute('aria-labelledby', this.groupLabelId);\n this.label.setAttribute('id', this.groupLabelId);\n }\n async updateControlMessages() {\n describeElementByElements(this, Array.from(this.messages));\n this.status = await getCurrentMessageStatus(Array.from(this.messages));\n }\n setupResponsive() {\n if (this.responsive) {\n const layoutConfig = { layouts: formLayouts, initialLayout: this.layout };\n this.addEventListener('cdsResizeChange', () => calculateOptimalLayout(this, layoutConfig).then(() => this.layoutChange.emit(this.layout, { bubbles: true })));\n }\n }\n};\nCdsInternalControlGroup.styles = [baseStyles, styles];\n__decorate([\n property({ type: String })\n], CdsInternalControlGroup.prototype, \"status\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalControlGroup.prototype, \"layout\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalControlGroup.prototype, \"controlAlign\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsInternalControlGroup.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalControlGroup.prototype, \"controlWidth\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsInternalControlGroup.prototype, \"responsive\", void 0);\n__decorate([\n querySlot('label', {\n assign: 'label',\n required: 'warning',\n requiredMessage: 'To meet a11y standards a <label> should be provided',\n })\n], CdsInternalControlGroup.prototype, \"label\", void 0);\n__decorate([\n querySlotAll('cds-control, [cds-control]')\n], CdsInternalControlGroup.prototype, \"controls\", void 0);\n__decorate([\n querySlotAll('cds-control-message')\n], CdsInternalControlGroup.prototype, \"messages\", void 0);\n__decorate([\n query('cds-internal-control-label[action=primary]', true)\n], CdsInternalControlGroup.prototype, \"controlLabel\", void 0);\n__decorate([\n query('.controls', true)\n], CdsInternalControlGroup.prototype, \"controlSlot\", void 0);\n__decorate([\n id()\n], CdsInternalControlGroup.prototype, \"groupLabelId\", void 0);\n__decorate([\n event()\n], CdsInternalControlGroup.prototype, \"layoutChange\", void 0);\nCdsInternalControlGroup = __decorate([\n responsive()\n], CdsInternalControlGroup);\nexport { CdsInternalControlGroup };\n"],"names":["CdsInternalControlGroup","LitElement","constructor","super","this","status","layout","defaultFormLayout","controlAlign","disabled","controlWidth","defaultControlWidth","responsive","isInlineControlGroup","isControlGroup","messagesTemplate","html","messages","length","getStatusIcon","updateControlMessages","controlsTemplate","inlineControlLayout","includes","primaryLabelLayout","controlMessageLayout","render","connectedCallback","setAttributes","firstUpdated","props","associateLabelAndGroup","setupResponsive","updated","set","controls","forEach","c","message","syncProps","has","syncDefinedProps","Array","from","layoutStable","inlineControlListIsWrapped","controlIsWrapped","controlSlot","controlLabel","setAttribute","groupLabelId","label","async","describeElementByElements","getCurrentMessageStatus","layoutConfig","layouts","formLayouts","initialLayout","addEventListener","calculateOptimalLayout","then","layoutChange","emit","bubbles","styles","baseStyles","__decorate","property","type","String","prototype","Boolean","querySlot","assign","required","requiredMessage","querySlotAll","query","id","event"],"mappings":"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"}
1
+ {"version":3,"file":"control-group.element.js","sources":["../../../../src/forms/control-group/control-group.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { query } from 'lit/decorators/query.js';\nimport { baseStyles, property, querySlot, querySlotAll, id, event, syncDefinedProps, describeElementByElements, setAttributes, syncProps, calculateOptimalLayout, responsive, } from '@cds/core/internal';\nimport styles from './control-group.element.scss';\nimport { getStatusIcon, controlIsWrapped, formLayouts, inlineControlListIsWrapped, defaultFormLayout, defaultControlWidth, getCurrentMessageStatus, } from '../utils/utils.js';\n/**\n * Internal Control Group\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-internal-control-group>\n * <label>...</label>\n * <cds-control>\n * <label></label>\n * <input ... />\n * </cds-control>\n * <cds-control>\n * <label></label>\n * <input ... />\n * </cds-control>\n * </cds-internal-control-group>\n * ```\n *\n * @element cds-internal-control-group\n * @slot - For projecting control group\n */\nlet CdsInternalControlGroup = class CdsInternalControlGroup extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Set the status of control group validation\n * @type {neutral | error | success}\n */\n this.status = 'neutral';\n /** @type {horizontal | horizontal-inline | vertical | vertical-inline | compact} */\n this.layout = defaultFormLayout;\n /** Align the labels of controls within group left or right */\n this.controlAlign = 'left';\n /** Disable all controls within a control group or omit and disable controls individually */\n this.disabled = false;\n /**\n * Adjust the control from the default full width or the browser default width\n * @type {stretch | shrink}\n */\n this.controlWidth = defaultControlWidth;\n /**\n * By default forms will collapse to layout that prevents overflow.\n * If disabled control layout may break or overflow in unexpected ways.\n */\n this.responsive = true;\n this.isInlineControlGroup = false;\n this.isControlGroup = true;\n }\n get messagesTemplate() {\n return html ` <div\n ?hidden=${this.messages.length === 0}\n cds-layout=\"horizontal align:shrink gap:xs wrap:none\"\n class=\"messages-container\"\n >\n ${!this.isInlineControlGroup ? getStatusIcon(this.status) : ''}\n <div class=\"messages\">\n <slot name=\"message\" @slotchange=${this.updateControlMessages}></slot>\n </div>\n </div>`;\n }\n get controlsTemplate() {\n return this.isInlineControlGroup\n ? html `\n <div cds-layout=\"horizontal gap:xs align:horizontal-stretch\" class=\"input-container\">\n <div class=\"controls\" cds-layout=\"horizontal align:horizontal-stretch wrap:none\">\n <slot name=\"controls\"></slot>\n </div>\n ${getStatusIcon(this.status)}\n </div>\n `\n : html `\n <div cds-layout=\"horizontal align:shrink\" class=\"input-container\">\n <div class=\"controls\" cds-layout=\"${this.inlineControlLayout}\">\n <slot name=\"controls\"></slot>\n </div>\n </div>\n `;\n }\n get inlineControlLayout() {\n return `${!this.layout.includes('inline') && this.layout !== 'compact' ? 'vertical gap:xs' : 'horizontal gap:sm'} ${!this.layout.includes('vertical') ? 'wrap:none' : ''}`;\n }\n get primaryLabelLayout() {\n return !this.layout.includes('vertical') ? 'horizontal gap:lg' : 'vertical gap:xs';\n }\n get controlMessageLayout() {\n return `${this.layout === 'compact' ? 'horizontal' : 'vertical'} gap:xs wrap:none align:stretch`;\n }\n render() {\n return html `\n <div class=\"private-host\" cds-layout=${this.primaryLabelLayout}>\n <cds-internal-control-label .disabled=${this.disabled} cds-layout=\"align:top\" action=\"primary\">\n <slot name=\"label\"></slot>\n </cds-internal-control-label>\n <div class=\"control-message-container\" cds-layout=${this.controlMessageLayout}>\n ${this.controlsTemplate} ${this.messagesTemplate}\n </div>\n </div>\n `;\n }\n connectedCallback() {\n super.connectedCallback();\n setAttributes(this, ['role', 'group'], ['cds-control-group', '']);\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.associateLabelAndGroup();\n this.setupResponsive();\n }\n updated(props) {\n super.updated(props);\n props.set('isControlGroup', true);\n this.controls.forEach((c) => (c.isControlGroup = true));\n this.messages.forEach(message => syncProps(message, this, { disabled: props.has('disabled') }));\n syncDefinedProps(props, this, Array.from(this.controls));\n }\n get layoutStable() {\n return (!inlineControlListIsWrapped(Array.from(this.controls), this.layout) &&\n !controlIsWrapped(this.controlSlot, this.controlLabel, this.layout));\n }\n associateLabelAndGroup() {\n this.setAttribute('aria-labelledby', this.groupLabelId);\n this.label.setAttribute('id', this.groupLabelId);\n }\n async updateControlMessages() {\n describeElementByElements(this, Array.from(this.messages));\n this.status = await getCurrentMessageStatus(Array.from(this.messages));\n }\n setupResponsive() {\n if (this.responsive) {\n const layoutConfig = { layouts: formLayouts, initialLayout: this.layout };\n this.addEventListener('cdsResizeChange', () => calculateOptimalLayout(this, layoutConfig).then(() => this.layoutChange.emit(this.layout, { bubbles: true })));\n }\n }\n};\nCdsInternalControlGroup.styles = [baseStyles, styles];\n__decorate([\n property({ type: String })\n], CdsInternalControlGroup.prototype, \"status\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalControlGroup.prototype, \"layout\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalControlGroup.prototype, \"controlAlign\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsInternalControlGroup.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalControlGroup.prototype, \"controlWidth\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsInternalControlGroup.prototype, \"responsive\", void 0);\n__decorate([\n querySlot('label', {\n assign: 'label',\n required: 'warning',\n requiredMessage: 'To meet a11y standards a <label> should be provided',\n })\n], CdsInternalControlGroup.prototype, \"label\", void 0);\n__decorate([\n querySlotAll('cds-control, [cds-control]')\n], CdsInternalControlGroup.prototype, \"controls\", void 0);\n__decorate([\n querySlotAll('cds-control-message')\n], CdsInternalControlGroup.prototype, \"messages\", void 0);\n__decorate([\n query('cds-internal-control-label[action=primary]', true)\n], CdsInternalControlGroup.prototype, \"controlLabel\", void 0);\n__decorate([\n query('.controls', true)\n], CdsInternalControlGroup.prototype, \"controlSlot\", void 0);\n__decorate([\n id()\n], CdsInternalControlGroup.prototype, \"groupLabelId\", void 0);\n__decorate([\n event()\n], CdsInternalControlGroup.prototype, \"layoutChange\", void 0);\nCdsInternalControlGroup = __decorate([\n responsive()\n], CdsInternalControlGroup);\nexport { CdsInternalControlGroup };\n"],"names":["CdsInternalControlGroup","LitElement","constructor","super","this","status","layout","defaultFormLayout","controlAlign","disabled","controlWidth","defaultControlWidth","responsive","isInlineControlGroup","isControlGroup","messagesTemplate","html","messages","length","getStatusIcon","updateControlMessages","controlsTemplate","inlineControlLayout","includes","primaryLabelLayout","controlMessageLayout","render","connectedCallback","setAttributes","firstUpdated","props","associateLabelAndGroup","setupResponsive","updated","set","controls","forEach","c","message","syncProps","has","syncDefinedProps","Array","from","layoutStable","inlineControlListIsWrapped","controlIsWrapped","controlSlot","controlLabel","setAttribute","groupLabelId","label","async","describeElementByElements","getCurrentMessageStatus","layoutConfig","layouts","formLayouts","initialLayout","addEventListener","calculateOptimalLayout","then","layoutChange","emit","bubbles","styles","baseStyles","__decorate","property","type","String","prototype","Boolean","querySlot","assign","required","requiredMessage","querySlotAll","query","id","event"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__decorate as e}from"tslib";import{html as t}from"lit";import{getElementUpdates as i,property as s,state as n,event as o}from"@cds/core/internal";import r from"./control-inline.element.scss.js";import{CdsControl as l,ControlLabelLayout as a}from"../control/control.element.js";import{getStatusIcon as c}from"../utils/utils.js";class d extends l{constructor(){super(...arguments);this.controlAlign="left",this.checked=!1,this.indeterminate=!1,this.supportsPrefixSuffixActions=!1}static get styles(){return[...super.styles,r]}get internalLabelTemplate(){return this.labelLayout!==a.ariaLabel?t`<cds-internal-control-label action="secondary" .disabled="${this.disabled}" cds-layout="align:vertical-center"><slot name="label" @slotchange="${()=>this.associateInputAndLabel()}"></slot></cds-internal-control-label>`:""}render(){return t`<div class="private-host" cds-layout="${this.isControlGroup?"horizontal align:vertical-center":"vertical"} gap:xs"><div cds-layout="horizontal gap:xs wrap:none align:vertical-center ${"right"===this.controlAlign?"order:reverse":""}"><div role="presentation" class="input" @click="${this.selectInput}"></div><div role="presentation" focusable @click="${this.selectInput}"></div>${this.internalLabelTemplate}</div>${this.messages?.length?t`<div cds-layout="horizontal wrap:none ${this.messages?.length?"gap:xs":""}">${c(this.status)}<div cds-layout="align:vertical-center" class="messages"><slot name="message"></slot></div></div>`:""}</div><div cds-layout="display:screen-reader-only"><slot name="input"></slot></div>`}firstUpdated(e){super.firstUpdated(e),this.inputControl.addEventListener("change",(()=>this.checked=this.inputControl.checked)),this.observers.push(i(this.inputControl,"checked",(e=>this.checked=""===e||e)),i(this.inputControl,"indeterminate",(e=>this.indeterminate=""===e||e)))}updated(e){super.updated(e),e.has("indeterminate")&&e.get("indeterminate")!==this.indeterminate&&this.indeterminate&&(this.checked=!1),e.has("checked")&&e.get("checked")!==this.checked&&this.checked&&(this.indeterminate=!1,this.checkedChange.emit(this.checked,{bubbles:!this.isControlGroup}))}selectInput(e){this.inputControl.click(),e.preventDefault()}}e([s({type:String})],d.prototype,"controlAlign",void 0),e([n()],d.prototype,"isControlGroup",void 0),e([n({type:Boolean,reflect:!0})],d.prototype,"checked",void 0),e([n({type:Boolean,reflect:!0})],d.prototype,"indeterminate",void 0),e([o()],d.prototype,"checkedChange",void 0);export{d as CdsInternalControlInline};
1
+ import{__decorate as t}from"tslib";import{html as e}from"lit";import{getElementUpdates as i,property as s,state as n,event as o}from"@cds/core/internal";import r from"./control-inline.element.scss.js";import{CdsControl as l,ControlLabelLayout as a}from"../control/control.element.js";import{getStatusIcon as c}from"../utils/utils.js";class d extends l{constructor(){super(...arguments);this.controlAlign="left",this.checked=!1,this.indeterminate=!1,this.supportsPrefixSuffixActions=!1}static get styles(){return[...super.styles,r]}get internalLabelTemplate(){return this.labelLayout!==a.ariaLabel?e`<cds-internal-control-label action="secondary" .disabled="${this.disabled}" cds-layout="align:vertical-center"><slot name="label" @slotchange="${()=>this.associateInputAndLabel()}"></slot></cds-internal-control-label>`:""}render(){return e`<div class="private-host" cds-layout="${this.isControlGroup?"horizontal align:vertical-center":"vertical"} gap:xs"><div cds-layout="horizontal gap:xs wrap:none align:vertical-center ${"right"===this.controlAlign?"order:reverse":""}"><div role="presentation" class="input" @click="${this.selectInput}"></div><div role="presentation" focusable @click="${this.selectInput}"></div>${this.internalLabelTemplate}</div>${this.messages?.length?e`<div cds-layout="horizontal wrap:none ${this.messages?.length?"gap:xs":""}">${c(this.status)}<div cds-layout="align:vertical-center" class="messages"><slot name="message"></slot></div></div>`:""}</div><div cds-layout="display:screen-reader-only"><slot name="input"></slot></div>`}firstUpdated(t){super.firstUpdated(t),this.inputControl.addEventListener("change",(()=>this.checked=this.inputControl.checked)),this.observers.push(i(this.inputControl,"checked",(t=>this.checked=""===t||t)),i(this.inputControl,"indeterminate",(t=>this.indeterminate=""===t||t)))}updated(t){super.updated(t),t.has("indeterminate")&&t.get("indeterminate")!==this.indeterminate&&this.indeterminate&&(this.checked=!1),t.has("checked")&&t.get("checked")!==this.checked&&this.checked&&(this.indeterminate=!1,this.checkedChange.emit(this.checked,{bubbles:!this.isControlGroup}))}selectInput(t){this.inputControl.focus(),this.inputControl.click(),t.preventDefault()}}t([s({type:String})],d.prototype,"controlAlign",void 0),t([n()],d.prototype,"isControlGroup",void 0),t([n({type:Boolean,reflect:!0})],d.prototype,"checked",void 0),t([n({type:Boolean,reflect:!0})],d.prototype,"indeterminate",void 0),t([o()],d.prototype,"checkedChange",void 0);export{d as CdsInternalControlInline};
2
2
  //# sourceMappingURL=control-inline.element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"control-inline.element.js","sources":["../../../../src/forms/control-inline/control-inline.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 { property, event, getElementUpdates, state } from '@cds/core/internal';\nimport styles from './control-inline.element.scss';\nimport { CdsControl, ControlLabelLayout } from '../control/control.element.js';\nimport { getStatusIcon } from '../utils/utils.js';\n/**\n * Internal Control Inline (boolean types)\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-internal-control-inline>\n * <label>inline</label>\n * <input type=\"radio\" />\n * </ds-internal-control-inline>\n * ```\n * @element cds-internal-control-inline\n * @slot - For projecting inline input and label\n */\nexport class CdsInternalControlInline extends CdsControl {\n constructor() {\n super(...arguments);\n /** Align the labels of controls within group left or right */\n this.controlAlign = 'left';\n /** @private */\n this.checked = false;\n /** @private */\n this.indeterminate = false;\n this.supportsPrefixSuffixActions = false;\n }\n static get styles() {\n return [...super.styles, styles];\n }\n get internalLabelTemplate() {\n return this.labelLayout !== ControlLabelLayout.ariaLabel\n ? html `\n <cds-internal-control-label\n action=\"secondary\"\n .disabled=\"${this.disabled}\"\n cds-layout=\"align:vertical-center\"\n >\n <slot name=\"label\" @slotchange=${() => this.associateInputAndLabel()}></slot>\n </cds-internal-control-label>\n `\n : '';\n }\n render() {\n return html `\n <div\n class=\"private-host\"\n cds-layout=\"${this.isControlGroup ? 'horizontal align:vertical-center' : 'vertical'} gap:xs\"\n >\n <div\n cds-layout=\"horizontal gap:xs wrap:none align:vertical-center ${this.controlAlign === 'right'\n ? 'order:reverse'\n : ''}\"\n >\n <div role=\"presentation\" class=\"input\" @click=${this.selectInput}></div>\n <div role=\"presentation\" focusable @click=${this.selectInput}></div>\n ${this.internalLabelTemplate}\n </div>\n ${this.messages?.length\n ? html ` <div cds-layout=\"horizontal wrap:none ${this.messages?.length ? 'gap:xs' : ''}\">\n ${getStatusIcon(this.status)}\n <div cds-layout=\"align:vertical-center\" class=\"messages\">\n <slot name=\"message\"></slot>\n </div>\n </div>`\n : ''}\n </div>\n <div cds-layout=\"display:screen-reader-only\">\n <slot name=\"input\"></slot>\n </div>\n `;\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.inputControl.addEventListener('change', () => (this.checked = this.inputControl.checked));\n this.observers.push(getElementUpdates(this.inputControl, 'checked', (value) => (this.checked = value === '' ? true : value)), getElementUpdates(this.inputControl, 'indeterminate', (value) => (this.indeterminate = value === '' ? true : value)));\n }\n updated(props) {\n super.updated(props);\n if (props.has('indeterminate') && props.get('indeterminate') !== this.indeterminate && this.indeterminate) {\n this.checked = false;\n }\n if (props.has('checked') && props.get('checked') !== this.checked && this.checked) {\n this.indeterminate = false;\n this.checkedChange.emit(this.checked, { bubbles: !this.isControlGroup }); // if not a group then bubble to notify the other associated controls\n }\n }\n selectInput(e) {\n this.inputControl.click();\n e.preventDefault(); // prevent any events from the input div, only the native input\n }\n}\n__decorate([\n property({ type: String })\n], CdsInternalControlInline.prototype, \"controlAlign\", void 0);\n__decorate([\n state()\n], CdsInternalControlInline.prototype, \"isControlGroup\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsInternalControlInline.prototype, \"checked\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsInternalControlInline.prototype, \"indeterminate\", void 0);\n__decorate([\n event()\n], CdsInternalControlInline.prototype, \"checkedChange\", void 0);\n"],"names":["CdsInternalControlInline","CdsControl","constructor","super","this","controlAlign","checked","indeterminate","supportsPrefixSuffixActions","styles","internalLabelTemplate","labelLayout","ControlLabelLayout","ariaLabel","html","disabled","associateInputAndLabel","render","isControlGroup","selectInput","messages","length","getStatusIcon","status","firstUpdated","props","inputControl","addEventListener","observers","push","getElementUpdates","value","updated","has","get","checkedChange","emit","bubbles","e","click","preventDefault","__decorate","property","type","String","prototype","state","Boolean","reflect","event"],"mappings":"8UA2BO,MAAMA,UAAiCC,EAC1CC,cACIC,oBAEAC,KAAKC,aAAe,OAEpBD,KAAKE,SAAU,EAEfF,KAAKG,eAAgB,EACrBH,KAAKI,6BAA8B,EAE5BC,oBACP,MAAO,IAAIN,MAAMM,OAAQA,GAEzBC,4BACA,OAAON,KAAKO,cAAgBC,EAAmBC,UACzCC,CAAK,6DAGMV,KAAKW,gFAGe,IAAMX,KAAKY,iEAG1C,GAEVC,SACI,OAAOH,CAAK,yCAGEV,KAAKc,eAAiB,mCAAqC,yFAGe,UAAtBd,KAAKC,aACjE,gBACA,sDAE4CD,KAAKe,iEACTf,KAAKe,sBAC/Cf,KAAKM,8BAEPN,KAAKgB,UAAUC,OACXP,CAAK,yCAA0CV,KAAKgB,UAAUC,OAAS,SAAW,OAChFC,EAAclB,KAAKmB,2GAKrB,wFAOVC,aAAaC,GACTtB,MAAMqB,aAAaC,GACnBrB,KAAKsB,aAAaC,iBAAiB,UAAU,IAAOvB,KAAKE,QAAUF,KAAKsB,aAAapB,UACrFF,KAAKwB,UAAUC,KAAKC,EAAkB1B,KAAKsB,aAAc,WAAYK,GAAW3B,KAAKE,QAAoB,KAAVyB,GAAsBA,IAASD,EAAkB1B,KAAKsB,aAAc,iBAAkBK,GAAW3B,KAAKG,cAA0B,KAAVwB,GAAsBA,KAE/OC,QAAQP,GACJtB,MAAM6B,QAAQP,GACVA,EAAMQ,IAAI,kBAAoBR,EAAMS,IAAI,mBAAqB9B,KAAKG,eAAiBH,KAAKG,gBACxFH,KAAKE,SAAU,GAEfmB,EAAMQ,IAAI,YAAcR,EAAMS,IAAI,aAAe9B,KAAKE,SAAWF,KAAKE,UACtEF,KAAKG,eAAgB,EACrBH,KAAK+B,cAAcC,KAAKhC,KAAKE,QAAS,CAAE+B,SAAUjC,KAAKc,kBAG/DC,YAAYmB,GACRlC,KAAKsB,aAAaa,QAClBD,EAAEE,kBAGVC,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClB5C,EAAyB6C,UAAW,oBAAgB,GACvDJ,EAAW,CACPK,KACD9C,EAAyB6C,UAAW,sBAAkB,GACzDJ,EAAW,CACPK,EAAM,CAAEH,KAAMI,QAASC,SAAS,KACjChD,EAAyB6C,UAAW,eAAW,GAClDJ,EAAW,CACPK,EAAM,CAAEH,KAAMI,QAASC,SAAS,KACjChD,EAAyB6C,UAAW,qBAAiB,GACxDJ,EAAW,CACPQ,KACDjD,EAAyB6C,UAAW,qBAAiB"}
1
+ {"version":3,"file":"control-inline.element.js","sources":["../../../../src/forms/control-inline/control-inline.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { property, event, getElementUpdates, state } from '@cds/core/internal';\nimport styles from './control-inline.element.scss';\nimport { CdsControl, ControlLabelLayout } from '../control/control.element.js';\nimport { getStatusIcon } from '../utils/utils.js';\n/**\n * Internal Control Inline (boolean types)\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-internal-control-inline>\n * <label>inline</label>\n * <input type=\"radio\" />\n * </ds-internal-control-inline>\n * ```\n * @element cds-internal-control-inline\n * @slot - For projecting inline input and label\n */\nexport class CdsInternalControlInline extends CdsControl {\n constructor() {\n super(...arguments);\n /** Align the labels of controls within group left or right */\n this.controlAlign = 'left';\n /** @private */\n this.checked = false;\n /** @private */\n this.indeterminate = false;\n this.supportsPrefixSuffixActions = false;\n }\n static get styles() {\n return [...super.styles, styles];\n }\n get internalLabelTemplate() {\n return this.labelLayout !== ControlLabelLayout.ariaLabel\n ? html `\n <cds-internal-control-label\n action=\"secondary\"\n .disabled=\"${this.disabled}\"\n cds-layout=\"align:vertical-center\"\n >\n <slot name=\"label\" @slotchange=${() => this.associateInputAndLabel()}></slot>\n </cds-internal-control-label>\n `\n : '';\n }\n render() {\n return html `\n <div\n class=\"private-host\"\n cds-layout=\"${this.isControlGroup ? 'horizontal align:vertical-center' : 'vertical'} gap:xs\"\n >\n <div\n cds-layout=\"horizontal gap:xs wrap:none align:vertical-center ${this.controlAlign === 'right'\n ? 'order:reverse'\n : ''}\"\n >\n <div role=\"presentation\" class=\"input\" @click=${this.selectInput}></div>\n <div role=\"presentation\" focusable @click=${this.selectInput}></div>\n ${this.internalLabelTemplate}\n </div>\n ${this.messages?.length\n ? html ` <div cds-layout=\"horizontal wrap:none ${this.messages?.length ? 'gap:xs' : ''}\">\n ${getStatusIcon(this.status)}\n <div cds-layout=\"align:vertical-center\" class=\"messages\">\n <slot name=\"message\"></slot>\n </div>\n </div>`\n : ''}\n </div>\n <div cds-layout=\"display:screen-reader-only\">\n <slot name=\"input\"></slot>\n </div>\n `;\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.inputControl.addEventListener('change', () => (this.checked = this.inputControl.checked));\n this.observers.push(getElementUpdates(this.inputControl, 'checked', (value) => (this.checked = value === '' ? true : value)), getElementUpdates(this.inputControl, 'indeterminate', (value) => (this.indeterminate = value === '' ? true : value)));\n }\n updated(props) {\n super.updated(props);\n if (props.has('indeterminate') && props.get('indeterminate') !== this.indeterminate && this.indeterminate) {\n this.checked = false;\n }\n if (props.has('checked') && props.get('checked') !== this.checked && this.checked) {\n this.indeterminate = false;\n this.checkedChange.emit(this.checked, { bubbles: !this.isControlGroup }); // if not a group then bubble to notify the other associated controls\n }\n }\n selectInput(e) {\n this.inputControl.focus();\n this.inputControl.click();\n e.preventDefault(); // prevent any events from the input div, only the native input\n }\n}\n__decorate([\n property({ type: String })\n], CdsInternalControlInline.prototype, \"controlAlign\", void 0);\n__decorate([\n state()\n], CdsInternalControlInline.prototype, \"isControlGroup\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsInternalControlInline.prototype, \"checked\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsInternalControlInline.prototype, \"indeterminate\", void 0);\n__decorate([\n event()\n], CdsInternalControlInline.prototype, \"checkedChange\", void 0);\n"],"names":["CdsInternalControlInline","CdsControl","constructor","super","this","controlAlign","checked","indeterminate","supportsPrefixSuffixActions","styles","internalLabelTemplate","labelLayout","ControlLabelLayout","ariaLabel","html","disabled","associateInputAndLabel","render","isControlGroup","selectInput","messages","length","getStatusIcon","status","firstUpdated","props","inputControl","addEventListener","observers","push","getElementUpdates","value","updated","has","get","checkedChange","emit","bubbles","e","focus","click","preventDefault","__decorate","property","type","String","prototype","state","Boolean","reflect","event"],"mappings":"8UA2BO,MAAMA,UAAiCC,EAC1CC,cACIC,oBAEAC,KAAKC,aAAe,OAEpBD,KAAKE,SAAU,EAEfF,KAAKG,eAAgB,EACrBH,KAAKI,6BAA8B,EAE5BC,oBACP,MAAO,IAAIN,MAAMM,OAAQA,GAEzBC,4BACA,OAAON,KAAKO,cAAgBC,EAAmBC,UACzCC,CAAK,6DAGMV,KAAKW,gFAGe,IAAMX,KAAKY,iEAG1C,GAEVC,SACI,OAAOH,CAAK,yCAGEV,KAAKc,eAAiB,mCAAqC,yFAGe,UAAtBd,KAAKC,aACjE,gBACA,sDAE4CD,KAAKe,iEACTf,KAAKe,sBAC/Cf,KAAKM,8BAEPN,KAAKgB,UAAUC,OACXP,CAAK,yCAA0CV,KAAKgB,UAAUC,OAAS,SAAW,OAChFC,EAAclB,KAAKmB,2GAKrB,wFAOVC,aAAaC,GACTtB,MAAMqB,aAAaC,GACnBrB,KAAKsB,aAAaC,iBAAiB,UAAU,IAAOvB,KAAKE,QAAUF,KAAKsB,aAAapB,UACrFF,KAAKwB,UAAUC,KAAKC,EAAkB1B,KAAKsB,aAAc,WAAYK,GAAW3B,KAAKE,QAAoB,KAAVyB,GAAsBA,IAASD,EAAkB1B,KAAKsB,aAAc,iBAAkBK,GAAW3B,KAAKG,cAA0B,KAAVwB,GAAsBA,KAE/OC,QAAQP,GACJtB,MAAM6B,QAAQP,GACVA,EAAMQ,IAAI,kBAAoBR,EAAMS,IAAI,mBAAqB9B,KAAKG,eAAiBH,KAAKG,gBACxFH,KAAKE,SAAU,GAEfmB,EAAMQ,IAAI,YAAcR,EAAMS,IAAI,aAAe9B,KAAKE,SAAWF,KAAKE,UACtEF,KAAKG,eAAgB,EACrBH,KAAK+B,cAAcC,KAAKhC,KAAKE,QAAS,CAAE+B,SAAUjC,KAAKc,kBAG/DC,YAAYmB,GACRlC,KAAKsB,aAAaa,QAClBnC,KAAKsB,aAAac,QAClBF,EAAEG,kBAGVC,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClB7C,EAAyB8C,UAAW,oBAAgB,GACvDJ,EAAW,CACPK,KACD/C,EAAyB8C,UAAW,sBAAkB,GACzDJ,EAAW,CACPK,EAAM,CAAEH,KAAMI,QAASC,SAAS,KACjCjD,EAAyB8C,UAAW,eAAW,GAClDJ,EAAW,CACPK,EAAM,CAAEH,KAAMI,QAASC,SAAS,KACjCjD,EAAyB8C,UAAW,qBAAiB,GACxDJ,EAAW,CACPQ,KACDlD,EAAyB8C,UAAW,qBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"control-label.element.js","sources":["../../../../src/forms/control-label/control-label.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 { baseStyles, property } from '@cds/core/internal';\nimport styles from './control-label.element.scss';\n/**\n * Label\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-internal-control-label status=\"primary | secondary\">\n * <label>...</label>\n * </cds-internal-control-label>\n * ```\n *\n * @element cds-internal-control-label\n * @slot - For projecting label text\n * @cssprop --label-width\n */\nexport class CdsInternalControlLabel extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.action = 'primary';\n }\n static get styles() {\n return [baseStyles, styles];\n }\n render() {\n return html `\n <div class=\"private-host\" cds-layout=\"horizontal gap:xs align:shrink\">\n <slot></slot>\n </div>\n `;\n }\n}\n__decorate([\n property({ type: Boolean })\n], CdsInternalControlLabel.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalControlLabel.prototype, \"action\", void 0);\n"],"names":["CdsInternalControlLabel","LitElement","constructor","super","this","disabled","action","styles","baseStyles","render","html","__decorate","property","type","Boolean","prototype","String"],"mappings":"2LA0BO,MAAMA,UAAgCC,EACzCC,cACIC,oBACAC,KAAKC,UAAW,EAChBD,KAAKE,OAAS,UAEPC,oBACP,MAAO,CAACC,EAAYD,GAExBE,SACI,OAAOC,CAAK,6FAOpBC,EAAW,CACPC,EAAS,CAAEC,KAAMC,WAClBd,EAAwBe,UAAW,gBAAY,GAClDJ,EAAW,CACPC,EAAS,CAAEC,KAAMG,UAClBhB,EAAwBe,UAAW,cAAU"}
1
+ {"version":3,"file":"control-label.element.js","sources":["../../../../src/forms/control-label/control-label.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { baseStyles, property } from '@cds/core/internal';\nimport styles from './control-label.element.scss';\n/**\n * Label\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-internal-control-label status=\"primary | secondary\">\n * <label>...</label>\n * </cds-internal-control-label>\n * ```\n *\n * @element cds-internal-control-label\n * @slot - For projecting label text\n * @cssprop --label-width\n */\nexport class CdsInternalControlLabel extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.action = 'primary';\n }\n static get styles() {\n return [baseStyles, styles];\n }\n render() {\n return html `\n <div class=\"private-host\" cds-layout=\"horizontal gap:xs align:shrink\">\n <slot></slot>\n </div>\n `;\n }\n}\n__decorate([\n property({ type: Boolean })\n], CdsInternalControlLabel.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], CdsInternalControlLabel.prototype, \"action\", void 0);\n"],"names":["CdsInternalControlLabel","LitElement","constructor","super","this","disabled","action","styles","baseStyles","render","html","__decorate","property","type","Boolean","prototype","String"],"mappings":"2LA0BO,MAAMA,UAAgCC,EACzCC,cACIC,oBACAC,KAAKC,UAAW,EAChBD,KAAKE,OAAS,UAEPC,oBACP,MAAO,CAACC,EAAYD,GAExBE,SACI,OAAOC,CAAK,6FAOpBC,EAAW,CACPC,EAAS,CAAEC,KAAMC,WAClBd,EAAwBe,UAAW,gBAAY,GAClDJ,EAAW,CACPC,EAAS,CAAEC,KAAMG,UAClBhB,EAAwBe,UAAW,cAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"control-message.element.js","sources":["../../../../src/forms/control-message/control-message.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 { baseStyles, property, assignSlotNames, state } from '@cds/core/internal';\nimport styles from './control-message.element.scss';\n/**\n * Control Message\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-control>\n * <label>Test</label>\n * <input type=\"text\" />\n * <cds-control-message>helper text</cds-control-message>\n * </cds-control>\n * ```\n *\n * @element cds-control-message\n * @slot - For projecting helper message text\n * @cssprop --color\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --max-width\n * @cssprop --min-width\n */\nexport class CdsControlMessage extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Set the status of form control message validation\n * @type {neutral | error | success}\n */\n this.status = 'neutral';\n this.disabled = false;\n }\n render() {\n return html `\n <div class=\"private-host\">\n <slot></slot>\n </div>\n `;\n }\n static get styles() {\n return [baseStyles, styles];\n }\n connectedCallback() {\n super.connectedCallback();\n assignSlotNames([this, 'message']);\n }\n}\n__decorate([\n property({ type: String })\n], CdsControlMessage.prototype, \"status\", void 0);\n__decorate([\n property({ type: String })\n], CdsControlMessage.prototype, \"error\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsControlMessage.prototype, \"disabled\", void 0);\n"],"names":["CdsControlMessage","LitElement","constructor","super","this","status","disabled","render","html","styles","baseStyles","connectedCallback","assignSlotNames","__decorate","property","type","String","prototype","state","Boolean","reflect"],"mappings":"6NAgCO,MAAMA,UAA0BC,EACnCC,cACIC,oBAKAC,KAAKC,OAAS,UACdD,KAAKE,UAAW,EAEpBC,SACI,OAAOC,CAAK,gDAMLC,oBACP,MAAO,CAACC,EAAYD,GAExBE,oBACIR,MAAMQ,oBACNC,EAAgB,CAACR,KAAM,aAG/BS,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBhB,EAAkBiB,UAAW,cAAU,GAC1CJ,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBhB,EAAkBiB,UAAW,aAAS,GACzCJ,EAAW,CACPK,EAAM,CAAEH,KAAMI,QAASC,SAAS,KACjCpB,EAAkBiB,UAAW,gBAAY"}
1
+ {"version":3,"file":"control-message.element.js","sources":["../../../../src/forms/control-message/control-message.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { baseStyles, property, assignSlotNames, state } from '@cds/core/internal';\nimport styles from './control-message.element.scss';\n/**\n * Control Message\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-control>\n * <label>Test</label>\n * <input type=\"text\" />\n * <cds-control-message>helper text</cds-control-message>\n * </cds-control>\n * ```\n *\n * @element cds-control-message\n * @slot - For projecting helper message text\n * @cssprop --color\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --max-width\n * @cssprop --min-width\n */\nexport class CdsControlMessage extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Set the status of form control message validation\n * @type {neutral | error | success}\n */\n this.status = 'neutral';\n this.disabled = false;\n }\n render() {\n return html `\n <div class=\"private-host\">\n <slot></slot>\n </div>\n `;\n }\n static get styles() {\n return [baseStyles, styles];\n }\n connectedCallback() {\n super.connectedCallback();\n assignSlotNames([this, 'message']);\n }\n}\n__decorate([\n property({ type: String })\n], CdsControlMessage.prototype, \"status\", void 0);\n__decorate([\n property({ type: String })\n], CdsControlMessage.prototype, \"error\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsControlMessage.prototype, \"disabled\", void 0);\n"],"names":["CdsControlMessage","LitElement","constructor","super","this","status","disabled","render","html","styles","baseStyles","connectedCallback","assignSlotNames","__decorate","property","type","String","prototype","state","Boolean","reflect"],"mappings":"6NAgCO,MAAMA,UAA0BC,EACnCC,cACIC,oBAKAC,KAAKC,OAAS,UACdD,KAAKE,UAAW,EAEpBC,SACI,OAAOC,CAAK,gDAMLC,oBACP,MAAO,CAACC,EAAYD,GAExBE,oBACIR,MAAMQ,oBACNC,EAAgB,CAACR,KAAM,aAG/BS,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBhB,EAAkBiB,UAAW,cAAU,GAC1CJ,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBhB,EAAkBiB,UAAW,aAAS,GACzCJ,EAAW,CACPK,EAAM,CAAEH,KAAMI,QAASC,SAAS,KACjCpB,EAAkBiB,UAAW,gBAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-group.element.js","sources":["../../../../src/forms/form-group/form-group.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 { LitElement, html } from 'lit';\nimport { baseStyles, querySlotAll, property, childrenUpdateComplete, elementResize, pxToRem, syncDefinedProps, elementVisible, } from '@cds/core/internal';\nimport { getLargestPrimaryLabelWidth, isVerticalLayout, defaultFormLayout } from '../utils/utils.js';\nimport styles from './form-group.element.scss';\n/**\n * Form\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-form-group layout=\"horizontal\">\n * <cds-input>\n * <label>Test</label>\n * <input type=\"text\" />\n * </cds-input>\n *\n * <cds-input>\n * <label>Test</label>\n * <input type=\"text\" />\n * </cds-input>\n * </cds-form-group>\n * ```\n *\n * @element cds-form-group\n * @slot - For projecting input controls\n * @cssprop --label-width\n */\nexport class CdsFormGroup extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Set to adjust the default control layout for all controls within form group.\n * When `responsive` is true this will be the largest size to scale to.\n * @type {horizontal | horizontal-inline | vertical | vertical-inline | compact}\n */\n this.layout = defaultFormLayout;\n /**\n * By default forms will collapse to layout that prevents overflow.\n * If disabled control layout may break or overflow in unexpected ways.\n */\n this.responsive = true;\n /**\n * Set the validate attribute to sync with HTML5 native validation\n * https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation\n */\n this.validate = false;\n this.observers = [];\n }\n get controlsAndGroups() {\n return [...Array.from(this.groups), ...Array.from(this.controls)];\n }\n static get styles() {\n return [baseStyles, styles];\n }\n render() {\n return html `\n <div class=\"private-host\" cds-layout=\"vertical gap:${this.layout === 'compact' ? 'sm' : 'lg'}\">\n <slot></slot>\n </div>\n `;\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.syncLayouts();\n this.setControlLabelWidths();\n this.observers.push(elementVisible(this, () => this.setControlLabelWidths()));\n }\n updated(props) {\n super.updated(props);\n syncDefinedProps(props, this, this.controlsAndGroups);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.observers.forEach(o => o?.disconnect());\n }\n async setControlLabelWidths() {\n if (this.layout === 'horizontal' || this.layout === 'horizontal-inline' || this.layout === 'compact') {\n await childrenUpdateComplete(this.controlsAndGroups);\n this.style.setProperty('--internal-label-min-width', await getLargestPrimaryLabelWidth(this.controlsAndGroups));\n elementResize(this, () => this.style.setProperty('--internal-label-max-width', pxToRem(this.getBoundingClientRect().width)));\n }\n }\n syncLayouts() {\n this.addEventListener('layoutChange', (e) => {\n e.preventDefault();\n if (!this.overflowElement && isVerticalLayout(e.detail)) {\n this.collapseForm(e.target);\n }\n if (e.target === this.overflowElement && !isVerticalLayout(e.detail)) {\n this.expandForm(e.detail);\n }\n });\n }\n collapseForm(control) {\n this.overflowElement = control;\n this.responsive = false;\n this.layout = 'vertical';\n control.updateComplete.then(() => (control.responsive = true));\n }\n expandForm(layout) {\n this.responsive = true;\n this.overflowElement = null;\n this.layout = layout;\n }\n}\n__decorate([\n property({ type: String })\n], CdsFormGroup.prototype, \"layout\", void 0);\n__decorate([\n property({ type: String })\n], CdsFormGroup.prototype, \"controlWidth\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsFormGroup.prototype, \"responsive\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsFormGroup.prototype, \"validate\", void 0);\n__decorate([\n querySlotAll('[cds-control]')\n], CdsFormGroup.prototype, \"controls\", void 0);\n__decorate([\n querySlotAll('[cds-control-group]')\n], CdsFormGroup.prototype, \"groups\", void 0);\n"],"names":["CdsFormGroup","LitElement","constructor","super","this","layout","defaultFormLayout","responsive","validate","observers","controlsAndGroups","Array","from","groups","controls","styles","baseStyles","render","html","firstUpdated","props","syncLayouts","setControlLabelWidths","push","elementVisible","updated","syncDefinedProps","disconnectedCallback","forEach","o","disconnect","async","childrenUpdateComplete","style","setProperty","getLargestPrimaryLabelWidth","elementResize","pxToRem","getBoundingClientRect","width","addEventListener","e","preventDefault","overflowElement","isVerticalLayout","detail","collapseForm","target","expandForm","control","updateComplete","then","__decorate","property","type","String","prototype","Boolean","querySlotAll"],"mappings":"6ZAmCO,MAAMA,UAAqBC,EAC9BC,cACIC,oBAMAC,KAAKC,OAASC,EAKdF,KAAKG,YAAa,EAKlBH,KAAKI,UAAW,EAChBJ,KAAKK,UAAY,GAEjBC,wBACA,MAAO,IAAIC,MAAMC,KAAKR,KAAKS,WAAYF,MAAMC,KAAKR,KAAKU,WAEhDC,oBACP,MAAO,CAACC,EAAYD,GAExBE,SACI,OAAOC,CAAK,sDACuD,YAAhBd,KAAKC,OAAuB,KAAO,4BAK1Fc,aAAaC,GACTjB,MAAMgB,aAAaC,GACnBhB,KAAKiB,cACLjB,KAAKkB,wBACLlB,KAAKK,UAAUc,KAAKC,EAAepB,MAAM,IAAMA,KAAKkB,2BAExDG,QAAQL,GACJjB,MAAMsB,QAAQL,GACdM,EAAiBN,EAAOhB,KAAMA,KAAKM,mBAEvCiB,uBACIxB,MAAMwB,uBACNvB,KAAKK,UAAUmB,SAAQC,GAAKA,GAAGC,eAEnCC,8BACwB,eAAhB3B,KAAKC,QAA2C,sBAAhBD,KAAKC,QAAkD,YAAhBD,KAAKC,eACtE2B,EAAuB5B,KAAKM,mBAClCN,KAAK6B,MAAMC,YAAY,mCAAoCC,EAA4B/B,KAAKM,oBAC5F0B,EAAchC,MAAM,IAAMA,KAAK6B,MAAMC,YAAY,6BAA8BG,EAAQjC,KAAKkC,wBAAwBC,WAG5HlB,cACIjB,KAAKoC,iBAAiB,gBAAiBC,IACnCA,EAAEC,kBACGtC,KAAKuC,iBAAmBC,EAAiBH,EAAEI,SAC5CzC,KAAK0C,aAAaL,EAAEM,QAEpBN,EAAEM,SAAW3C,KAAKuC,iBAAoBC,EAAiBH,EAAEI,SACzDzC,KAAK4C,WAAWP,EAAEI,WAI9BC,aAAaG,GACT7C,KAAKuC,gBAAkBM,EACvB7C,KAAKG,YAAa,EAClBH,KAAKC,OAAS,WACd4C,EAAQC,eAAeC,MAAK,IAAOF,EAAQ1C,YAAa,IAE5DyC,WAAW3C,GACPD,KAAKG,YAAa,EAClBH,KAAKuC,gBAAkB,KACvBvC,KAAKC,OAASA,GAGtB+C,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBvD,EAAawD,UAAW,cAAU,GACrCJ,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBvD,EAAawD,UAAW,oBAAgB,GAC3CJ,EAAW,CACPC,EAAS,CAAEC,KAAMG,WAClBzD,EAAawD,UAAW,kBAAc,GACzCJ,EAAW,CACPC,EAAS,CAAEC,KAAMG,WAClBzD,EAAawD,UAAW,gBAAY,GACvCJ,EAAW,CACPM,EAAa,kBACd1D,EAAawD,UAAW,gBAAY,GACvCJ,EAAW,CACPM,EAAa,wBACd1D,EAAawD,UAAW,cAAU"}
1
+ {"version":3,"file":"form-group.element.js","sources":["../../../../src/forms/form-group/form-group.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { LitElement, html } from 'lit';\nimport { baseStyles, querySlotAll, property, childrenUpdateComplete, elementResize, pxToRem, syncDefinedProps, elementVisible, } from '@cds/core/internal';\nimport { getLargestPrimaryLabelWidth, isVerticalLayout, defaultFormLayout } from '../utils/utils.js';\nimport styles from './form-group.element.scss';\n/**\n * Form\n *\n * ```typescript\n * import '@cds/core/forms/register.js';\n * ```\n *\n * ```html\n * <cds-form-group layout=\"horizontal\">\n * <cds-input>\n * <label>Test</label>\n * <input type=\"text\" />\n * </cds-input>\n *\n * <cds-input>\n * <label>Test</label>\n * <input type=\"text\" />\n * </cds-input>\n * </cds-form-group>\n * ```\n *\n * @element cds-form-group\n * @slot - For projecting input controls\n * @cssprop --label-width\n */\nexport class CdsFormGroup extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Set to adjust the default control layout for all controls within form group.\n * When `responsive` is true this will be the largest size to scale to.\n * @type {horizontal | horizontal-inline | vertical | vertical-inline | compact}\n */\n this.layout = defaultFormLayout;\n /**\n * By default forms will collapse to layout that prevents overflow.\n * If disabled control layout may break or overflow in unexpected ways.\n */\n this.responsive = true;\n /**\n * Set the validate attribute to sync with HTML5 native validation\n * https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation\n */\n this.validate = false;\n this.observers = [];\n }\n get controlsAndGroups() {\n return [...Array.from(this.groups), ...Array.from(this.controls)];\n }\n static get styles() {\n return [baseStyles, styles];\n }\n render() {\n return html `\n <div class=\"private-host\" cds-layout=\"vertical gap:${this.layout === 'compact' ? 'sm' : 'lg'}\">\n <slot></slot>\n </div>\n `;\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.syncLayouts();\n this.setControlLabelWidths();\n this.observers.push(elementVisible(this, () => this.setControlLabelWidths()));\n }\n updated(props) {\n super.updated(props);\n syncDefinedProps(props, this, this.controlsAndGroups);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.observers.forEach(o => o?.disconnect());\n }\n async setControlLabelWidths() {\n if (this.layout === 'horizontal' || this.layout === 'horizontal-inline' || this.layout === 'compact') {\n await childrenUpdateComplete(this.controlsAndGroups);\n this.style.setProperty('--internal-label-min-width', await getLargestPrimaryLabelWidth(this.controlsAndGroups));\n elementResize(this, () => this.style.setProperty('--internal-label-max-width', pxToRem(this.getBoundingClientRect().width)));\n }\n }\n syncLayouts() {\n this.addEventListener('layoutChange', (e) => {\n e.preventDefault();\n if (!this.overflowElement && isVerticalLayout(e.detail)) {\n this.collapseForm(e.target);\n }\n if (e.target === this.overflowElement && !isVerticalLayout(e.detail)) {\n this.expandForm(e.detail);\n }\n });\n }\n collapseForm(control) {\n this.overflowElement = control;\n this.responsive = false;\n this.layout = 'vertical';\n control.updateComplete.then(() => (control.responsive = true));\n }\n expandForm(layout) {\n this.responsive = true;\n this.overflowElement = null;\n this.layout = layout;\n }\n}\n__decorate([\n property({ type: String })\n], CdsFormGroup.prototype, \"layout\", void 0);\n__decorate([\n property({ type: String })\n], CdsFormGroup.prototype, \"controlWidth\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsFormGroup.prototype, \"responsive\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsFormGroup.prototype, \"validate\", void 0);\n__decorate([\n querySlotAll('[cds-control]')\n], CdsFormGroup.prototype, \"controls\", void 0);\n__decorate([\n querySlotAll('[cds-control-group]')\n], CdsFormGroup.prototype, \"groups\", void 0);\n"],"names":["CdsFormGroup","LitElement","constructor","super","this","layout","defaultFormLayout","responsive","validate","observers","controlsAndGroups","Array","from","groups","controls","styles","baseStyles","render","html","firstUpdated","props","syncLayouts","setControlLabelWidths","push","elementVisible","updated","syncDefinedProps","disconnectedCallback","forEach","o","disconnect","async","childrenUpdateComplete","style","setProperty","getLargestPrimaryLabelWidth","elementResize","pxToRem","getBoundingClientRect","width","addEventListener","e","preventDefault","overflowElement","isVerticalLayout","detail","collapseForm","target","expandForm","control","updateComplete","then","__decorate","property","type","String","prototype","Boolean","querySlotAll"],"mappings":"6ZAmCO,MAAMA,UAAqBC,EAC9BC,cACIC,oBAMAC,KAAKC,OAASC,EAKdF,KAAKG,YAAa,EAKlBH,KAAKI,UAAW,EAChBJ,KAAKK,UAAY,GAEjBC,wBACA,MAAO,IAAIC,MAAMC,KAAKR,KAAKS,WAAYF,MAAMC,KAAKR,KAAKU,WAEhDC,oBACP,MAAO,CAACC,EAAYD,GAExBE,SACI,OAAOC,CAAK,sDACuD,YAAhBd,KAAKC,OAAuB,KAAO,4BAK1Fc,aAAaC,GACTjB,MAAMgB,aAAaC,GACnBhB,KAAKiB,cACLjB,KAAKkB,wBACLlB,KAAKK,UAAUc,KAAKC,EAAepB,MAAM,IAAMA,KAAKkB,2BAExDG,QAAQL,GACJjB,MAAMsB,QAAQL,GACdM,EAAiBN,EAAOhB,KAAMA,KAAKM,mBAEvCiB,uBACIxB,MAAMwB,uBACNvB,KAAKK,UAAUmB,SAAQC,GAAKA,GAAGC,eAEnCC,8BACwB,eAAhB3B,KAAKC,QAA2C,sBAAhBD,KAAKC,QAAkD,YAAhBD,KAAKC,eACtE2B,EAAuB5B,KAAKM,mBAClCN,KAAK6B,MAAMC,YAAY,mCAAoCC,EAA4B/B,KAAKM,oBAC5F0B,EAAchC,MAAM,IAAMA,KAAK6B,MAAMC,YAAY,6BAA8BG,EAAQjC,KAAKkC,wBAAwBC,WAG5HlB,cACIjB,KAAKoC,iBAAiB,gBAAiBC,IACnCA,EAAEC,kBACGtC,KAAKuC,iBAAmBC,EAAiBH,EAAEI,SAC5CzC,KAAK0C,aAAaL,EAAEM,QAEpBN,EAAEM,SAAW3C,KAAKuC,iBAAoBC,EAAiBH,EAAEI,SACzDzC,KAAK4C,WAAWP,EAAEI,WAI9BC,aAAaG,GACT7C,KAAKuC,gBAAkBM,EACvB7C,KAAKG,YAAa,EAClBH,KAAKC,OAAS,WACd4C,EAAQC,eAAeC,MAAK,IAAOF,EAAQ1C,YAAa,IAE5DyC,WAAW3C,GACPD,KAAKG,YAAa,EAClBH,KAAKuC,gBAAkB,KACvBvC,KAAKC,OAASA,GAGtB+C,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBvD,EAAawD,UAAW,cAAU,GACrCJ,EAAW,CACPC,EAAS,CAAEC,KAAMC,UAClBvD,EAAawD,UAAW,oBAAgB,GAC3CJ,EAAW,CACPC,EAAS,CAAEC,KAAMG,WAClBzD,EAAawD,UAAW,kBAAc,GACzCJ,EAAW,CACPC,EAAS,CAAEC,KAAMG,WAClBzD,EAAawD,UAAW,gBAAY,GACvCJ,EAAW,CACPM,EAAa,kBACd1D,EAAawD,UAAW,gBAAY,GACvCJ,EAAW,CACPM,EAAa,wBACd1D,EAAawD,UAAW,cAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sources":["../../../src/forms/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 '@cds/core/button-action/register.js';\nimport { ClarityIcons } from '@cds/core/icon/icon.service.js';\nimport { exclamationCircleIcon } from '@cds/core/icon/shapes/exclamation-circle.js';\nimport { checkCircleIcon } from '@cds/core/icon/shapes/check-circle.js';\nimport { registerElementSafely } from '@cds/core/internal';\nimport { CdsControl } from './control/control.element.js';\nimport { CdsControlAction } from './control-action/control-action.element.js';\nimport { CdsInternalControlGroup } from './control-group/control-group.element.js';\nimport { CdsInternalControlInline } from './control-inline/control-inline.element.js';\nimport { CdsInternalControlLabel } from './control-label/control-label.element.js';\nimport { CdsControlMessage } from './control-message/control-message.element.js';\nimport { CdsFormGroup } from './form-group/form-group.element.js';\nregisterElementSafely('cds-control', CdsControl);\nregisterElementSafely('cds-control-action', CdsControlAction);\nregisterElementSafely('cds-internal-control-group', CdsInternalControlGroup);\nregisterElementSafely('cds-internal-control-inline', CdsInternalControlInline);\nregisterElementSafely('cds-internal-control-label', CdsInternalControlLabel);\nregisterElementSafely('cds-control-message', CdsControlMessage);\nregisterElementSafely('cds-form-group', CdsFormGroup);\nClarityIcons.addIcons(exclamationCircleIcon, checkCircleIcon);\n"],"names":["registerElementSafely","CdsControl","CdsControlAction","CdsInternalControlGroup","CdsInternalControlInline","CdsInternalControlLabel","CdsControlMessage","CdsFormGroup","ClarityIcons","addIcons","exclamationCircleIcon","checkCircleIcon"],"mappings":"23BAkBAA,EAAsB,cAAeC,GACrCD,EAAsB,qBAAsBE,GAC5CF,EAAsB,6BAA8BG,GACpDH,EAAsB,8BAA+BI,GACrDJ,EAAsB,6BAA8BK,GACpDL,EAAsB,sBAAuBM,GAC7CN,EAAsB,iBAAkBO,GACxCC,EAAaC,SAASC,EAAuBC"}
1
+ {"version":3,"file":"register.js","sources":["../../../src/forms/register.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 '@cds/core/button-action/register.js';\nimport { ClarityIcons } from '@cds/core/icon/icon.service.js';\nimport { exclamationCircleIcon } from '@cds/core/icon/shapes/exclamation-circle.js';\nimport { checkCircleIcon } from '@cds/core/icon/shapes/check-circle.js';\nimport { registerElementSafely } from '@cds/core/internal';\nimport { CdsControl } from './control/control.element.js';\nimport { CdsControlAction } from './control-action/control-action.element.js';\nimport { CdsInternalControlGroup } from './control-group/control-group.element.js';\nimport { CdsInternalControlInline } from './control-inline/control-inline.element.js';\nimport { CdsInternalControlLabel } from './control-label/control-label.element.js';\nimport { CdsControlMessage } from './control-message/control-message.element.js';\nimport { CdsFormGroup } from './form-group/form-group.element.js';\nregisterElementSafely('cds-control', CdsControl);\nregisterElementSafely('cds-control-action', CdsControlAction);\nregisterElementSafely('cds-internal-control-group', CdsInternalControlGroup);\nregisterElementSafely('cds-internal-control-inline', CdsInternalControlInline);\nregisterElementSafely('cds-internal-control-label', CdsInternalControlLabel);\nregisterElementSafely('cds-control-message', CdsControlMessage);\nregisterElementSafely('cds-form-group', CdsFormGroup);\nClarityIcons.addIcons(exclamationCircleIcon, checkCircleIcon);\n"],"names":["registerElementSafely","CdsControl","CdsControlAction","CdsInternalControlGroup","CdsInternalControlInline","CdsInternalControlLabel","CdsControlMessage","CdsFormGroup","ClarityIcons","addIcons","exclamationCircleIcon","checkCircleIcon"],"mappings":"23BAkBAA,EAAsB,cAAeC,GACrCD,EAAsB,qBAAsBE,GAC5CF,EAAsB,6BAA8BG,GACpDH,EAAsB,8BAA+BI,GACrDJ,EAAsB,6BAA8BK,GACpDL,EAAsB,sBAAuBM,GAC7CN,EAAsB,iBAAkBO,GACxCC,EAAaC,SAASC,EAAuBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/forms/utils/utils.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 { html } from 'lit';\nimport { createId, pxToRem } from '@cds/core/internal';\nexport const formLayouts = ['vertical', 'vertical-inline', 'horizontal', 'horizontal-inline', 'compact'];\nexport const defaultFormLayout = 'horizontal';\nexport const defaultControlWidth = 'stretch';\nexport function associateInputAndLabel(input, label) {\n if (input && label) {\n assignInputId(input);\n label.setAttribute('for', input.id);\n }\n}\nexport function associateInputToDatalist(input, datalist) {\n if (datalist) {\n assignInputId(input);\n datalist.id = `${input.id}-datalist`;\n input.setAttribute('list', datalist.id);\n }\n}\nexport function assignInputId(input) {\n if (!input.id.length) {\n input.id = createId();\n }\n}\nexport const layoutGroupToControlMapper = {\n 'horizontal-inline': 'horizontal',\n 'vertical-inline': 'vertical',\n horizontal: 'horizontal',\n vertical: 'vertical',\n compact: 'compact',\n};\nexport function getStatusIcon(status) {\n return html `${status !== 'neutral'\n ? html ` <cds-button-action readonly class=\"status\" cds-layout=\"align:shrink\">\n <cds-icon\n status=\"${status === 'error' ? 'danger' : 'success'}\"\n shape=\"${status === 'error' ? 'exclamation-circle' : 'check-circle'}\"\n size=\"16\"\n inner-offset=${4}\n ></cds-icon>\n </cds-button-action>`\n : ''} `;\n}\nexport async function getLargestPrimaryLabelWidth(controls) {\n return Promise.all(controls.map(c => c.updateComplete)).then(() => {\n const primaryLabels = controls.filter(c => c.controlLabel?.action === 'primary');\n return pxToRem(Math.max(...primaryLabels.map(c => c.controlLabel.getBoundingClientRect().width)));\n });\n}\nexport function controlIsWrapped(input, label, layout) {\n return (layout !== 'vertical' &&\n layout !== 'vertical-inline' &&\n input.getBoundingClientRect().top > label?.getBoundingClientRect().top + 12 // 12px buffer for rounding and inputs that are thin like the range input\n );\n}\nexport function inlineControlListIsWrapped(inlineControls, layout) {\n const first = inlineControls[0];\n const last = inlineControls[inlineControls.length - 1];\n const isInlineLayout = layout === 'vertical-inline' || layout === 'horizontal-inline';\n return isInlineLayout && last.getBoundingClientRect().top > first.getBoundingClientRect().top;\n}\nexport function isVerticalLayout(layout) {\n return layout === 'vertical' || layout === 'vertical-inline';\n}\n/**\n * Returns updated message status unless hidden then returns 'neutral'\n */\nexport async function getCurrentMessageStatus(messages) {\n const message = messages.find(m => m.status !== 'neutral');\n await message?.updateComplete;\n return message && !message.hidden ? message.status : 'neutral';\n}\n"],"names":["formLayouts","defaultFormLayout","defaultControlWidth","associateInputAndLabel","input","label","assignInputId","setAttribute","id","associateInputToDatalist","datalist","length","createId","layoutGroupToControlMapper","horizontal","vertical","compact","getStatusIcon","status","html","async","getLargestPrimaryLabelWidth","controls","Promise","all","map","c","updateComplete","then","primaryLabels","filter","controlLabel","action","pxToRem","Math","max","getBoundingClientRect","width","controlIsWrapped","layout","top","inlineControlListIsWrapped","inlineControls","first","last","isVerticalLayout","getCurrentMessageStatus","messages","message","find","m","hidden"],"mappings":"sFAOY,MAACA,EAAc,CAAC,WAAY,kBAAmB,aAAc,oBAAqB,WACjFC,EAAoB,aACpBC,EAAsB,UAC5B,SAASC,EAAuBC,EAAOC,GACtCD,GAASC,IACTC,EAAcF,GACdC,EAAME,aAAa,MAAOH,EAAMI,KAGjC,SAASC,EAAyBL,EAAOM,GACxCA,IACAJ,EAAcF,GACdM,EAASF,GAAQJ,EAAMI,GAAT,YACdJ,EAAMG,aAAa,OAAQG,EAASF,KAGrC,SAASF,EAAcF,GACrBA,EAAMI,GAAGG,SACVP,EAAMI,GAAKI,KAGP,MAACC,EAA6B,CACtC,oBAAqB,aACrB,kBAAmB,WACnBC,WAAY,aACZC,SAAU,WACVC,QAAS,WAEN,SAASC,EAAcC,GAC1B,OAAOC,CAAK,GAAc,YAAXD,EACTC,CAAK,qGAEgB,UAAXD,EAAqB,SAAW,qBACtB,UAAXA,EAAqB,qBAAuB,2CAEtC,qCAGf,KAEHE,eAAeC,EAA4BC,GAC9C,OAAOC,QAAQC,IAAIF,EAASG,KAAIC,GAAKA,EAAEC,kBAAiBC,MAAK,KACzD,MAAMC,EAAgBP,EAASQ,QAAOJ,GAAgC,YAA3BA,EAAEK,cAAcC,SAC3D,OAAOC,EAAQC,KAAKC,OAAON,EAAcJ,KAAIC,GAAKA,EAAEK,aAAaK,wBAAwBC,aAG1F,SAASC,EAAiBlC,EAAOC,EAAOkC,GAC3C,MAAmB,aAAXA,GACO,oBAAXA,GACAnC,EAAMgC,wBAAwBI,IAAMnC,GAAO+B,wBAAwBI,IAAM,GAG1E,SAASC,EAA2BC,EAAgBH,GACvD,MAAMI,EAAQD,EAAe,GACvBE,EAAOF,EAAeA,EAAe/B,OAAS,GAEpD,OADkC,oBAAX4B,GAA2C,sBAAXA,IAC9BK,EAAKR,wBAAwBI,IAAMG,EAAMP,wBAAwBI,IAEvF,SAASK,EAAiBN,GAC7B,MAAkB,aAAXA,GAAoC,oBAAXA,EAK7BnB,eAAe0B,EAAwBC,GAC1C,MAAMC,EAAUD,EAASE,MAAKC,GAAkB,YAAbA,EAAEhC,SAErC,aADM8B,GAASrB,gBACRqB,IAAYA,EAAQG,OAASH,EAAQ9B,OAAS"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/forms/utils/utils.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { html } from 'lit';\nimport { createId, pxToRem } from '@cds/core/internal';\nexport const formLayouts = ['vertical', 'vertical-inline', 'horizontal', 'horizontal-inline', 'compact'];\nexport const defaultFormLayout = 'horizontal';\nexport const defaultControlWidth = 'stretch';\nexport function associateInputAndLabel(input, label) {\n if (input && label) {\n assignInputId(input);\n label.setAttribute('for', input.id);\n }\n}\nexport function associateInputToDatalist(input, datalist) {\n if (datalist) {\n assignInputId(input);\n datalist.id = `${input.id}-datalist`;\n input.setAttribute('list', datalist.id);\n }\n}\nexport function assignInputId(input) {\n if (!input.id.length) {\n input.id = createId();\n }\n}\nexport const layoutGroupToControlMapper = {\n 'horizontal-inline': 'horizontal',\n 'vertical-inline': 'vertical',\n horizontal: 'horizontal',\n vertical: 'vertical',\n compact: 'compact',\n};\nexport function getStatusIcon(status) {\n return html `${status !== 'neutral'\n ? html ` <cds-button-action readonly class=\"status\" cds-layout=\"align:shrink\">\n <cds-icon\n status=\"${status === 'error' ? 'danger' : 'success'}\"\n shape=\"${status === 'error' ? 'exclamation-circle' : 'check-circle'}\"\n size=\"16\"\n inner-offset=${4}\n ></cds-icon>\n </cds-button-action>`\n : ''} `;\n}\nexport async function getLargestPrimaryLabelWidth(controls) {\n return Promise.all(controls.map(c => c.updateComplete)).then(() => {\n const primaryLabels = controls.filter(c => c.controlLabel?.action === 'primary');\n return pxToRem(Math.max(...primaryLabels.map(c => c.controlLabel.getBoundingClientRect().width)));\n });\n}\nexport function controlIsWrapped(input, label, layout) {\n return (layout !== 'vertical' &&\n layout !== 'vertical-inline' &&\n input.getBoundingClientRect().top > label?.getBoundingClientRect().top + 12 // 12px buffer for rounding and inputs that are thin like the range input\n );\n}\nexport function inlineControlListIsWrapped(inlineControls, layout) {\n const first = inlineControls[0];\n const last = inlineControls[inlineControls.length - 1];\n const isInlineLayout = layout === 'vertical-inline' || layout === 'horizontal-inline';\n return isInlineLayout && last.getBoundingClientRect().top > first.getBoundingClientRect().top;\n}\nexport function isVerticalLayout(layout) {\n return layout === 'vertical' || layout === 'vertical-inline';\n}\n/**\n * Returns updated message status unless hidden then returns 'neutral'\n */\nexport async function getCurrentMessageStatus(messages) {\n const message = messages.find(m => m.status !== 'neutral');\n await message?.updateComplete;\n return message && !message.hidden ? message.status : 'neutral';\n}\n"],"names":["formLayouts","defaultFormLayout","defaultControlWidth","associateInputAndLabel","input","label","assignInputId","setAttribute","id","associateInputToDatalist","datalist","length","createId","layoutGroupToControlMapper","horizontal","vertical","compact","getStatusIcon","status","html","async","getLargestPrimaryLabelWidth","controls","Promise","all","map","c","updateComplete","then","primaryLabels","filter","controlLabel","action","pxToRem","Math","max","getBoundingClientRect","width","controlIsWrapped","layout","top","inlineControlListIsWrapped","inlineControls","first","last","isVerticalLayout","getCurrentMessageStatus","messages","message","find","m","hidden"],"mappings":"sFAOY,MAACA,EAAc,CAAC,WAAY,kBAAmB,aAAc,oBAAqB,WACjFC,EAAoB,aACpBC,EAAsB,UAC5B,SAASC,EAAuBC,EAAOC,GACtCD,GAASC,IACTC,EAAcF,GACdC,EAAME,aAAa,MAAOH,EAAMI,KAGjC,SAASC,EAAyBL,EAAOM,GACxCA,IACAJ,EAAcF,GACdM,EAASF,GAAQJ,EAAMI,GAAT,YACdJ,EAAMG,aAAa,OAAQG,EAASF,KAGrC,SAASF,EAAcF,GACrBA,EAAMI,GAAGG,SACVP,EAAMI,GAAKI,KAGP,MAACC,EAA6B,CACtC,oBAAqB,aACrB,kBAAmB,WACnBC,WAAY,aACZC,SAAU,WACVC,QAAS,WAEN,SAASC,EAAcC,GAC1B,OAAOC,CAAK,GAAc,YAAXD,EACTC,CAAK,qGAEgB,UAAXD,EAAqB,SAAW,qBACtB,UAAXA,EAAqB,qBAAuB,2CAEtC,qCAGf,KAEHE,eAAeC,EAA4BC,GAC9C,OAAOC,QAAQC,IAAIF,EAASG,KAAIC,GAAKA,EAAEC,kBAAiBC,MAAK,KACzD,MAAMC,EAAgBP,EAASQ,QAAOJ,GAAgC,YAA3BA,EAAEK,cAAcC,SAC3D,OAAOC,EAAQC,KAAKC,OAAON,EAAcJ,KAAIC,GAAKA,EAAEK,aAAaK,wBAAwBC,aAG1F,SAASC,EAAiBlC,EAAOC,EAAOkC,GAC3C,MAAmB,aAAXA,GACO,oBAAXA,GACAnC,EAAMgC,wBAAwBI,IAAMnC,GAAO+B,wBAAwBI,IAAM,GAG1E,SAASC,EAA2BC,EAAgBH,GACvD,MAAMI,EAAQD,EAAe,GACvBE,EAAOF,EAAeA,EAAe/B,OAAS,GAEpD,OADkC,oBAAX4B,GAA2C,sBAAXA,IAC9BK,EAAKR,wBAAwBI,IAAMG,EAAMP,wBAAwBI,IAEvF,SAASK,EAAiBN,GAC7B,MAAkB,aAAXA,GAAoC,oBAAXA,EAK7BnB,eAAe0B,EAAwBC,GAC1C,MAAMC,EAAUD,EAASE,MAAKC,GAAkB,YAAbA,EAAEhC,SAErC,aADM8B,GAASrB,gBACRqB,IAAYA,EAAQG,OAASH,EAAQ9B,OAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sources":["../../../../src/forms/utils/validate.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 */\nexport function syncHTML5Validation(control, messages) {\n messages\n .filter(m => m.hasAttribute('error'))\n .forEach(m => {\n m.setAttribute('hidden', '');\n m.status = 'error';\n });\n control.inputControl.addEventListener('blur', () => control.inputControl.checkValidity());\n control.inputControl.addEventListener('invalid', () => {\n messages.forEach(message => message.setAttribute('hidden', ''));\n messages.find(message => control.inputControl.validity[message.error])?.removeAttribute('hidden');\n control.status = 'error';\n });\n control.inputControl.addEventListener('input', () => {\n control.status = control.inputControl.validity.valid ? 'neutral' : control.status;\n messages\n .filter(m => control.inputControl.validity.valid && m.error && !control.inputControl.validity[m.error])\n .forEach(message => message.setAttribute('hidden', ''));\n });\n}\n"],"names":["syncHTML5Validation","control","messages","filter","m","hasAttribute","forEach","setAttribute","status","inputControl","addEventListener","checkValidity","message","find","validity","error","removeAttribute","valid"],"mappings":"AAKO,SAASA,EAAoBC,EAASC,GACzCA,EACKC,QAAOC,GAAKA,EAAEC,aAAa,WAC3BC,SAAQF,IACTA,EAAEG,aAAa,SAAU,IACzBH,EAAEI,OAAS,WAEfP,EAAQQ,aAAaC,iBAAiB,QAAQ,IAAMT,EAAQQ,aAAaE,kBACzEV,EAAQQ,aAAaC,iBAAiB,WAAW,KAC7CR,EAASI,SAAQM,GAAWA,EAAQL,aAAa,SAAU,MAC3DL,EAASW,MAAKD,GAAWX,EAAQQ,aAAaK,SAASF,EAAQG,UAASC,gBAAgB,UACxFf,EAAQO,OAAS,WAErBP,EAAQQ,aAAaC,iBAAiB,SAAS,KAC3CT,EAAQO,OAASP,EAAQQ,aAAaK,SAASG,MAAQ,UAAYhB,EAAQO,OAC3EN,EACKC,QAAOC,GAAKH,EAAQQ,aAAaK,SAASG,OAASb,EAAEW,QAAUd,EAAQQ,aAAaK,SAASV,EAAEW,SAC/FT,SAAQM,GAAWA,EAAQL,aAAa,SAAU"}
1
+ {"version":3,"file":"validate.js","sources":["../../../../src/forms/utils/validate.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 */\nexport function syncHTML5Validation(control, messages) {\n messages\n .filter(m => m.hasAttribute('error'))\n .forEach(m => {\n m.setAttribute('hidden', '');\n m.status = 'error';\n });\n control.inputControl.addEventListener('blur', () => control.inputControl.checkValidity());\n control.inputControl.addEventListener('invalid', () => {\n messages.forEach(message => message.setAttribute('hidden', ''));\n messages.find(message => control.inputControl.validity[message.error])?.removeAttribute('hidden');\n control.status = 'error';\n });\n control.inputControl.addEventListener('input', () => {\n control.status = control.inputControl.validity.valid ? 'neutral' : control.status;\n messages\n .filter(m => control.inputControl.validity.valid && m.error && !control.inputControl.validity[m.error])\n .forEach(message => message.setAttribute('hidden', ''));\n });\n}\n"],"names":["syncHTML5Validation","control","messages","filter","m","hasAttribute","forEach","setAttribute","status","inputControl","addEventListener","checkValidity","message","find","validity","error","removeAttribute","valid"],"mappings":"AAKO,SAASA,EAAoBC,EAASC,GACzCA,EACKC,QAAOC,GAAKA,EAAEC,aAAa,WAC3BC,SAAQF,IACTA,EAAEG,aAAa,SAAU,IACzBH,EAAEI,OAAS,WAEfP,EAAQQ,aAAaC,iBAAiB,QAAQ,IAAMT,EAAQQ,aAAaE,kBACzEV,EAAQQ,aAAaC,iBAAiB,WAAW,KAC7CR,EAASI,SAAQM,GAAWA,EAAQL,aAAa,SAAU,MAC3DL,EAASW,MAAKD,GAAWX,EAAQQ,aAAaK,SAASF,EAAQG,UAASC,gBAAgB,UACxFf,EAAQO,OAAS,WAErBP,EAAQQ,aAAaC,iBAAiB,SAAS,KAC3CT,EAAQO,OAASP,EAAQQ,aAAaK,SAASG,MAAQ,UAAYhB,EAAQO,OAC3EN,EACKC,QAAOC,GAAKH,EAAQQ,aAAaK,SAASG,OAASb,EAAEW,QAAUd,EAAQQ,aAAaK,SAASV,EAAEW,SAC/FT,SAAQM,GAAWA,EAAQL,aAAa,SAAU"}
package/global.css CHANGED
@@ -1,6 +1,6 @@
1
1
  @charset "UTF-8";
2
2
  /*
3
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
3
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
4
4
  * This software is released under MIT license.
5
5
  * The full license information can be found in LICENSE in the root directory of this project.
6
6
  */
@@ -426,7 +426,7 @@
426
426
  }
427
427
 
428
428
  /*
429
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
429
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
430
430
  * This software is released under MIT license.
431
431
  * The full license information can be found in LICENSE in the root directory of this project.
432
432
  */
@@ -471,17 +471,17 @@ html[cds-focus-trap] {
471
471
  }
472
472
 
473
473
  /*
474
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
474
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
475
475
  * This software is released under MIT license.
476
476
  * The full license information can be found in LICENSE in the root directory of this project.
477
477
  */
478
478
  /*
479
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
479
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
480
480
  * This software is released under MIT license.
481
481
  * The full license information can be found in LICENSE in the root directory of this project.
482
482
  */
483
483
  /*
484
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
484
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
485
485
  * This software is released under MIT license.
486
486
  * The full license information can be found in LICENSE in the root directory of this project.
487
487
  */
@@ -877,12 +877,12 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
877
877
  }
878
878
 
879
879
  /*
880
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
880
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
881
881
  * This software is released under MIT license.
882
882
  * The full license information can be found in LICENSE in the root directory of this project.
883
883
  */
884
884
  /*
885
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
885
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
886
886
  * This software is released under MIT license.
887
887
  * The full license information can be found in LICENSE in the root directory of this project.
888
888
  */
@@ -1278,17 +1278,17 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
1278
1278
  }
1279
1279
 
1280
1280
  /*
1281
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
1281
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
1282
1282
  * This software is released under MIT license.
1283
1283
  * The full license information can be found in LICENSE in the root directory of this project.
1284
1284
  */
1285
1285
  /*
1286
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
1286
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
1287
1287
  * This software is released under MIT license.
1288
1288
  * The full license information can be found in LICENSE in the root directory of this project.
1289
1289
  */
1290
1290
  /*
1291
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
1291
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
1292
1292
  * This software is released under MIT license.
1293
1293
  * The full license information can be found in LICENSE in the root directory of this project.
1294
1294
  */
@@ -1306,12 +1306,12 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
1306
1306
  }
1307
1307
 
1308
1308
  /*
1309
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
1309
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
1310
1310
  * This software is released under MIT license.
1311
1311
  * The full license information can be found in LICENSE in the root directory of this project.
1312
1312
  */
1313
1313
  /*
1314
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
1314
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
1315
1315
  * This software is released under MIT license.
1316
1316
  * The full license information can be found in LICENSE in the root directory of this project.
1317
1317
  */
@@ -1429,7 +1429,7 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
1429
1429
  }
1430
1430
  }
1431
1431
  /*
1432
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
1432
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
1433
1433
  * This software is released under MIT license.
1434
1434
  * The full license information can be found in LICENSE in the root directory of this project.
1435
1435
  */
@@ -1875,7 +1875,7 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
1875
1875
  }
1876
1876
  }
1877
1877
  /*
1878
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
1878
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
1879
1879
  * This software is released under MIT license.
1880
1880
  * The full license information can be found in LICENSE in the root directory of this project.
1881
1881
  */
@@ -2277,7 +2277,7 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
2277
2277
  }
2278
2278
  }
2279
2279
  /*
2280
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
2280
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
2281
2281
  * This software is released under MIT license.
2282
2282
  * The full license information can be found in LICENSE in the root directory of this project.
2283
2283
  */
@@ -4974,7 +4974,7 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
4974
4974
  }
4975
4975
  }
4976
4976
  /*
4977
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
4977
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
4978
4978
  * This software is released under MIT license.
4979
4979
  * The full license information can be found in LICENSE in the root directory of this project.
4980
4980
  */
@@ -5083,7 +5083,7 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
5083
5083
  }
5084
5084
 
5085
5085
  /*
5086
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
5086
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
5087
5087
  * This software is released under MIT license.
5088
5088
  * The full license information can be found in LICENSE in the root directory of this project.
5089
5089
  */
@@ -8933,7 +8933,7 @@ body[cds-text*=body]::before, body[cds-text*=body]::after {
8933
8933
  }
8934
8934
  }
8935
8935
  /*
8936
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
8936
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
8937
8937
  * This software is released under MIT license.
8938
8938
  * The full license information can be found in LICENSE in the root directory of this project.
8939
8939
  */
@@ -1 +1 @@
1
- {"version":3,"file":"grid-cell.element.js","sources":["../../../../src/grid/cell/grid-cell.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 './grid-cell.element.scss';\n/**\n * Grid Cell\n *\n * ```typescript\n * import '@cds/core/grid/register.js';\n * ```\n *\n * @internal\n * @element cds-grid-cell\n * @cssprop --border-right\n * @cssprop --border-left\n * @cssprop --min-height\n * @cssprop --min-width\n * @cssprop --font-size\n * @cssprop --justify-content\n * @cssprop --padding-block\n * @cssprop --padding-inline-start\n * @cssprop --padding-inline-end\n * @cssprop --color\n */\nexport class CdsGridCell extends LitElement {\n render() {\n return html `\n <div class=\"private-host\" focusable>\n <slot></slot>\n </div>\n `;\n }\n}\nCdsGridCell.styles = [baseStyles, styles];\n"],"names":["CdsGridCell","LitElement","render","html","styles","baseStyles"],"mappings":"sIA4BO,MAAMA,UAAoBC,EAC7BC,SACI,OAAOC,CAAK,2DAOpBH,EAAYI,OAAS,CAACC,EAAYD"}
1
+ {"version":3,"file":"grid-cell.element.js","sources":["../../../../src/grid/cell/grid-cell.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 './grid-cell.element.scss';\n/**\n * Grid Cell\n *\n * ```typescript\n * import '@cds/core/grid/register.js';\n * ```\n *\n * @internal\n * @element cds-grid-cell\n * @cssprop --border-right\n * @cssprop --border-left\n * @cssprop --min-height\n * @cssprop --min-width\n * @cssprop --font-size\n * @cssprop --justify-content\n * @cssprop --padding-block\n * @cssprop --padding-inline-start\n * @cssprop --padding-inline-end\n * @cssprop --color\n */\nexport class CdsGridCell extends LitElement {\n render() {\n return html `\n <div class=\"private-host\" focusable>\n <slot></slot>\n </div>\n `;\n }\n}\nCdsGridCell.styles = [baseStyles, styles];\n"],"names":["CdsGridCell","LitElement","render","html","styles","baseStyles"],"mappings":"sIA4BO,MAAMA,UAAoBC,EAC7BC,SACI,OAAOC,CAAK,2DAOpBH,EAAYI,OAAS,CAACC,EAAYD"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid-column-position.controller.js","sources":["../../../../src/grid/column/grid-column-position.controller.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 */\nexport class GridColumnPositionController {\n constructor(host) {\n this.host = host;\n this.previousPosition = '';\n this.host.addController(this);\n }\n get hostGrid() {\n return this.host.parentElement;\n }\n async hostUpdated() {\n await this.host.updateComplete;\n if (this.host.ariaColIndex && this.host.position !== this.previousPosition) {\n this.previousPosition = this.host.position;\n if (!this.styles) {\n this.styles = document.createElement('style');\n this.hostGrid.append(this.styles);\n }\n this.calculateColumnPositionStyles();\n }\n }\n calculateColumnPositionStyles() {\n const gridPosition = this.hostGrid.getBoundingClientRect();\n const side = this.host.offsetLeft < gridPosition.width / 2 ? 'left' : 'right';\n this.styles.innerHTML = `${this.getPositionStyle(side, gridPosition)}\\n${this.borderStyle(side)}`;\n }\n getPositionStyle(side, gridPosition) {\n const position = this.host.getBoundingClientRect();\n const left = this.host.position === 'fixed' ? `${position.left - gridPosition.left - 1}px` : 'initial';\n const right = this.host.position === 'fixed' ? `${position.right - position.left - position.width}px` : 'initial';\n return `\n [__id='${this.hostGrid._id}'] [aria-colindex=\"${this.host.ariaColIndex}\"] {\n ${side === 'left' ? `left: ${left};` : ''}\n ${side === 'right' ? `right: ${right};` : ''}\n ${this.host.position === 'sticky' ? `left: 0px;` : ''}\n }\n\n [__id='${this.hostGrid._id}'] cds-grid-cell[aria-colindex=\"${this.host.ariaColIndex}\"] {\n z-index: 98;\n }`;\n }\n borderStyle(side) {\n const lastofLeft = side === 'left' && this.host.nextElementSibling.position !== this.host.position;\n const lastofRight = side === 'right' && this.host.previousElementSibling.position !== this.host.position;\n if (this.host.position !== '' && (lastofLeft || lastofRight)) {\n // todo: test last of position\n return `\n [__id='${this.hostGrid._id}'] cds-grid-cell[aria-colindex=\"${this.host.ariaColIndex}\"] {\n --border-${side === 'left' ? 'right' : 'left'}: var(--cds-alias-object-border-width-100) solid var(--cds-alias-object-border-color);\n }`;\n }\n else {\n return '';\n }\n }\n}\n"],"names":["GridColumnPositionController","constructor","host","this","previousPosition","addController","hostGrid","parentElement","async","updateComplete","ariaColIndex","position","styles","document","createElement","append","calculateColumnPositionStyles","gridPosition","getBoundingClientRect","side","offsetLeft","width","innerHTML","getPositionStyle","borderStyle","left","right","_id","lastofLeft","nextElementSibling","lastofRight","previousElementSibling"],"mappings":"AAKO,MAAMA,EACTC,YAAYC,GACRC,KAAKD,KAAOA,EACZC,KAAKC,iBAAmB,GACxBD,KAAKD,KAAKG,cAAcF,MAExBG,eACA,OAAOH,KAAKD,KAAKK,cAErBC,0BACUL,KAAKD,KAAKO,eACZN,KAAKD,KAAKQ,cAAgBP,KAAKD,KAAKS,WAAaR,KAAKC,mBACtDD,KAAKC,iBAAmBD,KAAKD,KAAKS,SAC7BR,KAAKS,SACNT,KAAKS,OAASC,SAASC,cAAc,SACrCX,KAAKG,SAASS,OAAOZ,KAAKS,SAE9BT,KAAKa,iCAGbA,gCACI,MAAMC,EAAed,KAAKG,SAASY,wBAC7BC,EAAOhB,KAAKD,KAAKkB,WAAaH,EAAaI,MAAQ,EAAI,OAAS,QACtElB,KAAKS,OAAOU,UAAY,GAAGnB,KAAKoB,iBAAiBJ,EAAMF,OAAkBd,KAAKqB,YAAYL,KAE9FI,iBAAiBJ,EAAMF,GACnB,MAAMN,EAAWR,KAAKD,KAAKgB,wBACrBO,EAA8B,UAAvBtB,KAAKD,KAAKS,SAA0BA,EAASc,KAAOR,EAAaQ,KAAO,EAAvC,KAA+C,UACvFC,EAA+B,UAAvBvB,KAAKD,KAAKS,SAA0BA,EAASe,MAAQf,EAASc,KAAOd,EAASU,MAA7C,KAAyD,UACxG,MAAO,gBACFlB,KAAKG,SAASqB,yBAAyBxB,KAAKD,KAAKQ,2BAC7C,SAATS,EAAkB,SAASM,KAAU,aAC5B,UAATN,EAAmB,UAAUO,KAAW,aACjB,WAAvBvB,KAAKD,KAAKS,SAAwB,aAAe,2BAG5CR,KAAKG,SAASqB,sCAAsCxB,KAAKD,KAAKQ,8CAIvEc,YAAYL,GACR,MAAMS,EAAsB,SAATT,GAAmBhB,KAAKD,KAAK2B,mBAAmBlB,WAAaR,KAAKD,KAAKS,SACpFmB,EAAuB,UAATX,GAAoBhB,KAAKD,KAAK6B,uBAAuBpB,WAAaR,KAAKD,KAAKS,SAChG,MAA2B,KAAvBR,KAAKD,KAAKS,WAAoBiB,GAAcE,GAErC,kBACJ3B,KAAKG,SAASqB,sCAAsCxB,KAAKD,KAAKQ,sCACjD,SAATS,EAAkB,QAAU,wGAI5B"}
1
+ {"version":3,"file":"grid-column-position.controller.js","sources":["../../../../src/grid/column/grid-column-position.controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 */\nexport class GridColumnPositionController {\n constructor(host) {\n this.host = host;\n this.previousPosition = '';\n this.host.addController(this);\n }\n get hostGrid() {\n return this.host.parentElement;\n }\n async hostUpdated() {\n await this.host.updateComplete;\n if (this.host.ariaColIndex && this.host.position !== this.previousPosition) {\n this.previousPosition = this.host.position;\n if (!this.styles) {\n this.styles = document.createElement('style');\n this.hostGrid.append(this.styles);\n }\n this.calculateColumnPositionStyles();\n }\n }\n calculateColumnPositionStyles() {\n const gridPosition = this.hostGrid.getBoundingClientRect();\n const side = this.host.offsetLeft < gridPosition.width / 2 ? 'left' : 'right';\n this.styles.innerHTML = `${this.getPositionStyle(side, gridPosition)}\\n${this.borderStyle(side)}`;\n }\n getPositionStyle(side, gridPosition) {\n const position = this.host.getBoundingClientRect();\n const left = this.host.position === 'fixed' ? `${position.left - gridPosition.left - 1}px` : 'initial';\n const right = this.host.position === 'fixed' ? `${position.right - position.left - position.width}px` : 'initial';\n return `\n [__id='${this.hostGrid._id}'] [aria-colindex=\"${this.host.ariaColIndex}\"] {\n ${side === 'left' ? `left: ${left};` : ''}\n ${side === 'right' ? `right: ${right};` : ''}\n ${this.host.position === 'sticky' ? `left: 0px;` : ''}\n }\n\n [__id='${this.hostGrid._id}'] cds-grid-cell[aria-colindex=\"${this.host.ariaColIndex}\"] {\n z-index: 98;\n }`;\n }\n borderStyle(side) {\n const lastofLeft = side === 'left' && this.host.nextElementSibling.position !== this.host.position;\n const lastofRight = side === 'right' && this.host.previousElementSibling.position !== this.host.position;\n if (this.host.position !== '' && (lastofLeft || lastofRight)) {\n // todo: test last of position\n return `\n [__id='${this.hostGrid._id}'] cds-grid-cell[aria-colindex=\"${this.host.ariaColIndex}\"] {\n --border-${side === 'left' ? 'right' : 'left'}: var(--cds-alias-object-border-width-100) solid var(--cds-alias-object-border-color);\n }`;\n }\n else {\n return '';\n }\n }\n}\n"],"names":["GridColumnPositionController","constructor","host","this","previousPosition","addController","hostGrid","parentElement","async","updateComplete","ariaColIndex","position","styles","document","createElement","append","calculateColumnPositionStyles","gridPosition","getBoundingClientRect","side","offsetLeft","width","innerHTML","getPositionStyle","borderStyle","left","right","_id","lastofLeft","nextElementSibling","lastofRight","previousElementSibling"],"mappings":"AAKO,MAAMA,EACTC,YAAYC,GACRC,KAAKD,KAAOA,EACZC,KAAKC,iBAAmB,GACxBD,KAAKD,KAAKG,cAAcF,MAExBG,eACA,OAAOH,KAAKD,KAAKK,cAErBC,0BACUL,KAAKD,KAAKO,eACZN,KAAKD,KAAKQ,cAAgBP,KAAKD,KAAKS,WAAaR,KAAKC,mBACtDD,KAAKC,iBAAmBD,KAAKD,KAAKS,SAC7BR,KAAKS,SACNT,KAAKS,OAASC,SAASC,cAAc,SACrCX,KAAKG,SAASS,OAAOZ,KAAKS,SAE9BT,KAAKa,iCAGbA,gCACI,MAAMC,EAAed,KAAKG,SAASY,wBAC7BC,EAAOhB,KAAKD,KAAKkB,WAAaH,EAAaI,MAAQ,EAAI,OAAS,QACtElB,KAAKS,OAAOU,UAAY,GAAGnB,KAAKoB,iBAAiBJ,EAAMF,OAAkBd,KAAKqB,YAAYL,KAE9FI,iBAAiBJ,EAAMF,GACnB,MAAMN,EAAWR,KAAKD,KAAKgB,wBACrBO,EAA8B,UAAvBtB,KAAKD,KAAKS,SAA0BA,EAASc,KAAOR,EAAaQ,KAAO,EAAvC,KAA+C,UACvFC,EAA+B,UAAvBvB,KAAKD,KAAKS,SAA0BA,EAASe,MAAQf,EAASc,KAAOd,EAASU,MAA7C,KAAyD,UACxG,MAAO,gBACFlB,KAAKG,SAASqB,yBAAyBxB,KAAKD,KAAKQ,2BAC7C,SAATS,EAAkB,SAASM,KAAU,aAC5B,UAATN,EAAmB,UAAUO,KAAW,aACjB,WAAvBvB,KAAKD,KAAKS,SAAwB,aAAe,2BAG5CR,KAAKG,SAASqB,sCAAsCxB,KAAKD,KAAKQ,8CAIvEc,YAAYL,GACR,MAAMS,EAAsB,SAATT,GAAmBhB,KAAKD,KAAK2B,mBAAmBlB,WAAaR,KAAKD,KAAKS,SACpFmB,EAAuB,UAATX,GAAoBhB,KAAKD,KAAK6B,uBAAuBpB,WAAaR,KAAKD,KAAKS,SAChG,MAA2B,KAAvBR,KAAKD,KAAKS,WAAoBiB,GAAcE,GAErC,kBACJ3B,KAAKG,SAASqB,sCAAsCxB,KAAKD,KAAKQ,sCACjD,SAATS,EAAkB,QAAU,wGAI5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid-column-size.controller.js","sources":["../../../../src/grid/column/grid-column-size.controller.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 { isNumericString, listenForAttributeListChange, onFirstInteraction } from '@cds/core/internal';\nexport class GridColumnSizeController {\n constructor(host) {\n this.host = host;\n this.observers = [];\n this.host.addController(this);\n }\n get hostGrid() {\n return this.host.parentElement;\n }\n get hostRange() {\n return this.host.shadowRoot?.querySelector('cds-internal-split-handle input');\n }\n async hostConnected() {\n this.setActionWidth();\n this.hostGrid.shadowRoot?.addEventListener('slotchange', () => this.setActionWidth());\n this.observers.push(listenForAttributeListChange(this.host, ['type'], () => this.setActionWidth()));\n await this.host.updateComplete;\n await onFirstInteraction(this.hostGrid);\n if (this.hostRange) {\n this.hostRange.max = `${parseInt(getComputedStyle(this.hostGrid).width)}`;\n this.hostRange.value = `${parseInt(getComputedStyle(this.host).width)}`;\n this.hostRange.addEventListener('input', (e) => this.updateResizedColumnWidth(e.target.valueAsNumber));\n this.hostRange.addEventListener('change', (e) => this.updateResizedColumnWidth(e.target.valueAsNumber));\n }\n }\n async hostUpdated() {\n await this.host.updateComplete;\n this.updateSetColumnWidth();\n }\n hostDisconnected() {\n this.observers.forEach(o => o?.disconnect());\n }\n setActionWidth() {\n if (this.host.type === 'action' || this.host.getAttribute('type') === 'action') {\n this.host.width = '36px';\n const index = Array.from(this.hostGrid.columns).indexOf(this.host);\n this.hostGrid.rows.forEach(r => r.cells[index].setAttribute('type', 'action'));\n }\n }\n updateSetColumnWidth() {\n if (this.host.width && this.host.ariaColIndex !== undefined) {\n this.hostGrid.style.setProperty(`--ch${this.host.ariaColIndex}`, isNumericString(this.host.width) ? `${this.host.width}px` : this.host.width);\n if (this.hostRange) {\n this.hostRange.min = `${parseInt(this.host.width)}` ?? '';\n this.hostRange.value = this.host.width;\n }\n }\n }\n updateResizedColumnWidth(width) {\n this.host.dispatchEvent(new CustomEvent('resizeChange', { detail: width, bubbles: true }));\n const updatedWidth = Math.max(isNumericString(this.host.width) || this.host.width?.includes('px') ? parseInt(this.host.width) : 36, width);\n this.hostGrid.style.setProperty(`--ch${this.host.ariaColIndex}`, `${updatedWidth}px`);\n }\n}\n"],"names":["GridColumnSizeController","constructor","host","this","observers","addController","hostGrid","parentElement","hostRange","shadowRoot","querySelector","async","setActionWidth","addEventListener","push","listenForAttributeListChange","updateComplete","onFirstInteraction","max","parseInt","getComputedStyle","width","value","e","updateResizedColumnWidth","target","valueAsNumber","updateSetColumnWidth","hostDisconnected","forEach","o","disconnect","type","getAttribute","index","Array","from","columns","indexOf","rows","r","cells","setAttribute","undefined","ariaColIndex","style","setProperty","isNumericString","min","dispatchEvent","CustomEvent","detail","bubbles","updatedWidth","Math","includes"],"mappings":"+GAMO,MAAMA,EACTC,YAAYC,GACRC,KAAKD,KAAOA,EACZC,KAAKC,UAAY,GACjBD,KAAKD,KAAKG,cAAcF,MAExBG,eACA,OAAOH,KAAKD,KAAKK,cAEjBC,gBACA,OAAOL,KAAKD,KAAKO,YAAYC,cAAc,mCAE/CC,sBACIR,KAAKS,iBACLT,KAAKG,SAASG,YAAYI,iBAAiB,cAAc,IAAMV,KAAKS,mBACpET,KAAKC,UAAUU,KAAKC,EAA6BZ,KAAKD,KAAM,CAAC,SAAS,IAAMC,KAAKS,0BAC3ET,KAAKD,KAAKc,qBACVC,EAAmBd,KAAKG,UAC1BH,KAAKK,YACLL,KAAKK,UAAUU,IAAM,GAAGC,SAASC,iBAAiBjB,KAAKG,UAAUe,OACjElB,KAAKK,UAAUc,MAAQ,GAAGH,SAASC,iBAAiBjB,KAAKD,MAAMmB,OAC/DlB,KAAKK,UAAUK,iBAAiB,SAAUU,GAAMpB,KAAKqB,yBAAyBD,EAAEE,OAAOC,iBACvFvB,KAAKK,UAAUK,iBAAiB,UAAWU,GAAMpB,KAAKqB,yBAAyBD,EAAEE,OAAOC,kBAGhGf,0BACUR,KAAKD,KAAKc,eAChBb,KAAKwB,uBAETC,mBACIzB,KAAKC,UAAUyB,SAAQC,GAAKA,GAAGC,eAEnCnB,iBACI,GAAuB,WAAnBT,KAAKD,KAAK8B,MAAwD,WAAnC7B,KAAKD,KAAK+B,aAAa,QAAsB,CAC5E9B,KAAKD,KAAKmB,MAAQ,OAClB,MAAMa,EAAQC,MAAMC,KAAKjC,KAAKG,SAAS+B,SAASC,QAAQnC,KAAKD,MAC7DC,KAAKG,SAASiC,KAAKV,SAAQW,GAAKA,EAAEC,MAAMP,GAAOQ,aAAa,OAAQ,aAG5Ef,uBACQxB,KAAKD,KAAKmB,YAAoCsB,IAA3BxC,KAAKD,KAAK0C,eAC7BzC,KAAKG,SAASuC,MAAMC,YAAY,OAAO3C,KAAKD,KAAK0C,aAAgBG,EAAgB5C,KAAKD,KAAKmB,OAAYlB,KAAKD,KAAKmB,MAAb,KAAyBlB,KAAKD,KAAKmB,OACnIlB,KAAKK,YACLL,KAAKK,UAAUwC,IAAM,GAAG7B,SAAShB,KAAKD,KAAKmB,QAAY,GACvDlB,KAAKK,UAAUc,MAAQnB,KAAKD,KAAKmB,QAI7CG,yBAAyBH,GACrBlB,KAAKD,KAAK+C,cAAc,IAAIC,YAAY,eAAgB,CAAEC,OAAQ9B,EAAO+B,SAAS,KAClF,MAAMC,EAAeC,KAAKpC,IAAI6B,EAAgB5C,KAAKD,KAAKmB,QAAUlB,KAAKD,KAAKmB,OAAOkC,SAAS,MAAQpC,SAAShB,KAAKD,KAAKmB,OAAS,GAAIA,GACpIlB,KAAKG,SAASuC,MAAMC,YAAY,OAAO3C,KAAKD,KAAK0C,aAAmBS,EAAH"}
1
+ {"version":3,"file":"grid-column-size.controller.js","sources":["../../../../src/grid/column/grid-column-size.controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { isNumericString, listenForAttributeListChange, onFirstInteraction } from '@cds/core/internal';\nexport class GridColumnSizeController {\n constructor(host) {\n this.host = host;\n this.observers = [];\n this.host.addController(this);\n }\n get hostGrid() {\n return this.host.parentElement;\n }\n get hostRange() {\n return this.host.shadowRoot?.querySelector('cds-internal-split-handle input');\n }\n async hostConnected() {\n this.setActionWidth();\n this.hostGrid.shadowRoot?.addEventListener('slotchange', () => this.setActionWidth());\n this.observers.push(listenForAttributeListChange(this.host, ['type'], () => this.setActionWidth()));\n await this.host.updateComplete;\n await onFirstInteraction(this.hostGrid);\n if (this.hostRange) {\n this.hostRange.max = `${parseInt(getComputedStyle(this.hostGrid).width)}`;\n this.hostRange.value = `${parseInt(getComputedStyle(this.host).width)}`;\n this.hostRange.addEventListener('input', (e) => this.updateResizedColumnWidth(e.target.valueAsNumber));\n this.hostRange.addEventListener('change', (e) => this.updateResizedColumnWidth(e.target.valueAsNumber));\n }\n }\n async hostUpdated() {\n await this.host.updateComplete;\n this.updateSetColumnWidth();\n }\n hostDisconnected() {\n this.observers.forEach(o => o?.disconnect());\n }\n setActionWidth() {\n if (this.host.type === 'action' || this.host.getAttribute('type') === 'action') {\n this.host.width = '36px';\n const index = Array.from(this.hostGrid.columns).indexOf(this.host);\n this.hostGrid.rows.forEach(r => r.cells[index].setAttribute('type', 'action'));\n }\n }\n updateSetColumnWidth() {\n if (this.host.width && this.host.ariaColIndex !== undefined) {\n this.hostGrid.style.setProperty(`--ch${this.host.ariaColIndex}`, isNumericString(this.host.width) ? `${this.host.width}px` : this.host.width);\n if (this.hostRange) {\n this.hostRange.min = `${parseInt(this.host.width)}` ?? '';\n this.hostRange.value = this.host.width;\n }\n }\n }\n updateResizedColumnWidth(width) {\n this.host.dispatchEvent(new CustomEvent('resizeChange', { detail: width, bubbles: true }));\n const updatedWidth = Math.max(isNumericString(this.host.width) || this.host.width?.includes('px') ? parseInt(this.host.width) : 36, width);\n this.hostGrid.style.setProperty(`--ch${this.host.ariaColIndex}`, `${updatedWidth}px`);\n }\n}\n"],"names":["GridColumnSizeController","constructor","host","this","observers","addController","hostGrid","parentElement","hostRange","shadowRoot","querySelector","async","setActionWidth","addEventListener","push","listenForAttributeListChange","updateComplete","onFirstInteraction","max","parseInt","getComputedStyle","width","value","e","updateResizedColumnWidth","target","valueAsNumber","updateSetColumnWidth","hostDisconnected","forEach","o","disconnect","type","getAttribute","index","Array","from","columns","indexOf","rows","r","cells","setAttribute","undefined","ariaColIndex","style","setProperty","isNumericString","min","dispatchEvent","CustomEvent","detail","bubbles","updatedWidth","Math","includes"],"mappings":"+GAMO,MAAMA,EACTC,YAAYC,GACRC,KAAKD,KAAOA,EACZC,KAAKC,UAAY,GACjBD,KAAKD,KAAKG,cAAcF,MAExBG,eACA,OAAOH,KAAKD,KAAKK,cAEjBC,gBACA,OAAOL,KAAKD,KAAKO,YAAYC,cAAc,mCAE/CC,sBACIR,KAAKS,iBACLT,KAAKG,SAASG,YAAYI,iBAAiB,cAAc,IAAMV,KAAKS,mBACpET,KAAKC,UAAUU,KAAKC,EAA6BZ,KAAKD,KAAM,CAAC,SAAS,IAAMC,KAAKS,0BAC3ET,KAAKD,KAAKc,qBACVC,EAAmBd,KAAKG,UAC1BH,KAAKK,YACLL,KAAKK,UAAUU,IAAM,GAAGC,SAASC,iBAAiBjB,KAAKG,UAAUe,OACjElB,KAAKK,UAAUc,MAAQ,GAAGH,SAASC,iBAAiBjB,KAAKD,MAAMmB,OAC/DlB,KAAKK,UAAUK,iBAAiB,SAAUU,GAAMpB,KAAKqB,yBAAyBD,EAAEE,OAAOC,iBACvFvB,KAAKK,UAAUK,iBAAiB,UAAWU,GAAMpB,KAAKqB,yBAAyBD,EAAEE,OAAOC,kBAGhGf,0BACUR,KAAKD,KAAKc,eAChBb,KAAKwB,uBAETC,mBACIzB,KAAKC,UAAUyB,SAAQC,GAAKA,GAAGC,eAEnCnB,iBACI,GAAuB,WAAnBT,KAAKD,KAAK8B,MAAwD,WAAnC7B,KAAKD,KAAK+B,aAAa,QAAsB,CAC5E9B,KAAKD,KAAKmB,MAAQ,OAClB,MAAMa,EAAQC,MAAMC,KAAKjC,KAAKG,SAAS+B,SAASC,QAAQnC,KAAKD,MAC7DC,KAAKG,SAASiC,KAAKV,SAAQW,GAAKA,EAAEC,MAAMP,GAAOQ,aAAa,OAAQ,aAG5Ef,uBACQxB,KAAKD,KAAKmB,YAAoCsB,IAA3BxC,KAAKD,KAAK0C,eAC7BzC,KAAKG,SAASuC,MAAMC,YAAY,OAAO3C,KAAKD,KAAK0C,aAAgBG,EAAgB5C,KAAKD,KAAKmB,OAAYlB,KAAKD,KAAKmB,MAAb,KAAyBlB,KAAKD,KAAKmB,OACnIlB,KAAKK,YACLL,KAAKK,UAAUwC,IAAM,GAAG7B,SAAShB,KAAKD,KAAKmB,QAAY,GACvDlB,KAAKK,UAAUc,MAAQnB,KAAKD,KAAKmB,QAI7CG,yBAAyBH,GACrBlB,KAAKD,KAAK+C,cAAc,IAAIC,YAAY,eAAgB,CAAEC,OAAQ9B,EAAO+B,SAAS,KAClF,MAAMC,EAAeC,KAAKpC,IAAI6B,EAAgB5C,KAAKD,KAAKmB,QAAUlB,KAAKD,KAAKmB,OAAOkC,SAAS,MAAQpC,SAAShB,KAAKD,KAAKmB,OAAS,GAAIA,GACpIlB,KAAKG,SAASuC,MAAMC,YAAY,OAAO3C,KAAKD,KAAK0C,aAAmBS,EAAH"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid-column.element.js","sources":["../../../../src/grid/column/grid-column.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 { LitElement, html } from 'lit';\nimport { baseStyles, i18n, I18nService, property, event } from '@cds/core/internal';\nimport { GridColumnSizeController } from './grid-column-size.controller.js';\nimport { GridColumnPositionController } from './grid-column-position.controller.js';\nimport styles from './grid-column.element.scss';\n/**\n * Grid Column\n *\n * ```typescript\n * import '@cds/core/grid/register.js';\n * ```\n *\n * @internal\n * @element cds-grid-column\n * @event resizeChange - notifies when column has been resized\n * @cssprop --min-height\n * @cssprop --min-width\n * @cssprop --justify-content\n * @cssprop --padding-block\n * @cssprop --padding-inline-start\n * @cssprop --padding-inline-end\n */\nexport class CdsGridColumn extends LitElement {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.grid;\n this.resizable = false;\n this.type = '';\n this.position = '';\n this.gridColumnSizeController = new GridColumnSizeController(this);\n this.gridColumnPositionController = new GridColumnPositionController(this);\n }\n get grid() {\n return this.parentElement;\n }\n render() {\n return html `\n <div class=\"private-host\" focusable>\n <slot>\n ${this.type === 'action'\n ? html `<span cds-layout=\"display:screen-reader-only\">${this.i18n.action}</span>`\n : ''}\n </slot>\n ${this.resizable\n ? html `<cds-internal-split-handle\n @cdsTouchStart=${() => (this.grid.scrollLock = true)}\n @cdsTouchEnd=${() => (this.grid.scrollLock = false)}\n >\n <input\n type=\"range\"\n step=\"10\"\n .ariaLabel=${this.i18n.resizeColumn}\n @change=${(e) => this.resizeChange.emit(e.target.valueAsNumber)}\n />\n </cds-internal-split-handle>`\n : html `<cds-internal-split-handle readonly></cds-internal-split-handle>`}\n <div class=\"line\"></div>\n </div>\n `;\n }\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'columns';\n }\n}\nCdsGridColumn.styles = [baseStyles, styles];\n__decorate([\n i18n()\n], CdsGridColumn.prototype, \"i18n\", void 0);\n__decorate([\n property({ type: String })\n], CdsGridColumn.prototype, \"width\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsGridColumn.prototype, \"resizable\", void 0);\n__decorate([\n property({ type: String })\n], CdsGridColumn.prototype, \"type\", void 0);\n__decorate([\n property({ type: String })\n], CdsGridColumn.prototype, \"position\", void 0);\n__decorate([\n event()\n], CdsGridColumn.prototype, \"resizeChange\", void 0);\n"],"names":["CdsGridColumn","LitElement","constructor","super","this","i18n","I18nService","keys","grid","resizable","type","position","gridColumnSizeController","GridColumnSizeController","gridColumnPositionController","GridColumnPositionController","parentElement","render","html","action","scrollLock","resizeColumn","e","resizeChange","emit","target","valueAsNumber","connectedCallback","slot","styles","baseStyles","__decorate","prototype","property","String","Boolean","event"],"mappings":"+XA4BO,MAAMA,UAAsBC,EAC/BC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,KAC7BJ,KAAKK,WAAY,EACjBL,KAAKM,KAAO,GACZN,KAAKO,SAAW,GAChBP,KAAKQ,yBAA2B,IAAIC,EAAyBT,MAC7DA,KAAKU,6BAA+B,IAAIC,EAA6BX,MAErEI,WACA,OAAOJ,KAAKY,cAEhBC,SACI,OAAOC,CAAK,6CAGM,WAAdd,KAAKM,KACHQ,CAAK,iDAAiDd,KAAKC,KAAKc,gBAChE,YAEJf,KAAKK,UACDS,CAAK,8CACY,IAAOd,KAAKI,KAAKY,YAAa,oBAChC,IAAOhB,KAAKI,KAAKY,YAAa,gDAK9BhB,KAAKC,KAAKgB,0BACZC,GAAMlB,KAAKmB,aAAaC,KAAKF,EAAEG,OAAOC,+CAGnDR,CAAK,8GAKfS,oBACIxB,MAAMwB,oBACNvB,KAAKwB,KAAO,WAGpB5B,EAAc6B,OAAS,CAACC,EAAYD,GACpCE,EAAW,CACP1B,KACDL,EAAcgC,UAAW,YAAQ,GACpCD,EAAW,CACPE,EAAS,CAAEvB,KAAMwB,UAClBlC,EAAcgC,UAAW,aAAS,GACrCD,EAAW,CACPE,EAAS,CAAEvB,KAAMyB,WAClBnC,EAAcgC,UAAW,iBAAa,GACzCD,EAAW,CACPE,EAAS,CAAEvB,KAAMwB,UAClBlC,EAAcgC,UAAW,YAAQ,GACpCD,EAAW,CACPE,EAAS,CAAEvB,KAAMwB,UAClBlC,EAAcgC,UAAW,gBAAY,GACxCD,EAAW,CACPK,KACDpC,EAAcgC,UAAW,oBAAgB"}
1
+ {"version":3,"file":"grid-column.element.js","sources":["../../../../src/grid/column/grid-column.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { LitElement, html } from 'lit';\nimport { baseStyles, i18n, I18nService, property, event } from '@cds/core/internal';\nimport { GridColumnSizeController } from './grid-column-size.controller.js';\nimport { GridColumnPositionController } from './grid-column-position.controller.js';\nimport styles from './grid-column.element.scss';\n/**\n * Grid Column\n *\n * ```typescript\n * import '@cds/core/grid/register.js';\n * ```\n *\n * @internal\n * @element cds-grid-column\n * @event resizeChange - notifies when column has been resized\n * @cssprop --min-height\n * @cssprop --min-width\n * @cssprop --justify-content\n * @cssprop --padding-block\n * @cssprop --padding-inline-start\n * @cssprop --padding-inline-end\n */\nexport class CdsGridColumn extends LitElement {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.grid;\n this.resizable = false;\n this.type = '';\n this.position = '';\n this.gridColumnSizeController = new GridColumnSizeController(this);\n this.gridColumnPositionController = new GridColumnPositionController(this);\n }\n get grid() {\n return this.parentElement;\n }\n render() {\n return html `\n <div class=\"private-host\" focusable>\n <slot>\n ${this.type === 'action'\n ? html `<span cds-layout=\"display:screen-reader-only\">${this.i18n.action}</span>`\n : ''}\n </slot>\n ${this.resizable\n ? html `<cds-internal-split-handle\n @cdsTouchStart=${() => (this.grid.scrollLock = true)}\n @cdsTouchEnd=${() => (this.grid.scrollLock = false)}\n >\n <input\n type=\"range\"\n step=\"10\"\n .ariaLabel=${this.i18n.resizeColumn}\n @change=${(e) => this.resizeChange.emit(e.target.valueAsNumber)}\n />\n </cds-internal-split-handle>`\n : html `<cds-internal-split-handle readonly></cds-internal-split-handle>`}\n <div class=\"line\"></div>\n </div>\n `;\n }\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'columns';\n }\n}\nCdsGridColumn.styles = [baseStyles, styles];\n__decorate([\n i18n()\n], CdsGridColumn.prototype, \"i18n\", void 0);\n__decorate([\n property({ type: String })\n], CdsGridColumn.prototype, \"width\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsGridColumn.prototype, \"resizable\", void 0);\n__decorate([\n property({ type: String })\n], CdsGridColumn.prototype, \"type\", void 0);\n__decorate([\n property({ type: String })\n], CdsGridColumn.prototype, \"position\", void 0);\n__decorate([\n event()\n], CdsGridColumn.prototype, \"resizeChange\", void 0);\n"],"names":["CdsGridColumn","LitElement","constructor","super","this","i18n","I18nService","keys","grid","resizable","type","position","gridColumnSizeController","GridColumnSizeController","gridColumnPositionController","GridColumnPositionController","parentElement","render","html","action","scrollLock","resizeColumn","e","resizeChange","emit","target","valueAsNumber","connectedCallback","slot","styles","baseStyles","__decorate","prototype","property","String","Boolean","event"],"mappings":"+XA4BO,MAAMA,UAAsBC,EAC/BC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,KAC7BJ,KAAKK,WAAY,EACjBL,KAAKM,KAAO,GACZN,KAAKO,SAAW,GAChBP,KAAKQ,yBAA2B,IAAIC,EAAyBT,MAC7DA,KAAKU,6BAA+B,IAAIC,EAA6BX,MAErEI,WACA,OAAOJ,KAAKY,cAEhBC,SACI,OAAOC,CAAK,6CAGM,WAAdd,KAAKM,KACHQ,CAAK,iDAAiDd,KAAKC,KAAKc,gBAChE,YAEJf,KAAKK,UACDS,CAAK,8CACY,IAAOd,KAAKI,KAAKY,YAAa,oBAChC,IAAOhB,KAAKI,KAAKY,YAAa,gDAK9BhB,KAAKC,KAAKgB,0BACZC,GAAMlB,KAAKmB,aAAaC,KAAKF,EAAEG,OAAOC,+CAGnDR,CAAK,8GAKfS,oBACIxB,MAAMwB,oBACNvB,KAAKwB,KAAO,WAGpB5B,EAAc6B,OAAS,CAACC,EAAYD,GACpCE,EAAW,CACP1B,KACDL,EAAcgC,UAAW,YAAQ,GACpCD,EAAW,CACPE,EAAS,CAAEvB,KAAMwB,UAClBlC,EAAcgC,UAAW,aAAS,GACrCD,EAAW,CACPE,EAAS,CAAEvB,KAAMyB,WAClBnC,EAAcgC,UAAW,iBAAa,GACzCD,EAAW,CACPE,EAAS,CAAEvB,KAAMwB,UAClBlC,EAAcgC,UAAW,YAAQ,GACpCD,EAAW,CACPE,EAAS,CAAEvB,KAAMwB,UAClBlC,EAAcgC,UAAW,gBAAY,GACxCD,EAAW,CACPK,KACDpC,EAAcgC,UAAW,oBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid-detail.element.js","sources":["../../../../src/grid/detail/grid-detail.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 { baseStyles, i18n, I18nService, property, ResponsiveController, state, listenForAttributeChange, propUpdated, renderAfter, ariaModal, firstFocus, focusTrap, ariaPopup, layer, closable, triggerable, } from '@cds/core/internal';\nimport styles from './grid-detail.element.scss';\n/**\n * Grid Detail\n *\n * ```typescript\n * import '@cds/core/grid/register.js';\n * ```\n *\n * @internal\n * @element cds-grid-detail\n * @event closeChange\n * @csspart close\n * @cssprop --width\n * @cssprop --inset-inline-start\n * @cssprop --inset-inline-end\n * @cssprop --backdrop-background\n */\nlet CdsGridDetail = class CdsGridDetail extends LitElement {\n constructor() {\n super(...arguments);\n this.position = 'right';\n this.i18n = I18nService.keys.grid;\n this.overlay = '';\n this.responsiveController = new ResponsiveController(this, { element: this.parentElement });\n }\n get grid() {\n return this.parentElement;\n }\n get trigger() {\n return typeof this.anchor === 'string'\n ? this.getRootNode().querySelector(`#${this.anchor}`)\n : this.anchor;\n }\n get closeButton() {\n // safari https://bugs.webkit.org/show_bug.cgi?id=174667\n return html ` <cds-button-action\n @click=${() => this.closableController.close()}\n shape=\"times\"\n aria-label=${this.i18n.closeDetails}\n part=\"close\"\n ></cds-button-action>`;\n }\n get triggerRow() {\n return this.trigger?.closest('cds-grid-row');\n }\n render() {\n return html `<div class=\"private-host\" role=\"presentation\">\n <div cds-layout=\"display:screen-reader-only\">${this.i18n.rowDetailStart}</div>\n <slot></slot>\n\n <div cds-layout=\"display:screen-reader-only\">${this.i18n.rowDetailEnd}</div>\n </div>\n <div class=\"caret\" role=\"presentation\"></div>`;\n }\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'detail';\n renderAfter(this.closeButton, this);\n this.addEventListener('cdsResizeChange', (e) => (this.overlay = e.detail.width > 500 ? '' : 'full'));\n this.observer = listenForAttributeChange(this, 'hidden', async (hidden) => {\n this.grid.scrollLock = !hidden;\n await this.updateComplete;\n this.setDetailWidthAlignment();\n this.toggleAnchorHover();\n });\n }\n async updated(props) {\n super.updated(props);\n await this.updateComplete;\n if (propUpdated(this, props, 'anchor')) {\n this.setAnchorPointer(props.get('anchor'));\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.observer?.disconnect();\n this.triggerRow?.removeAttribute('_detail-row');\n }\n toggleAnchorHover() {\n if (this.hidden) {\n this.triggerRow?.removeAttribute('_detail-row');\n }\n else {\n this.triggerRow?.setAttribute('_detail-row', '');\n }\n }\n setAnchorPointer(previousAnchor) {\n if (previousAnchor?.closest) {\n previousAnchor?.closest('cds-grid-row')?.removeAttribute('_detail-row');\n }\n this.toggleAnchorHover();\n const top = this.trigger?.getBoundingClientRect()?.top - this?.getBoundingClientRect().top - 8;\n this.style.setProperty('--caret-top', `${top}px`);\n }\n setDetailWidthAlignment() {\n if (this.position === 'bottom') {\n this.alignToBottom();\n }\n const rowheader = Array.from(this.triggerRow?.cells ?? []).find(c => c.role === 'rowheader');\n if (rowheader) {\n this.alignToSide(rowheader);\n }\n }\n alignToBottom() {\n const gridRect = this.parentElement?.getBoundingClientRect();\n const rowRect = this.triggerRow?.getBoundingClientRect();\n this.style.setProperty('--width', '100%');\n if (this.position === 'bottom' && rowRect) {\n this.style.top = `${rowRect?.bottom - gridRect.top - 1}px`;\n }\n }\n alignToSide(rowheader) {\n const gridRect = this.parentElement?.getBoundingClientRect();\n const cellRect = rowheader.getBoundingClientRect();\n this.style.setProperty('--width', 'auto');\n if (this.position === 'left' || this.parentElement?.getAttribute('dir') === 'rtl') {\n this.style.right = `${gridRect.right - cellRect.left}px`;\n }\n else {\n this.style.left = `${cellRect.right - gridRect.left}px`;\n }\n }\n};\nCdsGridDetail.styles = [baseStyles, styles];\n__decorate([\n property({ type: String })\n], CdsGridDetail.prototype, \"anchor\", void 0);\n__decorate([\n property({ type: String })\n], CdsGridDetail.prototype, \"position\", void 0);\n__decorate([\n i18n()\n], CdsGridDetail.prototype, \"i18n\", void 0);\n__decorate([\n state({ type: String, reflect: true })\n], CdsGridDetail.prototype, \"overlay\", void 0);\nCdsGridDetail = __decorate([\n layer(),\n closable(),\n ariaModal(),\n ariaPopup(),\n focusTrap(),\n firstFocus(),\n triggerable()\n], CdsGridDetail);\nexport { CdsGridDetail };\n"],"names":["CdsGridDetail","LitElement","constructor","super","this","position","i18n","I18nService","keys","grid","overlay","responsiveController","ResponsiveController","element","parentElement","trigger","anchor","getRootNode","querySelector","closeButton","html","closableController","close","closeDetails","triggerRow","closest","render","rowDetailStart","rowDetailEnd","connectedCallback","slot","renderAfter","addEventListener","e","detail","width","observer","listenForAttributeChange","async","hidden","scrollLock","updateComplete","setDetailWidthAlignment","toggleAnchorHover","props","updated","propUpdated","setAnchorPointer","get","disconnectedCallback","disconnect","removeAttribute","setAttribute","previousAnchor","top","getBoundingClientRect","style","setProperty","alignToBottom","rowheader","Array","from","cells","find","c","role","alignToSide","gridRect","rowRect","bottom","cellRect","getAttribute","right","left","styles","baseStyles","__decorate","property","type","String","prototype","state","reflect","layer","closable","ariaModal","ariaPopup","focusTrap","firstFocus","triggerable"],"mappings":"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"}
1
+ {"version":3,"file":"grid-detail.element.js","sources":["../../../../src/grid/detail/grid-detail.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { baseStyles, i18n, I18nService, property, ResponsiveController, state, listenForAttributeChange, propUpdated, renderAfter, ariaModal, firstFocus, focusTrap, ariaPopup, layer, closable, triggerable, } from '@cds/core/internal';\nimport styles from './grid-detail.element.scss';\n/**\n * Grid Detail\n *\n * ```typescript\n * import '@cds/core/grid/register.js';\n * ```\n *\n * @internal\n * @element cds-grid-detail\n * @event closeChange\n * @csspart close\n * @cssprop --width\n * @cssprop --inset-inline-start\n * @cssprop --inset-inline-end\n * @cssprop --backdrop-background\n */\nlet CdsGridDetail = class CdsGridDetail extends LitElement {\n constructor() {\n super(...arguments);\n this.position = 'right';\n this.i18n = I18nService.keys.grid;\n this.overlay = '';\n this.responsiveController = new ResponsiveController(this, { element: this.parentElement });\n }\n get grid() {\n return this.parentElement;\n }\n get trigger() {\n return typeof this.anchor === 'string'\n ? this.getRootNode().querySelector(`#${this.anchor}`)\n : this.anchor;\n }\n get closeButton() {\n // safari https://bugs.webkit.org/show_bug.cgi?id=174667\n return html ` <cds-button-action\n @click=${() => this.closableController.close()}\n shape=\"times\"\n aria-label=${this.i18n.closeDetails}\n part=\"close\"\n ></cds-button-action>`;\n }\n get triggerRow() {\n return this.trigger?.closest('cds-grid-row');\n }\n render() {\n return html `<div class=\"private-host\" role=\"presentation\">\n <div cds-layout=\"display:screen-reader-only\">${this.i18n.rowDetailStart}</div>\n <slot></slot>\n\n <div cds-layout=\"display:screen-reader-only\">${this.i18n.rowDetailEnd}</div>\n </div>\n <div class=\"caret\" role=\"presentation\"></div>`;\n }\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'detail';\n renderAfter(this.closeButton, this);\n this.addEventListener('cdsResizeChange', (e) => (this.overlay = e.detail.width > 500 ? '' : 'full'));\n this.observer = listenForAttributeChange(this, 'hidden', async (hidden) => {\n this.grid.scrollLock = !hidden;\n await this.updateComplete;\n this.setDetailWidthAlignment();\n this.toggleAnchorHover();\n });\n }\n async updated(props) {\n super.updated(props);\n await this.updateComplete;\n if (propUpdated(this, props, 'anchor')) {\n this.setAnchorPointer(props.get('anchor'));\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.observer?.disconnect();\n this.triggerRow?.removeAttribute('_detail-row');\n }\n toggleAnchorHover() {\n if (this.hidden) {\n this.triggerRow?.removeAttribute('_detail-row');\n }\n else {\n this.triggerRow?.setAttribute('_detail-row', '');\n }\n }\n setAnchorPointer(previousAnchor) {\n if (previousAnchor?.closest) {\n previousAnchor?.closest('cds-grid-row')?.removeAttribute('_detail-row');\n }\n this.toggleAnchorHover();\n const top = this.trigger?.getBoundingClientRect()?.top - this?.getBoundingClientRect().top - 8;\n this.style.setProperty('--caret-top', `${top}px`);\n }\n setDetailWidthAlignment() {\n if (this.position === 'bottom') {\n this.alignToBottom();\n }\n const rowheader = Array.from(this.triggerRow?.cells ?? []).find(c => c.role === 'rowheader');\n if (rowheader) {\n this.alignToSide(rowheader);\n }\n }\n alignToBottom() {\n const gridRect = this.parentElement?.getBoundingClientRect();\n const rowRect = this.triggerRow?.getBoundingClientRect();\n this.style.setProperty('--width', '100%');\n if (this.position === 'bottom' && rowRect) {\n this.style.top = `${rowRect?.bottom - gridRect.top - 1}px`;\n }\n }\n alignToSide(rowheader) {\n const gridRect = this.parentElement?.getBoundingClientRect();\n const cellRect = rowheader.getBoundingClientRect();\n this.style.setProperty('--width', 'auto');\n if (this.position === 'left' || this.parentElement?.getAttribute('dir') === 'rtl') {\n this.style.right = `${gridRect.right - cellRect.left}px`;\n }\n else {\n this.style.left = `${cellRect.right - gridRect.left}px`;\n }\n }\n};\nCdsGridDetail.styles = [baseStyles, styles];\n__decorate([\n property({ type: String })\n], CdsGridDetail.prototype, \"anchor\", void 0);\n__decorate([\n property({ type: String })\n], CdsGridDetail.prototype, \"position\", void 0);\n__decorate([\n i18n()\n], CdsGridDetail.prototype, \"i18n\", void 0);\n__decorate([\n state({ type: String, reflect: true })\n], CdsGridDetail.prototype, \"overlay\", void 0);\nCdsGridDetail = __decorate([\n layer(),\n closable(),\n ariaModal(),\n ariaPopup(),\n focusTrap(),\n firstFocus(),\n triggerable()\n], CdsGridDetail);\nexport { CdsGridDetail };\n"],"names":["CdsGridDetail","LitElement","constructor","super","this","position","i18n","I18nService","keys","grid","overlay","responsiveController","ResponsiveController","element","parentElement","trigger","anchor","getRootNode","querySelector","closeButton","html","closableController","close","closeDetails","triggerRow","closest","render","rowDetailStart","rowDetailEnd","connectedCallback","slot","renderAfter","addEventListener","e","detail","width","observer","listenForAttributeChange","async","hidden","scrollLock","updateComplete","setDetailWidthAlignment","toggleAnchorHover","props","updated","propUpdated","setAnchorPointer","get","disconnectedCallback","disconnect","removeAttribute","setAttribute","previousAnchor","top","getBoundingClientRect","style","setProperty","alignToBottom","rowheader","Array","from","cells","find","c","role","alignToSide","gridRect","rowRect","bottom","cellRect","getAttribute","right","left","styles","baseStyles","__decorate","property","type","String","prototype","state","reflect","layer","closable","ariaModal","ariaPopup","focusTrap","firstFocus","triggerable"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid-footer.element.js","sources":["../../../../src/grid/footer/grid-footer.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 { LitElement, html } from 'lit';\nimport { baseStyles, i18n, I18nService } from '@cds/core/internal';\nimport styles from './grid-footer.element.scss';\n/**\n * Grid Footer\n *\n * ```typescript\n * import '@cds/core/grid/register.js';\n * ```\n *\n * @internal\n * @element cds-grid-footer\n * @cssprop --min-height\n */\nexport class CdsGridFooter extends LitElement {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.grid;\n }\n render() {\n return html `\n <div class=\"private-host\">\n <slot>\n <div cds-layout=\"display:screen-reader-only\">${this.i18n.footerEnd}</div>\n </slot>\n </div>\n `;\n }\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'footer';\n }\n}\nCdsGridFooter.styles = [baseStyles, styles];\n__decorate([\n i18n()\n], CdsGridFooter.prototype, \"i18n\", void 0);\n"],"names":["CdsGridFooter","LitElement","constructor","super","this","i18n","I18nService","keys","grid","render","html","footerEnd","connectedCallback","slot","styles","baseStyles","__decorate","prototype"],"mappings":"sMAoBO,MAAMA,UAAsBC,EAC/BC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,KAEjCC,SACI,OAAOC,CAAK,gFAGqCN,KAAKC,KAAKM,+BAK/DC,oBACIT,MAAMS,oBACNR,KAAKS,KAAO,UAGpBb,EAAcc,OAAS,CAACC,EAAYD,GACpCE,EAAW,CACPX,KACDL,EAAciB,UAAW,YAAQ"}
1
+ {"version":3,"file":"grid-footer.element.js","sources":["../../../../src/grid/footer/grid-footer.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2023 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 { LitElement, html } from 'lit';\nimport { baseStyles, i18n, I18nService } from '@cds/core/internal';\nimport styles from './grid-footer.element.scss';\n/**\n * Grid Footer\n *\n * ```typescript\n * import '@cds/core/grid/register.js';\n * ```\n *\n * @internal\n * @element cds-grid-footer\n * @cssprop --min-height\n */\nexport class CdsGridFooter extends LitElement {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.grid;\n }\n render() {\n return html `\n <div class=\"private-host\">\n <slot>\n <div cds-layout=\"display:screen-reader-only\">${this.i18n.footerEnd}</div>\n </slot>\n </div>\n `;\n }\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'footer';\n }\n}\nCdsGridFooter.styles = [baseStyles, styles];\n__decorate([\n i18n()\n], CdsGridFooter.prototype, \"i18n\", void 0);\n"],"names":["CdsGridFooter","LitElement","constructor","super","this","i18n","I18nService","keys","grid","render","html","footerEnd","connectedCallback","slot","styles","baseStyles","__decorate","prototype"],"mappings":"sMAoBO,MAAMA,UAAsBC,EAC/BC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,KAEjCC,SACI,OAAOC,CAAK,gFAGqCN,KAAKC,KAAKM,+BAK/DC,oBACIT,MAAMS,oBACNR,KAAKS,KAAO,UAGpBb,EAAcc,OAAS,CAACC,EAAYD,GACpCE,EAAW,CACPX,KACDL,EAAciB,UAAW,YAAQ"}