lintje 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist-elements/actions.js +1 -1
  2. package/dist-elements/chunks/addon-CFoSG70u.js +5 -0
  3. package/dist-elements/chunks/base-BsZyWDre.js +226 -0
  4. package/dist-elements/chunks/{chart-styles-zJy-DGvZ.js → chart-styles-C5IzbVUF.js} +12 -12
  5. package/dist-elements/chunks/controls-lVYdiFQu.js +1 -0
  6. package/dist-elements/chunks/dialog-close-CzMRXkJ6.js +1 -0
  7. package/dist-elements/chunks/{disclosure-DHZz0V4I.js → disclosure-CQcLUnKh.js} +5 -5
  8. package/dist-elements/chunks/{download-D1wbtARJ.js → download-CxEzwMxI.js} +1 -1
  9. package/dist-elements/chunks/focus-trap-BDxiHED1.js +1 -0
  10. package/dist-elements/chunks/follow-7IBDa51N.js +1 -0
  11. package/dist-elements/chunks/input-C7qx0e4p.js +8 -0
  12. package/dist-elements/chunks/input-CazTpGUd.js +1 -0
  13. package/dist-elements/chunks/other-BaLStKaf.js +11 -0
  14. package/dist-elements/chunks/{player-Dh7ZHcMF.js → player-BEG3MVCm.js} +20 -20
  15. package/dist-elements/chunks/sentence-CjgQjBP9.js +3 -0
  16. package/dist-elements/chunks/stagger-CwsMNTLl.js +133 -0
  17. package/dist-elements/core.js +1 -1
  18. package/dist-elements/custom-elements.json +509 -68
  19. package/dist-elements/data-types.json +155 -12
  20. package/dist-elements/feedback.js +1 -1
  21. package/dist-elements/guides/events.md +7 -1
  22. package/dist-elements/inputs.js +1 -1
  23. package/dist-elements/layout.js +1 -1
  24. package/dist-elements/lintje.js +1051 -1001
  25. package/dist-elements/overlays.js +1 -1
  26. package/dist-elements/tag/activity-log.js +10 -10
  27. package/dist-elements/tag/ai-label.js +5 -5
  28. package/dist-elements/tag/announcement.js +9 -9
  29. package/dist-elements/tag/app-search.js +19 -19
  30. package/dist-elements/tag/audio-player.js +40 -40
  31. package/dist-elements/tag/badge.js +1 -1
  32. package/dist-elements/tag/breadcrumbs.js +8 -8
  33. package/dist-elements/tag/button.js +1 -1
  34. package/dist-elements/tag/card-list.js +9 -9
  35. package/dist-elements/tag/card.js +29 -29
  36. package/dist-elements/tag/chart.js +379 -379
  37. package/dist-elements/tag/chat-answer.js +44 -44
  38. package/dist-elements/tag/chat-composer.js +32 -34
  39. package/dist-elements/tag/chat-message.js +11 -11
  40. package/dist-elements/tag/chat-strip.js +27 -27
  41. package/dist-elements/tag/chat-suggestions.js +9 -9
  42. package/dist-elements/tag/chat.js +35 -35
  43. package/dist-elements/tag/checkbox-group.js +17 -9
  44. package/dist-elements/tag/checkbox.js +10 -10
  45. package/dist-elements/tag/code.js +9 -9
  46. package/dist-elements/tag/combobox.js +23 -23
  47. package/dist-elements/tag/conflict-alert.js +7 -7
  48. package/dist-elements/tag/copy-button.js +9 -9
  49. package/dist-elements/tag/data-table.js +217 -213
  50. package/dist-elements/tag/date-input.js +25 -25
  51. package/dist-elements/tag/date-range.js +27 -26
  52. package/dist-elements/tag/description-list.js +17 -17
  53. package/dist-elements/tag/dialog.js +7 -7
  54. package/dist-elements/tag/document-viewer.js +35 -27
  55. package/dist-elements/tag/drawer.js +9 -9
  56. package/dist-elements/tag/empty-state.js +1 -1
  57. package/dist-elements/tag/error-page.js +11 -11
  58. package/dist-elements/tag/error-summary.js +13 -13
  59. package/dist-elements/tag/expander.js +4 -4
  60. package/dist-elements/tag/explainer.js +5 -5
  61. package/dist-elements/tag/field.js +5 -5
  62. package/dist-elements/tag/file-upload.js +32 -32
  63. package/dist-elements/tag/filter-bar.js +17 -17
  64. package/dist-elements/tag/filter-sheet.js +4 -4
  65. package/dist-elements/tag/filter-zone.js +15 -16
  66. package/dist-elements/tag/find.js +18 -18
  67. package/dist-elements/tag/footer.js +14 -14
  68. package/dist-elements/tag/form-actions.js +3 -3
  69. package/dist-elements/tag/form-section.js +4 -4
  70. package/dist-elements/tag/form.js +5 -5
  71. package/dist-elements/tag/gallery.js +11 -11
  72. package/dist-elements/tag/grid-item.js +1 -1
  73. package/dist-elements/tag/grid.js +1 -1
  74. package/dist-elements/tag/hero.js +7 -7
  75. package/dist-elements/tag/highlight.js +4 -4
  76. package/dist-elements/tag/icon-button.js +1 -1
  77. package/dist-elements/tag/icon.js +1 -1
  78. package/dist-elements/tag/job-list.js +4 -4
  79. package/dist-elements/tag/kpi-row.js +5 -5
  80. package/dist-elements/tag/kpi.js +73 -73
  81. package/dist-elements/tag/level-meter.js +8 -8
  82. package/dist-elements/tag/list.js +43 -43
  83. package/dist-elements/tag/log-viewer.js +80 -80
  84. package/dist-elements/tag/logo.js +26 -29
  85. package/dist-elements/tag/map.js +153 -151
  86. package/dist-elements/tag/menu-button.js +33 -33
  87. package/dist-elements/tag/modal.js +9 -9
  88. package/dist-elements/tag/multiselect.js +23 -23
  89. package/dist-elements/tag/note.js +2 -2
  90. package/dist-elements/tag/notifications.js +28 -28
  91. package/dist-elements/tag/number-input.js +20 -19
  92. package/dist-elements/tag/page-header.js +15 -16
  93. package/dist-elements/tag/pagination.js +25 -27
  94. package/dist-elements/tag/popover.js +1 -1
  95. package/dist-elements/tag/progress-bar.js +1 -1
  96. package/dist-elements/tag/prose.js +1 -1
  97. package/dist-elements/tag/qr-code.js +5 -5
  98. package/dist-elements/tag/radio-group.js +31 -22
  99. package/dist-elements/tag/range.js +27 -31
  100. package/dist-elements/tag/recording-status.js +9 -9
  101. package/dist-elements/tag/repeater.js +5 -5
  102. package/dist-elements/tag/segmented.js +10 -10
  103. package/dist-elements/tag/select.js +9 -9
  104. package/dist-elements/tag/shell.js +253 -264
  105. package/dist-elements/tag/skeleton.js +1 -1
  106. package/dist-elements/tag/slot-picker.js +17 -17
  107. package/dist-elements/tag/sortable-list.js +20 -20
  108. package/dist-elements/tag/spinner.js +1 -1
  109. package/dist-elements/tag/split-pane.js +9 -9
  110. package/dist-elements/tag/status-dot.js +1 -1
  111. package/dist-elements/tag/stepper.js +14 -14
  112. package/dist-elements/tag/streaming-text.js +13 -13
  113. package/dist-elements/tag/sub-nav.js +17 -17
  114. package/dist-elements/tag/tabs.js +37 -37
  115. package/dist-elements/tag/tag-input.js +29 -29
  116. package/dist-elements/tag/text-editor.js +19 -19
  117. package/dist-elements/tag/text-input.js +54 -39
  118. package/dist-elements/tag/textarea.js +14 -14
  119. package/dist-elements/tag/tile.js +1 -1
  120. package/dist-elements/tag/time-input.js +13 -13
  121. package/dist-elements/tag/toast.js +8 -8
  122. package/dist-elements/tag/toggle.js +7 -7
  123. package/dist-elements/tag/toggletip.js +6 -7
  124. package/dist-elements/tag/token-value.js +2 -2
  125. package/dist-elements/tag/tooltip.js +1 -1
  126. package/dist-elements/tag/transcript.js +32 -32
  127. package/dist-elements/tag/translator.js +6 -6
  128. package/dist-elements/tag/tree-view.js +23 -23
  129. package/dist-elements/tag/user-menu.js +39 -28
  130. package/dist-elements/tag/video-player.js +14 -14
  131. package/dist-elements/tokens.css +2 -0
  132. package/dist-elements/tokens.json +4 -0
  133. package/dist-elements/types/components/actions/button/button.d.ts +1 -0
  134. package/dist-elements/types/components/actions/icon/icon.d.ts +2 -1
  135. package/dist-elements/types/components/actions/icon-button/icon-button.d.ts +0 -5
  136. package/dist-elements/types/components/actions/logo/logo.d.ts +7 -2
  137. package/dist-elements/types/components/chat/chat/chat.d.ts +0 -2
  138. package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +1 -11
  139. package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +14 -1
  140. package/dist-elements/types/components/content/log-viewer/log-viewer.d.ts +1 -0
  141. package/dist-elements/types/components/feedback/job-list/job-list.d.ts +9 -2
  142. package/dist-elements/types/components/filters/filter-bar/filter-bar.d.ts +3 -0
  143. package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +2 -7
  144. package/dist-elements/types/components/filters/filter-zone/filter-zone.d.ts +0 -2
  145. package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +5 -1
  146. package/dist-elements/types/components/forms/form/form.d.ts +10 -3
  147. package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +4 -1
  148. package/dist-elements/types/components/frame/app-search/app-search.d.ts +1 -0
  149. package/dist-elements/types/components/frame/page-header/page-header.d.ts +1 -1
  150. package/dist-elements/types/components/frame/shell/header.d.ts +6 -8
  151. package/dist-elements/types/components/frame/shell/navigation.d.ts +0 -7
  152. package/dist-elements/types/components/frame/shell/shell.d.ts +7 -6
  153. package/dist-elements/types/components/frame/shell/top-bar.d.ts +5 -2
  154. package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +15 -2
  155. package/dist-elements/types/components/index.d.ts +3 -2
  156. package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +13 -7
  157. package/dist-elements/types/components/inputs/number-input/number-input.d.ts +4 -2
  158. package/dist-elements/types/components/inputs/radio-group/radio-group.d.ts +16 -4
  159. package/dist-elements/types/components/inputs/range/range.d.ts +0 -1
  160. package/dist-elements/types/components/inputs/segmented/segmented.d.ts +0 -2
  161. package/dist-elements/types/components/inputs/shared/addon.d.ts +14 -0
  162. package/dist-elements/types/components/inputs/shared/input.d.ts +58 -1
  163. package/dist-elements/types/components/inputs/text-input/text-input.d.ts +15 -1
  164. package/dist-elements/types/components/inputs/textarea/textarea.d.ts +3 -2
  165. package/dist-elements/types/components/layout/tabs/tabs.d.ts +0 -4
  166. package/dist-elements/types/components/overlays/popover/popover.d.ts +2 -4
  167. package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +2 -4
  168. package/dist-elements/types/components/overlays/tooltip/tooltip.d.ts +0 -2
  169. package/dist-elements/types/components/shared/controls.d.ts +26 -0
  170. package/dist-elements/types/components/shared/cut-text.d.ts +6 -0
  171. package/dist-elements/types/components/shared/dialog.d.ts +8 -2
  172. package/dist-elements/types/components/shared/focus-trap.d.ts +2 -0
  173. package/dist-elements/types/components/shared/follow.d.ts +8 -0
  174. package/dist-elements/types/components/shared/other.d.ts +24 -0
  175. package/dist-elements/types/components/shared/overflow.d.ts +4 -3
  176. package/dist-elements/types/components/shared/place.d.ts +5 -0
  177. package/dist-elements/types/components/tables/data-table/actions.d.ts +1 -1
  178. package/dist-elements/types/components/tables/data-table/data-table.d.ts +15 -3
  179. package/dist-elements/types/components/tables/data-table/filters.d.ts +2 -0
  180. package/dist-elements/types/components/tables/list/list.d.ts +2 -6
  181. package/dist-elements/types/core/frame-state.d.ts +2 -0
  182. package/dist-elements/types/icons/register.d.ts +1 -1
  183. package/dist-elements/types/icons/render.d.ts +1 -1
  184. package/dist-elements/types/types.d.ts +27 -4
  185. package/package.json +1 -1
  186. package/dist-elements/chunks/base-DuuwEY22.js +0 -224
  187. package/dist-elements/chunks/controls-IwMNNdZt.js +0 -1
  188. package/dist-elements/chunks/dialog-CuB90unp.js +0 -1
  189. package/dist-elements/chunks/dialog-close-CIwpGpo7.js +0 -1
  190. package/dist-elements/chunks/focus-trap-qYvMiFZF.js +0 -1
  191. package/dist-elements/chunks/frame-resize-observer-BGZg6VbV.js +0 -1
  192. package/dist-elements/chunks/input-CTxDOlLs.js +0 -1
  193. package/dist-elements/chunks/input-fzGBdp-5.js +0 -8
  194. package/dist-elements/chunks/sentence-DCIShaRE.js +0 -3
  195. package/dist-elements/chunks/stagger-nGiD5JgJ.js +0 -133
@@ -1,65 +1,65 @@
1
- import{$t as e,Jt as t,U as n,Xt as r,Y as i,Zt as a,dt as o,ft as s,in as c,lt as l,nn as u,qt as d}from"../chunks/base-DuuwEY22.js";import{t as f}from"../chunks/live-message-CYZ-Ch7D.js";var p=`:host{min-width:0;height:100%;display:block}:host([hidden]){display:none}@media print{:host{break-inside:avoid}}.lintje-card{box-sizing:border-box;background:var(--color-bg-surface);border:1px solid var(--color-border-default);height:100%;color:var(--color-text-primary);transition:background var(--dur-hover) var(--ease-in-motion);flex-direction:column;display:flex}.lintje-card.is-link{cursor:pointer}.lintje-card.is-link:hover{background:var(--color-bg-subtle)}.lintje-card.is-link:hover .lintje-card__link{text-decoration:underline}.lintje-card.is-link:has(.lintje-card__link:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.lintje-card.is-link .lintje-card__link:focus-visible{outline:none}.lintje-card__image{aspect-ratio:16/9;object-fit:cover;object-position:top left;width:100%;display:block}.lintje-card__logo{width:var(--w-card-logo);height:var(--w-card-logo);object-fit:contain;flex:none}.lintje-card__main{flex-direction:column;flex:auto;min-width:0;display:flex}.lintje-card__body{gap:var(--space-2);padding:var(--tile-pad-y) var(--tile-pad-x) var(--tile-pad-x);flex-direction:column;flex:auto;display:flex}.lintje-card__head{align-items:center;gap:var(--space-4);min-width:0;display:flex}.lintje-card__heading{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.lintje-card__meta{font:var(--text-small);color:var(--color-text-muted);margin:0}.lintje-card__title{font:var(--text-h2);overflow-wrap:break-word;hyphens:auto;margin:0}.lintje-card__link{color:var(--color-link);text-decoration:none}.lintje-card__link:hover{color:var(--color-link-hover);text-decoration:underline}.lintje-card__icon-action{flex:none}.lintje-card__chevron{color:var(--color-link);flex:none}.lintje-card__description{font:var(--text-body);margin:0}.lintje-card__facts{margin:var(--space-2) 0 0;font:var(--text-small)}.lintje-card__fact{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-1) 0;border-top:1px solid var(--color-border-default);display:flex}.lintje-card__fact:last-child{border-bottom:1px solid var(--color-border-default)}.lintje-card__fact-label{color:var(--color-text-muted)}.lintje-card__fact-value{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.lintje-card__missing{color:var(--color-text-muted)}.lintje-card__status{align-items:center;gap:var(--space-2);padding-top:var(--space-2);font:var(--text-small);margin:auto 0 0;font-weight:700;display:flex}.lintje-card__status-icon{flex:none}.lintje-card__status--neutral{color:var(--color-text-muted)}.lintje-card__status--success .lintje-card__status-icon{color:var(--color-success-line)}.lintje-card__status--info .lintje-card__status-icon{color:var(--color-info-line)}.lintje-card__status--error .lintje-card__status-icon{color:var(--color-error-line)}.lintje-card__status--attention .lintje-card__status-icon,.lintje-card__status--warning .lintje-card__status-icon{color:var(--color-attention-line)}.lintje-card__status--busy .lintje-card__status-icon{color:var(--color-accent-text)}.lintje-card__status--neutral .lintje-card__status-icon,.lintje-card__status--subtle .lintje-card__status-icon{color:var(--color-text-muted)}.lintje-card__status--live .lintje-card__status-icon{color:var(--color-error-line)}.lintje-card__actions{align-items:center;gap:var(--space-2) var(--space-3);padding:0 var(--tile-pad-x) var(--tile-pad-x);flex-wrap:wrap;display:flex}.lintje-card__action--link{margin-left:auto}.lintje-card.is-horizontal{flex-direction:row}.lintje-card.is-horizontal .lintje-card__media{width:var(--w-card-media);border-right:1px solid var(--color-border-default);flex:none}.lintje-card.is-horizontal .lintje-card__image{aspect-ratio:auto;height:100%}.lintje-card.is-horizontal.has-logo .lintje-card__media{padding-top:var(--space-6);box-sizing:border-box;background:var(--color-bg-subtle);justify-content:center;display:flex}.lintje-card.is-horizontal .lintje-card__logo{width:var(--w-card-logo-wide);height:var(--w-card-logo-wide)}.lintje-card.is-compact .lintje-card__body{gap:var(--space-1);padding:var(--space-4)}.lintje-card.is-compact .lintje-card__title{font:var(--text-tile-title)}.lintje-card.is-compact .lintje-card__actions{padding:0 var(--space-4) var(--space-4)}@media (prefers-reduced-motion:reduce){.lintje-card{transition:none}}@media (forced-colors:active){.lintje-card.is-link:hover{border-color:highlight}}`,m=class extends r{constructor(...e){super(...e),this.layout=`vertical`,this.headingLevel=3,this.compact=!1,this.loading=!1,this.hasRegion=!1,this.wasBusy=!1,this.#e=new f(this),this.#t=new t(this,d)}static{this.styles=[o,e(p)]}static{this.properties={data:{attribute:!1},layout:{type:String,reflect:!0},headingLevel:{type:Number,attribute:`heading-level`},compact:{type:Boolean,reflect:!0},loading:{type:Boolean,reflect:!0}}}#e;get busy(){return this.loading||!this.data}willUpdate(e){super.willUpdate(e);let t=this.busy;t&&(this.hasRegion=!0),t!==this.wasBusy&&(this.wasBusy=t,this.#e.say(t?`Gegevens laden…`:`Gegevens geladen.`))}#t;get horizontal(){return this.layout===`horizontal`&&!this.#t.matches}get actions(){return(this.data?.actions??[]).slice(0,this.compact?1:2)}get isLink(){return!!this.data?.href&&this.actions.length===0}onCardClick(e){let t=this.data?.href;if(!t||!this.isLink||!n(e)||getSelection()?.toString())return;let r=e.composedPath(),i=e=>r.some(t=>t instanceof HTMLElement&&t.classList.contains(e));i(`lintje-card__icon-action`)||(i(`lintje-card__link`)?this.followLink(t,e):(e.preventDefault(),this.followLink(t)))}onTitleClick(e){!this.isLink&&this.data?.href&&n(e)&&this.followLink(this.data.href,e)}onAction(e,t){this.data&&(e.href?!e.external&&n(t)&&this.followLink(e.href,t):this.emit(`lintje-card-action`,{id:this.data.id,value:e.value??e.label}))}renderIconAction(e,t){let n=e.pressed!==void 0,r=e.pressed===!0,i=n?{id:t.id,value:e.value,pressed:!r}:{id:t.id,value:e.value};return c`<lintje-icon-button
1
+ import{Q as e,Qt as t,U as n,Zt as r,cn as i,en as a,gt as o,ht as s,on as c,pt as l,rn as u,tn as d}from"../chunks/base-BsZyWDre.js";import{t as f}from"../chunks/live-message-CYZ-Ch7D.js";var p=`:host{min-width:0;height:100%;display:block}:host([hidden]){display:none}@media print{:host{break-inside:avoid}}.lintje-card{box-sizing:border-box;background:var(--color-bg-surface);border:1px solid var(--color-border-default);height:100%;color:var(--color-text-primary);transition:background var(--dur-hover) var(--ease-in-motion);flex-direction:column;display:flex}.lintje-card.is-link{cursor:pointer}.lintje-card.is-link:hover{background:var(--color-bg-subtle)}.lintje-card.is-link:hover .lintje-card__link{text-decoration:underline}.lintje-card.is-link:has(.lintje-card__link:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.lintje-card.is-link .lintje-card__link:focus-visible{outline:none}.lintje-card__image{aspect-ratio:16/9;object-fit:cover;object-position:top left;width:100%;display:block}.lintje-card__logo{width:var(--w-card-logo);height:var(--w-card-logo);object-fit:contain;flex:none}.lintje-card__main{flex-direction:column;flex:auto;min-width:0;display:flex}.lintje-card__body{gap:var(--space-2);padding:var(--tile-pad-y) var(--tile-pad-x) var(--tile-pad-x);flex-direction:column;flex:auto;display:flex}.lintje-card__head{align-items:center;gap:var(--space-4);min-width:0;display:flex}.lintje-card__heading{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.lintje-card__meta{font:var(--text-small);color:var(--color-text-muted);margin:0}.lintje-card__title{font:var(--text-h2);overflow-wrap:break-word;hyphens:auto;margin:0}.lintje-card__link{color:var(--color-link);text-decoration:none}.lintje-card__link:hover{color:var(--color-link-hover);text-decoration:underline}.lintje-card__icon-action{flex:none}.lintje-card__chevron{color:var(--color-link);flex:none}.lintje-card__description{font:var(--text-body);margin:0}.lintje-card__facts{margin:var(--space-2) 0 0;font:var(--text-small)}.lintje-card__fact{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-1) 0;border-top:1px solid var(--color-border-default);display:flex}.lintje-card__fact:last-child{border-bottom:1px solid var(--color-border-default)}.lintje-card__fact-label{color:var(--color-text-muted)}.lintje-card__fact-value{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.lintje-card__missing{color:var(--color-text-muted)}.lintje-card__status{align-items:center;gap:var(--space-2);padding-top:var(--space-2);font:var(--text-small);margin:auto 0 0;font-weight:700;display:flex}.lintje-card__status-icon{flex:none}.lintje-card__status--neutral{color:var(--color-text-muted)}.lintje-card__status--success .lintje-card__status-icon{color:var(--color-success-line)}.lintje-card__status--info .lintje-card__status-icon{color:var(--color-info-line)}.lintje-card__status--error .lintje-card__status-icon{color:var(--color-error-line)}.lintje-card__status--attention .lintje-card__status-icon,.lintje-card__status--warning .lintje-card__status-icon{color:var(--color-attention-line)}.lintje-card__status--busy .lintje-card__status-icon{color:var(--color-accent-text)}.lintje-card__status--neutral .lintje-card__status-icon,.lintje-card__status--subtle .lintje-card__status-icon{color:var(--color-text-muted)}.lintje-card__status--live .lintje-card__status-icon{color:var(--color-error-line)}.lintje-card__actions{align-items:center;gap:var(--space-2) var(--space-3);padding:0 var(--tile-pad-x) var(--tile-pad-x);flex-wrap:wrap;display:flex}.lintje-card__action--link{margin-left:auto}.lintje-card.is-horizontal{flex-direction:row}.lintje-card.is-horizontal .lintje-card__media{width:var(--w-card-media);border-right:1px solid var(--color-border-default);flex:none}.lintje-card.is-horizontal .lintje-card__image{aspect-ratio:auto;height:100%}.lintje-card.is-horizontal.has-logo .lintje-card__media{padding-top:var(--space-6);box-sizing:border-box;background:var(--color-bg-subtle);justify-content:center;display:flex}.lintje-card.is-horizontal .lintje-card__logo{width:var(--w-card-logo-wide);height:var(--w-card-logo-wide)}.lintje-card.is-compact .lintje-card__body{gap:var(--space-1);padding:var(--space-4)}.lintje-card.is-compact .lintje-card__title{font:var(--text-tile-title)}.lintje-card.is-compact .lintje-card__actions{padding:0 var(--space-4) var(--space-4)}@media (prefers-reduced-motion:reduce){.lintje-card{transition:none}}@media (forced-colors:active){.lintje-card.is-link:hover{border-color:highlight}}`,m=class extends a{constructor(...e){super(...e),this.layout=`vertical`,this.headingLevel=3,this.compact=!1,this.loading=!1,this.hasRegion=!1,this.wasBusy=!1,this.#e=new f(this),this.#t=new t(this,r)}static{this.styles=[s,u(p)]}static{this.properties={data:{attribute:!1},layout:{type:String,reflect:!0},headingLevel:{type:Number,attribute:`heading-level`},compact:{type:Boolean,reflect:!0},loading:{type:Boolean,reflect:!0}}}#e;get busy(){return this.loading||!this.data}willUpdate(e){super.willUpdate(e);let t=this.busy;t&&(this.hasRegion=!0),t!==this.wasBusy&&(this.wasBusy=t,this.#e.say(t?`Gegevens laden…`:`Gegevens geladen.`))}#t;get horizontal(){return this.layout===`horizontal`&&!this.#t.matches}get actions(){return(this.data?.actions??[]).slice(0,this.compact?1:2)}get isLink(){return!!this.data?.href&&this.actions.length===0}onCardClick(e){let t=this.data?.href;if(!t||!this.isLink||!n(e)||getSelection()?.toString())return;let r=e.composedPath(),i=e=>r.some(t=>t instanceof HTMLElement&&t.classList.contains(e));i(`lintje-card__icon-action`)||(i(`lintje-card__link`)?this.followLink(t,e):(e.preventDefault(),this.followLink(t)))}onTitleClick(e){!this.isLink&&this.data?.href&&n(e)&&this.followLink(this.data.href,e)}onAction(e,t){this.data&&(e.href?!e.external&&n(t)&&this.followLink(e.href,t):this.emit(`lintje-card-action`,{id:this.data.id,value:e.value??e.label}))}renderIconAction(e,t){let n=e.pressed!==void 0,r=e.pressed===!0,a=n?{id:t.id,value:e.value,pressed:!r}:{id:t.id,value:e.value};return i`<lintje-icon-button
2
2
  class="lintje-card__icon-action"
3
3
  variant="flat"
4
4
  icon=${r&&e.iconPressed?e.iconPressed:e.icon}
5
5
  label=${`${e.label}: ${t.title}`}
6
6
  .pressed=${n?r:void 0}
7
7
  ?active=${r}
8
- @click=${()=>this.emit(`lintje-card-action`,i)}
9
- ></lintje-icon-button>`}heading(e){return this.headingLevel===2?c`<h2 class="lintje-card__title">${e}</h2>`:this.headingLevel===4?c`<h4 class="lintje-card__title">${e}</h4>`:c`<h3 class="lintje-card__title">${e}</h3>`}renderTitle(e){let t=e.href?c`<a class="lintje-card__link" href=${e.href} @click=${this.onTitleClick}
8
+ @click=${()=>this.emit(`lintje-card-action`,a)}
9
+ ></lintje-icon-button>`}heading(e){return this.headingLevel===2?i`<h2 class="lintje-card__title">${e}</h2>`:this.headingLevel===4?i`<h4 class="lintje-card__title">${e}</h4>`:i`<h3 class="lintje-card__title">${e}</h3>`}renderTitle(e){let t=e.href?i`<a class="lintje-card__link" href=${e.href} @click=${this.onTitleClick}
10
10
  >${e.title}</a
11
- >`:c`${e.title}`;return this.heading(t)}renderStatus(e){let t=e.tone??`neutral`,n=e.icon??i[t];return c`<p class="lintje-card__status lintje-card__status--${t}">
12
- ${n?s(n,{size:16,className:`lintje-card__status-icon`}):u}
13
- <span>${e.label}</span>
14
- </p>`}renderFacts(e){return c`<dl class="lintje-card__facts">
15
- ${e.map(e=>c`<div class="lintje-card__fact">
11
+ >`:i`${e.title}`;return this.heading(t)}renderStatus(t){let n=t.tone??`neutral`,r=t.icon??e[n];return i`<p class="lintje-card__status lintje-card__status--${n}">
12
+ ${r?o(r,{size:16,className:`lintje-card__status-icon`}):c}
13
+ <span>${t.label}</span>
14
+ </p>`}renderFacts(e){return i`<dl class="lintje-card__facts">
15
+ ${e.map(e=>i`<div class="lintje-card__fact">
16
16
  <dt class="lintje-card__fact-label">${e.label}</dt>
17
17
  <dd class="lintje-card__fact-value">
18
- ${e.value===null||e.value===``?c`<span class="lintje-card__missing"
18
+ ${e.value===null||e.value===``?i`<span class="lintje-card__missing"
19
19
  ><span aria-hidden="true">—</span
20
20
  ><span class="visually-hidden">geen waarde</span></span
21
21
  >`:e.value}
22
22
  </dd>
23
23
  </div>`)}
24
- </dl>`}renderAction(e,t){let n=c`${e.label}<span class="visually-hidden"
24
+ </dl>`}renderAction(e,t){let n=i`${e.label}<span class="visually-hidden"
25
25
  >: ${t}${e.external?` (opent in een nieuw tabblad)`:``}</span
26
- >`;return c`<lintje-button
26
+ >`;return i`<lintje-button
27
27
  class=${e.variant===`link`?`lintje-card__action lintje-card__action--link`:`lintje-card__action`}
28
28
  variant=${e.variant??`secondary`}
29
- href=${e.href??u}
30
- target=${e.external?`_blank`:u}
31
- icon-right=${e.external?`functioneel-externe-link`:u}
29
+ href=${e.href??c}
30
+ target=${e.external?`_blank`:c}
31
+ icon-right=${e.external?`functioneel-externe-link`:c}
32
32
  @click=${t=>this.onAction(e,t)}
33
33
  >${n}</lintje-button
34
- >`}renderMedia(e){return(e.kind??`image`)===`logo`?c`<img class="lintje-card__logo" src=${e.src} alt=${e.alt} />`:c`<img class="lintje-card__image" src=${e.src} alt=${e.alt} loading="lazy" />`}renderLoading(){return c`<div class="lintje-card is-loading">
34
+ >`}renderMedia(e){return(e.kind??`image`)===`logo`?i`<img class="lintje-card__logo" src=${e.src} alt=${e.alt} />`:i`<img class="lintje-card__image" src=${e.src} alt=${e.alt} loading="lazy" />`}renderLoading(){return i`<div class="lintje-card is-loading">
35
35
  <div class="lintje-card__body">
36
36
  <lintje-skeleton width="40%" height="14px"></lintje-skeleton>
37
37
  <lintje-skeleton width="70%" height="24px"></lintje-skeleton>
38
- ${this.compact?u:c`<lintje-skeleton width="100%" height="16px"></lintje-skeleton>
38
+ ${this.compact?c:i`<lintje-skeleton width="100%" height="16px"></lintje-skeleton>
39
39
  <lintje-skeleton width="85%" height="16px"></lintje-skeleton>`}
40
40
  </div>
41
- </div>`}render(){return c`${this.hasRegion?c`<span class="visually-hidden" role="status">${this.#e.text}</span>`:u}${this.renderCard()}`}renderCard(){let e=this.data;if(this.busy||!e)return this.renderLoading();let t=this.compact?void 0:e.media,n=t?.kind===`logo`,r=this.horizontal,i=t&&(r||!n),a=(e.meta??[]).filter(e=>e.trim()!==``).join(` · `),o=this.actions;return c`<article
42
- class=${l({"lintje-card":!0,"is-link":this.isLink,"is-compact":this.compact,"is-horizontal":r,"has-media":!!i,"has-logo":n})}
41
+ </div>`}render(){return i`${this.hasRegion?i`<span class="visually-hidden" role="status">${this.#e.text}</span>`:c}${this.renderCard()}`}renderCard(){let e=this.data;if(this.busy||!e)return this.renderLoading();let t=this.compact?void 0:e.media,n=t?.kind===`logo`,r=this.horizontal,a=t&&(r||!n),s=(e.meta??[]).filter(e=>e.trim()!==``).join(` · `),u=this.actions;return i`<article
42
+ class=${l({"lintje-card":!0,"is-link":this.isLink,"is-compact":this.compact,"is-horizontal":r,"has-media":!!a,"has-logo":n})}
43
43
  @click=${this.onCardClick}
44
44
  >
45
- ${i?c`<div class="lintje-card__media">${this.renderMedia(t)}</div>`:u}
45
+ ${a?i`<div class="lintje-card__media">${this.renderMedia(t)}</div>`:c}
46
46
  <div class="lintje-card__main">
47
47
  <div class="lintje-card__body">
48
48
  <div class="lintje-card__head">
49
- ${t&&n&&!i?this.renderMedia(t):u}
49
+ ${t&&n&&!a?this.renderMedia(t):c}
50
50
  <div class="lintje-card__heading">
51
- ${a?c`<p class="lintje-card__meta">${a}</p>`:u}
51
+ ${s?i`<p class="lintje-card__meta">${s}</p>`:c}
52
52
  ${this.renderTitle(e)}
53
53
  </div>
54
54
  ${(e.iconActions??[]).slice(0,2).map(t=>this.renderIconAction(t,e))}
55
- ${this.isLink?s(`functioneel-delta-rechts`,{size:20,className:`lintje-card__chevron`}):u}
55
+ ${this.isLink?o(`functioneel-delta-rechts`,{size:20,className:`lintje-card__chevron`}):c}
56
56
  </div>
57
- ${e.description&&!this.compact?c`<p class="lintje-card__description">${e.description}</p>`:u}
58
- ${e.facts?.length&&!this.compact?this.renderFacts(e.facts):u}
59
- ${e.status?this.renderStatus(e.status):u}
57
+ ${e.description&&!this.compact?i`<p class="lintje-card__description">${e.description}</p>`:c}
58
+ ${e.facts?.length&&!this.compact?this.renderFacts(e.facts):c}
59
+ ${e.status?this.renderStatus(e.status):c}
60
60
  </div>
61
- ${o.length?c`<div class="lintje-card__actions">
62
- ${o.map(t=>this.renderAction(t,e.title))}
63
- </div>`:u}
61
+ ${u.length?i`<div class="lintje-card__actions">
62
+ ${u.map(t=>this.renderAction(t,e.title))}
63
+ </div>`:c}
64
64
  </div>
65
- </article>`}};a(`lintje-card`,m);export{m as LintjeCard};
65
+ </article>`}};d(`lintje-card`,m);export{m as LintjeCard};