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,68 +1,68 @@
1
- import{$t as e,Xt as t,Zt as n,et as r,in as i,nn as a}from"../chunks/base-DuuwEY22.js";import{n as o}from"../chunks/focus-trap-qYvMiFZF.js";import{t as s}from"../chunks/copied-Dx6jfxoK.js";import"./announcement.js";import"./prose.js";import{t as c}from"../chunks/sentence-end-DqHdi7Wb.js";import"./kpi-row.js";import"./data-table.js";import"./chart.js";import"./chat-strip.js";import"./chat-suggestions.js";var l=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-answer{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.lintje-chat-answer__body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.lintje-chat-answer__lead{font-weight:700}.lintje-chat-answer__blocks{gap:var(--space-3) var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));min-width:0;display:grid}.lintje-chat-answer__blocks>:not([span]){grid-column:1/-1}@media screen and (width<=767px){.lintje-chat-answer__blocks{grid-template-columns:minmax(0,1fr)}}.lintje-chat-answer__stopped,.lintje-chat-answer__note,.lintje-chat-answer__reasons-label{font:var(--text-small);color:var(--color-text-muted)}.lintje-chat-answer__status{align-self:flex-start}.lintje-chat-answer__retry{margin-top:var(--space-2)}.lintje-chat-answer__actions{align-items:center;gap:var(--space-2);margin-left:calc((16px - var(--h-icon-button)) / 2);color:var(--color-text-primary);flex-wrap:wrap;display:flex}.lintje-chat-answer__note{margin-left:var(--space-2)}.lintje-chat-answer__reasons{align-items:center;gap:var(--space-2);animation:lintje-fade-in var(--dur-base) var(--ease-in-motion) both;flex-wrap:wrap;display:flex}.lintje-chat-answer__reasons-label{margin-right:var(--space-1)}`,u=[`Klopt niet`,`Niet wat ik vroeg`,`Onduidelijk`],d={"needs-clarification":{label:`Kies je antwoord`,hint:`Of typ je eigen antwoord in het veld.`},"out-of-scope":{label:`Kies wat je wilt doen`,hint:`Of stel een andere vraag in het veld.`}},f=class extends t{constructor(...e){super(...e),this.state=`ready`,this.current=!1,this.rating=null,this.reasonGiven=!1,this.note=``,this.spoken=[],this.#e=!1,this.#t=0,this.#n=``}static{this.styles=e(l)}static{this.properties={state:{type:String,reflect:!0},lead:{type:String},text:{type:String},blocks:{attribute:!1},strip:{attribute:!1},status:{type:String},error:{attribute:!1},choices:{attribute:!1},followUps:{attribute:!1},current:{type:Boolean,reflect:!0},turnId:{type:String,attribute:`turn-id`},rating:{state:!0},reasonGiven:{state:!0},note:{state:!0},spoken:{state:!0}}}#e;#t;#n;#r;#i;disconnectedCallback(){clearTimeout(this.#r),clearTimeout(this.#i),super.disconnectedCallback()}get spokenText(){return[this.lead,this.text].filter(Boolean).join(` `)}willUpdate(e){if(super.willUpdate(e),!e.has(`state`)&&!e.has(`lead`)&&!e.has(`text`))return;let t=this.spokenText,n=e.has(`state`)&&this.state===`streaming`||!t.startsWith(this.#n.slice(0,this.#t));if(this.#n=t,n&&(this.#e||this.state===`streaming`)&&(this.#e=!0,this.#t=0,this.spoken=[]),!this.#e||this.state===`error`)return;let r=t.slice(this.#t),i=this.state===`streaming`?c(r):r.length,a=r.slice(0,i).trim();this.#t+=i,a&&(this.spoken=[...this.spoken,a])}get detail(){return{turnId:this.turnId??null}}get plainText(){let e=(this.blocks??[]).map(e=>e.kind===`prose`?e.text:``);return[[this.lead,this.text].filter(Boolean).join(` `),...e].filter(Boolean).join(`
1
+ import{cn as e,en as t,on as n,rn as r,rt as i,tn as a}from"../chunks/base-BsZyWDre.js";import{n as o}from"../chunks/focus-trap-BDxiHED1.js";import{t as s}from"../chunks/copied-Dx6jfxoK.js";import"./announcement.js";import"./prose.js";import{t as c}from"../chunks/sentence-end-DqHdi7Wb.js";import"./kpi-row.js";import"./data-table.js";import"./chart.js";import"./chat-strip.js";import"./chat-suggestions.js";var l=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-answer{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.lintje-chat-answer__body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.lintje-chat-answer__lead{font-weight:700}.lintje-chat-answer__blocks{gap:var(--space-3) var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));min-width:0;display:grid}.lintje-chat-answer__blocks>:not([span]){grid-column:1/-1}@media screen and (width<=767px){.lintje-chat-answer__blocks{grid-template-columns:minmax(0,1fr)}}.lintje-chat-answer__stopped,.lintje-chat-answer__note,.lintje-chat-answer__reasons-label{font:var(--text-small);color:var(--color-text-muted)}.lintje-chat-answer__status{align-self:flex-start}.lintje-chat-answer__retry{margin-top:var(--space-2)}.lintje-chat-answer__actions{align-items:center;gap:var(--space-2);margin-left:calc((16px - var(--h-icon-button)) / 2);color:var(--color-text-primary);flex-wrap:wrap;display:flex}.lintje-chat-answer__note{margin-left:var(--space-2)}.lintje-chat-answer__reasons{align-items:center;gap:var(--space-2);animation:lintje-fade-in var(--dur-base) var(--ease-in-motion) both;flex-wrap:wrap;display:flex}.lintje-chat-answer__reasons-label{margin-right:var(--space-1)}`,u=[`Klopt niet`,`Niet wat ik vroeg`,`Onduidelijk`],d={"needs-clarification":{label:`Kies je antwoord`,hint:`Of typ je eigen antwoord in het veld.`},"out-of-scope":{label:`Kies wat je wilt doen`,hint:`Of stel een andere vraag in het veld.`}},f=class extends t{constructor(...e){super(...e),this.state=`ready`,this.current=!1,this.rating=null,this.reasonGiven=!1,this.note=``,this.spoken=[],this.#e=!1,this.#t=0,this.#n=``}static{this.styles=r(l)}static{this.properties={state:{type:String,reflect:!0},lead:{type:String},text:{type:String},blocks:{attribute:!1},strip:{attribute:!1},status:{type:String},error:{attribute:!1},choices:{attribute:!1},followUps:{attribute:!1},current:{type:Boolean,reflect:!0},turnId:{type:String,attribute:`turn-id`},rating:{state:!0},reasonGiven:{state:!0},note:{state:!0},spoken:{state:!0}}}#e;#t;#n;#r;#i;disconnectedCallback(){clearTimeout(this.#r),clearTimeout(this.#i),super.disconnectedCallback()}get spokenText(){return[this.lead,this.text].filter(Boolean).join(` `)}willUpdate(e){if(super.willUpdate(e),!e.has(`state`)&&!e.has(`lead`)&&!e.has(`text`))return;let t=this.spokenText,n=e.has(`state`)&&this.state===`streaming`||!t.startsWith(this.#n.slice(0,this.#t));if(this.#n=t,n&&(this.#e||this.state===`streaming`)&&(this.#e=!0,this.#t=0,this.spoken=[]),!this.#e||this.state===`error`)return;let r=t.slice(this.#t),i=this.state===`streaming`?c(r):r.length,a=r.slice(0,i).trim();this.#t+=i,a&&(this.spoken=[...this.spoken,a])}get detail(){return{turnId:this.turnId??null}}get plainText(){let e=(this.blocks??[]).map(e=>e.kind===`prose`?e.text:``);return[[this.lead,this.text].filter(Boolean).join(` `),...e].filter(Boolean).join(`
2
2
 
3
- `)}say(e,t){clearTimeout(this.#r),clearTimeout(this.#i),t&&(this.#r=setTimeout(()=>this.note=``,t)),e&&e===this.note?(this.note=``,this.#i=setTimeout(()=>this.note=e,100)):this.note=e}async copy(){try{await navigator.clipboard.writeText(this.plainText),this.say(`Gekopieerd`,s)}catch{this.say(`Kopiëren is niet gelukt`)}}rate(e){this.rating=this.rating===e?null:e,this.reasonGiven=!1,this.say(``),this.emit(`lintje-answer-rate`,{...this.detail,rating:this.rating,reason:null})}giveReason(e){let t=this.renderRoot.querySelector(`.lintje-chat-answer__reasons`),n=this.renderRoot.querySelector(`[label="Slecht antwoord"]`);t&&n&&r(t)&&o(n).focus(),this.reasonGiven=!0,this.say(`Bedankt, doorgegeven.`),this.emit(`lintje-answer-rate`,{...this.detail,rating:`down`,reason:e})}retry(){this.emit(`lintje-answer-retry`,this.detail)}render(){let e=this.state,t=e===`ready`,n=d[e];return i`<article class="lintje-chat-answer">
3
+ `)}say(e,t){clearTimeout(this.#r),clearTimeout(this.#i),t&&(this.#r=setTimeout(()=>this.note=``,t)),e&&e===this.note?(this.note=``,this.#i=setTimeout(()=>this.note=e,100)):this.note=e}async copy(){try{await navigator.clipboard.writeText(this.plainText),this.say(`Gekopieerd`,s)}catch{this.say(`Kopiëren is niet gelukt`)}}rate(e){this.rating=this.rating===e?null:e,this.reasonGiven=!1,this.say(``),this.emit(`lintje-answer-rate`,{...this.detail,rating:this.rating,reason:null})}giveReason(e){let t=this.renderRoot.querySelector(`.lintje-chat-answer__reasons`),n=this.renderRoot.querySelector(`[label="Slecht antwoord"]`);t&&n&&i(t)&&o(n).focus(),this.reasonGiven=!0,this.say(`Bedankt, doorgegeven.`),this.emit(`lintje-answer-rate`,{...this.detail,rating:`down`,reason:e})}retry(){this.emit(`lintje-answer-retry`,this.detail)}render(){let t=this.state,r=t===`ready`,i=d[t];return e`<article class="lintje-chat-answer">
4
4
  <div class="lintje-chat-answer__body">
5
- ${e===`error`?this.renderError():this.renderText()}
5
+ ${t===`error`?this.renderError():this.renderText()}
6
6
  <div class="visually-hidden" role="status" aria-atomic="false">
7
- ${this.spoken.map(e=>i`<p>${e}</p>`)}
7
+ ${this.spoken.map(t=>e`<p>${t}</p>`)}
8
8
  </div>
9
- ${t&&this.strip?i`<lintje-chat-strip
10
- turn-id=${this.turnId??a}
9
+ ${r&&this.strip?e`<lintje-chat-strip
10
+ turn-id=${this.turnId??n}
11
11
  .items=${this.strip.items}
12
12
  .details=${this.strip.details}
13
- details-label=${this.strip.detailsLabel??a}
13
+ details-label=${this.strip.detailsLabel??n}
14
14
  ?disabled=${!this.current}
15
- ></lintje-chat-strip>`:a}
15
+ ></lintje-chat-strip>`:n}
16
16
  ${this.renderBlocks()}
17
- ${e===`streaming`?i`<lintje-spinner
17
+ ${t===`streaming`?e`<lintje-spinner
18
18
  class="lintje-chat-answer__status"
19
19
  label=${this.status??`Antwoord schrijven`}
20
- ></lintje-spinner>`:a}
21
- ${e===`stopped`?i`<p class="lintje-chat-answer__stopped">Antwoord gestopt.</p>`:a}
22
- ${t?this.renderActions():a}
20
+ ></lintje-spinner>`:n}
21
+ ${t===`stopped`?e`<p class="lintje-chat-answer__stopped">Antwoord gestopt.</p>`:n}
22
+ ${r?this.renderActions():n}
23
23
  </div>
24
- ${n&&this.current?i`<lintje-chat-suggestions
24
+ ${i&&this.current?e`<lintje-chat-suggestions
25
25
  kind="choice"
26
- turn-id=${this.turnId??a}
27
- label=${n.label}
28
- hint=${n.hint}
26
+ turn-id=${this.turnId??n}
27
+ label=${i.label}
28
+ hint=${i.hint}
29
29
  .items=${this.choices}
30
- ></lintje-chat-suggestions>`:a}
31
- ${t&&this.current?i`<lintje-chat-suggestions
32
- turn-id=${this.turnId??a}
30
+ ></lintje-chat-suggestions>`:n}
31
+ ${r&&this.current?e`<lintje-chat-suggestions
32
+ turn-id=${this.turnId??n}
33
33
  label="Jij, als vervolgvraag"
34
34
  .items=${this.followUps}
35
- ></lintje-chat-suggestions>`:a}
36
- </article>`}renderText(){return i`<lintje-prose
35
+ ></lintje-chat-suggestions>`:n}
36
+ </article>`}renderText(){return e`<lintje-prose
37
37
  class="lintje-chat-answer__text"
38
- aria-live=${this.#e?`off`:a}
39
- aria-busy=${this.state===`streaming`?`true`:a}
38
+ aria-live=${this.#e?`off`:n}
39
+ aria-busy=${this.state===`streaming`?`true`:n}
40
40
  >
41
41
  <p>
42
- <span class="visually-hidden">Assistent: </span>${this.lead?i`<strong class="lintje-chat-answer__lead">${this.lead}</strong> `:a}${this.text??a}
42
+ <span class="visually-hidden">Assistent: </span>${this.lead?e`<strong class="lintje-chat-answer__lead">${this.lead}</strong> `:n}${this.text??n}
43
43
  </p>
44
- </lintje-prose>`}renderError(){let e={kind:`warning`,live:!0,title:this.error?.title??`Het antwoord is niet geladen`,text:this.error?.text??`Je vraag staat er nog: probeer het opnieuw, of stel een kortere vraag.`};return i`<span class="visually-hidden">Assistent: </span>
45
- <lintje-announcement .data=${e}>
46
- ${this.current?i`<lintje-button
44
+ </lintje-prose>`}renderError(){let t={kind:`warning`,live:!0,title:this.error?.title??`Het antwoord is niet geladen`,text:this.error?.text??`Je vraag staat er nog: probeer het opnieuw, of stel een kortere vraag.`};return e`<span class="visually-hidden">Assistent: </span>
45
+ <lintje-announcement .data=${t}>
46
+ ${this.current?e`<lintje-button
47
47
  class="lintje-chat-answer__retry"
48
48
  slot="action"
49
49
  variant="secondary"
50
50
  icon="functioneel-refresh"
51
51
  @click=${()=>this.retry()}
52
52
  >Opnieuw proberen</lintje-button
53
- >`:a}
54
- </lintje-announcement>`}renderBlocks(){let e=this.blocks??[];return e.length?i`<div
53
+ >`:n}
54
+ </lintje-announcement>`}renderBlocks(){let t=this.blocks??[];return t.length?e`<div
55
55
  class="lintje-chat-answer__blocks"
56
- aria-busy=${this.state===`streaming`?`true`:a}
56
+ aria-busy=${this.state===`streaming`?`true`:n}
57
57
  >
58
- ${e.map(e=>{switch(e.kind){case`prose`:return i`<lintje-prose .html=${e.html} .text=${e.text}></lintje-prose>`;case`kpi-row`:return i`<lintje-kpi-row .data=${e.data}></lintje-kpi-row>`;case`chart`:return i`<lintje-chart
59
- span=${e.data.span??a}
60
- .data=${e.data}
61
- ></lintje-chart>`;case`data-table`:return i`<lintje-data-table
62
- span=${e.data.span??a}
63
- .data=${e.data}
58
+ ${t.map(t=>{switch(t.kind){case`prose`:return e`<lintje-prose .html=${t.html} .text=${t.text}></lintje-prose>`;case`kpi-row`:return e`<lintje-kpi-row .data=${t.data}></lintje-kpi-row>`;case`chart`:return e`<lintje-chart
59
+ span=${t.data.span??n}
60
+ .data=${t.data}
61
+ ></lintje-chart>`;case`data-table`:return e`<lintje-data-table
62
+ span=${t.data.span??n}
63
+ .data=${t.data}
64
64
  ></lintje-data-table>`}})}
65
- </div>`:a}renderActions(){let e=this.rating===`down`&&!this.reasonGiven;return i`<div class="lintje-chat-answer__actions">
65
+ </div>`:n}renderActions(){let t=this.rating===`down`&&!this.reasonGiven;return e`<div class="lintje-chat-answer__actions">
66
66
  <lintje-icon-button
67
67
  icon="functioneel-kopieren"
68
68
  label="Antwoord kopiëren"
@@ -85,24 +85,24 @@ import{$t as e,Xt as t,Zt as n,et as r,in as i,nn as a}from"../chunks/base-DuuwE
85
85
  ?active=${this.rating===`down`}
86
86
  @click=${()=>this.rate(`down`)}
87
87
  ></lintje-icon-button>
88
- ${this.current?i`<lintje-icon-button
88
+ ${this.current?e`<lintje-icon-button
89
89
  icon="functioneel-refresh"
90
90
  label="Opnieuw beantwoorden"
91
91
  variant="flat"
92
92
  @click=${()=>this.retry()}
93
- ></lintje-icon-button>`:a}
93
+ ></lintje-icon-button>`:n}
94
94
  <span class="lintje-chat-answer__note" role="status">${this.note}</span>
95
95
  </div>
96
- ${e?i`<div
96
+ ${t?e`<div
97
97
  class="lintje-chat-answer__reasons"
98
98
  role="group"
99
99
  aria-labelledby="reasons"
100
100
  >
101
101
  <span id="reasons" class="lintje-chat-answer__reasons-label">Wat was er mis?</span>
102
- ${u.map(e=>i`<lintje-button
102
+ ${u.map(t=>e`<lintje-button
103
103
  variant="tertiary"
104
104
  size="compact"
105
- @click=${()=>this.giveReason(e)}
106
- >${e}</lintje-button
105
+ @click=${()=>this.giveReason(t)}
106
+ >${t}</lintje-button
107
107
  >`)}
108
- </div>`:a}`}};n(`lintje-chat-answer`,f);export{f as LintjeChatAnswer};
108
+ </div>`:n}`}};a(`lintje-chat-answer`,f);export{f as LintjeChatAnswer};
@@ -1,36 +1,40 @@
1
- import{$t as e,Jt as t,St as n,Xt as r,Zt as i,et as a,in as o,it as s,lt as c,nn as l}from"../chunks/base-DuuwEY22.js";import"./radio-group.js";import{t as u}from"../chunks/key-CAxrgBxD.js";import"./multiselect.js";function d(e,t=[]){let n=[],r=0;for(let i of[...t].sort((e,t)=>e.start-t.start))i.start<r||i.end<=i.start||i.end>e.length||(i.start>r&&n.push({text:e.slice(r,i.start)}),n.push({text:e.slice(i.start,i.end),term:i}),r=i.end);return r<e.length&&n.push({text:e.slice(r)}),n}var f=/[\p{L}\p{N}]/u;function p(e,t=[],n){let r=e.toLowerCase(),i=t.flatMap(e=>[e.label,...e.aliases??[]].map(t=>({word:t,term:e}))).filter(({word:e})=>e.trim()!==``).sort((e,t)=>t.word.length-e.word.length),a=[];for(let{word:t,term:o}of i){let i=t.toLowerCase();for(let t=r.indexOf(i);t!==-1;t=r.indexOf(i,t+1)){let r=t+i.length;if(t>0&&f.test(e[t-1])||r<e.length&&f.test(e[r])||a.some(e=>t<e.end&&r>e.start))continue;let s=o.source!==void 0&&n!==void 0&&!n.includes(o.source);a.push({start:t,end:r,kind:o.kind,certain:!(o.ambiguous||s)})}}return a.sort((e,t)=>e.start-t.start)}function m(e,t=e.length){return/\S*$/.exec(e.slice(0,t))?.[0]??``}function h(e,t=[]){let n=e.toLowerCase();return n?t.filter(e=>{let t=e.label.toLowerCase();return t!==n&&t.split(/\s+/).some(e=>e.startsWith(n))}).slice(0,5):[]}var g=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-composer{position:relative}.lintje-chat-composer__frame{background:var(--color-bg-surface);border:1px solid var(--color-border-field);flex-direction:column;display:flex}.lintje-chat-composer__field{max-height:calc(var(--h-control) * 4 + var(--space-5));position:relative;overflow-y:auto}.lintje-chat-composer__input{min-height:calc(var(--h-control) + var(--space-5));padding:var(--space-3) var(--space-4) var(--space-2);font:var(--text-body);line-height:var(--h-control);color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere;display:block}.lintje-chat-composer__input.is-empty:before{content:attr(data-placeholder);content:attr(data-placeholder) / "";color:var(--color-text-placeholder);opacity:1;pointer-events:none;position:absolute}@supports selector(:has(*)){.lintje-chat-composer__input:focus-visible{outline:none}.lintje-chat-composer__frame:has(.lintje-chat-composer__input:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}}.lintje-chat-composer__input::highlight(lintje-term){background-color:var(--color-term-bg);text-decoration:underline solid var(--color-term-line);text-underline-offset:var(--space-1);text-decoration-thickness:2px}.lintje-chat-composer__input::highlight(lintje-term-uncertain){text-decoration:underline dashed var(--color-border-suggestion);text-underline-offset:var(--space-1);text-decoration-thickness:2px}.lintje-chat-composer__captions{pointer-events:none;position:absolute;inset:0}.lintje-chat-composer__caption{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;color:var(--color-accent-text);line-height:1;position:absolute;overflow:hidden;transform:translateY(-100%)}.lintje-chat-composer__caption.is-uncertain{color:var(--color-text-muted)}.lintje-chat-composer__bar{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-2);flex-wrap:wrap;display:flex}.lintje-chat-composer__sources{flex:0 auto;width:auto;min-width:0}.lintje-chat-composer__hint{min-width:0;font:var(--text-small);color:var(--color-text-muted);text-align:right;flex:auto}.lintje-chat-composer__send{flex:none;gap:1px;display:flex;position:relative}.lintje-chat-composer__send-half{--h-icon-button:var(--h-button)}.lintje-chat-composer__scrim{z-index:45;position:fixed;inset:0}.lintje-chat-composer__options{right:0;bottom:calc(100% + var(--space-2));z-index:46;width:320px;max-width:calc(100vw - 2 * var(--space-4));gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-popover);box-shadow:var(--shadow-popover);color:var(--color-text-primary);animation:lintje-rise var(--dur-popover) var(--ease-in-motion);flex-direction:column;display:flex;position:absolute}.lintje-chat-composer__shortcuts{gap:var(--space-2);flex-direction:column;display:flex}.lintje-chat-composer__shortcuts-label{font:var(--text-small);font-weight:700}.lintje-chat-composer__keys{align-items:center;gap:var(--space-2) var(--space-3);font:var(--text-ui);grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.lintje-chat-composer__key{margin:0}.lintje-chat-composer__completions{left:0;bottom:calc(100% + var(--space-2));z-index:46;background:var(--color-bg-surface);border:1px solid var(--color-border-popover);width:360px;max-width:100%;box-shadow:var(--shadow-popover);animation:lintje-rise var(--dur-popover) var(--ease-in-motion);position:absolute}.lintje-chat-composer__completion{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--h-option);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-default);font:var(--text-ui);color:var(--color-text-primary);cursor:pointer;display:flex}.lintje-chat-composer__completion:last-child{border-bottom:0}.lintje-chat-composer__completion:hover,.lintje-chat-composer__completion.is-active{background:var(--color-bg-subtle)}.lintje-chat-composer__completion-kind{font:var(--text-small);color:var(--color-text-muted)}@media screen and (width<=767px){.lintje-chat-composer__input{padding:var(--space-3) var(--space-3) var(--space-1)}.lintje-chat-composer__hint:not(:empty){text-align:left;flex-basis:100%;order:-1}}@media (forced-colors:active){.lintje-chat-composer__completion.is-active{outline-offset:-1px;outline:1px solid highlight}}`,_=[{value:`auto`,label:`Automatisch (de assistent kiest)`},{value:`text`,label:`Alleen tekst`},{value:`chart`,label:`Met grafiek`},{value:`table`,label:`Als tabel`}],v=[{value:`enter`,label:`Enter (Shift+Enter: nieuwe regel)`},{value:`ctrl-enter`,label:`Ctrl+Enter (Enter: nieuwe regel)`}],y=`lintje-chat-send-key`,b={enter:`Enter verstuurt, Shift+Enter begint een nieuwe regel.`,"ctrl-enter":`Ctrl+Enter verstuurt, Enter begint een nieuwe regel.`};function x(){try{return localStorage.getItem(y)===`ctrl-enter`?`ctrl-enter`:`enter`}catch{return`enter`}}var S=`lintje-term`,C=`lintje-term-uncertain`,w=()=>typeof CSS<`u`&&`highlights`in CSS&&typeof Highlight<`u`;function T(e){let t=CSS.highlights.get(e);return t||(t=new Highlight,CSS.highlights.set(e,t)),t}function E(e){let t=[],n=``,r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT);for(let e=r.nextNode();e;e=r.nextNode())e.nodeType===Node.TEXT_NODE?(t.push({node:e,start:n.length}),n+=e.data):e.localName===`br`&&(n+=`
2
- `);return{text:n,nodes:t}}function D(e,t){for(let n=e.nodes.length-1;n>=0;n--){let{node:r,start:i}=e.nodes[n];if(t>=i&&t<=i+r.data.length)return{node:r,offset:t-i}}return null}var O=class extends r{constructor(...e){super(...e),this.variant=`ask`,this.text=``,this.placeholder=`Stel een vraag over de gegevens`,this.busy=!1,this.sendKey=x(),this.form=`auto`,this.optionsOpen=!1,this.plain=!1,this.draft=``,this.caret=0,this.completionIndex=0,this.completionOff=!1,this.captions=[],this.#e=new t(this),this.#t=!0,this.#n=[],this.#r=null,this.#a=!1}static{this.styles=[e(u),e(g),e(s)]}static{this.properties={variant:{type:String,reflect:!0},text:{type:String},placeholder:{type:String},busy:{type:Boolean,reflect:!0},recall:{type:String},sendKey:{type:String,attribute:`send-key`},form:{type:String},sources:{attribute:!1},vocabulary:{attribute:!1},draftTerms:{attribute:!1},optionsOpen:{type:Boolean,attribute:`options-open`,reflect:!0},plain:{type:Boolean,reflect:!0},draft:{state:!0},caret:{state:!0},completionIndex:{state:!0},completionOff:{state:!0},captions:{state:!0}}}#e;#t;#n;#r;#i;#a;get input(){return this.renderRoot.querySelector(`.lintje-chat-composer__input`)}get selectedIds(){return(this.sources??[]).filter(e=>e.selected).map(e=>e.id)}get noSource(){return this.variant===`ask`&&!!this.sources?.length&&!this.selectedIds.length}termsIn(e){return this.draftTerms&&this.draftTerms.text===e?this.draftTerms.ranges:p(e,this.vocabulary,this.sources?this.selectedIds:void 0)}get suggestions(){return this.completionOff||this.termsIn(this.draft).some(e=>e.end===this.caret)?[]:h(m(this.draft,this.caret),this.vocabulary)}disconnectedCallback(){this.clearHighlights(),this.#r?.disconnect(),this.#r=null,clearTimeout(this.#i),super.disconnectedCallback()}firstUpdated(){let e=this.input;e&&(e.contentEditable!==`plaintext-only`&&(e.contentEditable=`true`,this.#t=!1),typeof ResizeObserver<`u`&&(this.#r=new ResizeObserver(()=>this.paint()),this.#r.observe(e)))}willUpdate(e){if(super.willUpdate(e),!e.has(`busy`)||e.get(`busy`)===void 0)return;let t=this.renderRoot.querySelector(this.busy?`.lintje-chat-composer__send`:`.lintje-chat-composer__stop`);t&&a(t)&&(this.#a=!0)}updated(e){e.has(`text`)&&this.text!==this.draft&&this.write(this.text,void 0,!1),this.paint(),this.#a&&(this.#a=!1,this.focus())}focus(){this.write(this.draft)}openSources(){let e=this.renderRoot.querySelector(`lintje-multiselect`);e&&(e.open=!0)}selection(){return this.renderRoot.getSelection?.()??document.getSelection()}read(){let e=this.input;if(!e)return;let t=E(e);t.text===`
3
- `&&(e.textContent=``,t.text=``);let n=this.selection(),r=t.nodes.find(({node:e})=>e===n?.focusNode);this.draft=t.text,this.caret=r?r.start+(n?.focusOffset??0):t.text.length}write(e,t=e.length,n=!0){let r=this.input;if(r){if(E(r).text!==e&&(r.textContent=e),n){r.focus();let e=D(E(r),t);e&&this.selection()?.collapse(e.node,e.offset)}this.draft=e,this.caret=t}}onInput(){this.read(),this.completionOff=!1,this.completionIndex=0,clearTimeout(this.#i),this.#i=setTimeout(()=>this.emit(`lintje-draft-change`,{text:this.draft}),200)}onPaste(e){this.#t||(e.preventDefault(),document.execCommand(`insertText`,!1,e.clipboardData?.getData(`text/plain`)??``))}sends(e){if(e.key!==`Enter`||e.isComposing)return!1;let t=e.ctrlKey||e.metaKey;return(this.plain?`enter`:this.sendKey)===`enter`?!e.shiftKey&&!t:t}onKeydown(e){let t=this.suggestions;if(t.length&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){e.preventDefault();let n=e.key===`ArrowDown`?1:-1;this.completionIndex=(this.completionIndex+n+t.length)%t.length}else t.length&&(e.key===`Enter`||e.key===`Tab`)&&!e.isComposing?(e.preventDefault(),this.complete(t[Math.min(this.completionIndex,t.length-1)])):t.length&&e.key===`Escape`?(e.preventDefault(),this.completionOff=!0):this.sends(e)?(e.preventDefault(),this.send()):e.key===`Enter`&&!this.#t&&!e.isComposing?(e.preventDefault(),document.execCommand(`insertLineBreak`)):e.key===`Escape`?this.variant===`edit`?this.emitLocal(`lintje-cancel`):this.busy&&this.emit(`lintje-answer-stop`,{}):e.key===`ArrowUp`&&this.draft===``&&this.recall&&(e.preventDefault(),this.write(this.recall))}complete(e){let t=m(this.draft,this.caret),n=this.caret-t.length,r=`${this.draft.slice(0,n)}${e.label} ${this.draft.slice(this.caret)}`;this.write(r,n+e.label.length+1),this.completionOff=!0}send(){let e=this.draft.trim();if(!e||this.noSource||this.busy&&this.variant===`ask`)return;let t=this.termsFor(e);this.variant===`edit`?this.emitLocal(`lintje-submit`,{text:e,terms:t}):(this.emit(`lintje-message-send`,{text:e,terms:t,sources:this.selectedIds,form:this.form}),this.write(``))}termsFor(e){let t=this.draft.length-this.draft.trimStart().length;return this.termsIn(this.draft).map(e=>({...e,start:e.start-t,end:e.end-t})).filter(t=>t.start>=0&&t.end<=e.length)}clearHighlights(){if(w()){for(let{name:e,range:t}of this.#n)T(e).delete(t);this.#n=[]}}paint(){let e=this.input,t=this.renderRoot.querySelector(`.lintje-chat-composer__field`);if(!e||!t||!w())return;this.clearHighlights();let n=E(e),r=t.getBoundingClientRect(),i=[];for(let e of this.termsIn(n.text)){let a=D(n,e.start),o=D(n,e.end);if(!a||!o)continue;let s=new Range;s.setStart(a.node,a.offset),s.setEnd(o.node,o.offset);let c=e.certain===!1?C:S;T(c).add(s),this.#n.push({name:c,range:s});let l=s.getClientRects()[0];e.kind&&l&&i.push({left:Math.round(l.left-r.left+t.scrollLeft),top:Math.round(l.top-r.top+t.scrollTop),kind:e.kind,certain:e.certain!==!1})}i.forEach((e,t)=>{let n=i[t+1];n&&n.top===e.top&&(e.room=Math.max(0,n.left-e.left-4))}),JSON.stringify(i)!==JSON.stringify(this.captions)&&(this.captions=i)}setSendKey(e){this.sendKey=e;try{localStorage.setItem(y,e)}catch{}}async toggleOptions(e){this.optionsOpen=e,await this.updateComplete;let t=this.renderRoot.querySelector(e?`.lintje-chat-composer__options`:`.lintje-chat-composer__options-toggle`);(t?.shadowRoot?.querySelector(`button`)??t)?.focus()}render(){let e=this.suggestions,t=Math.min(this.completionIndex,e.length-1),r=this.termsIn(this.draft).map(e=>{let t=this.draft.slice(e.start,e.end),n=[e.kind,e.certain===!1?`niet zeker`:``].filter(Boolean);return n.length?`${t} (${n.join(`, `)})`:t}).join(`, `);return o`<div class="lintje-chat-composer lintje-chat-composer--${this.variant}">
4
- ${e.length?o`<div
1
+ import{Et as e,Qt as t,cn as n,ct as r,en as i,on as a,pt as o,rn as s,rt as c,sn as l,tn as u}from"../chunks/base-BsZyWDre.js";import"./radio-group.js";import{t as d}from"../chunks/key-CAxrgBxD.js";import"./multiselect.js";function f(e,t=[]){let n=[],r=0;for(let i of[...t].sort((e,t)=>e.start-t.start))i.start<r||i.end<=i.start||i.end>e.length||(i.start>r&&n.push({text:e.slice(r,i.start)}),n.push({text:e.slice(i.start,i.end),term:i}),r=i.end);return r<e.length&&n.push({text:e.slice(r)}),n}var p=/[\p{L}\p{N}]/u;function m(e,t=[],n){let r=e.toLowerCase(),i=t.flatMap(e=>[e.label,...e.aliases??[]].map(t=>({word:t,term:e}))).filter(({word:e})=>e.trim()!==``).sort((e,t)=>t.word.length-e.word.length),a=[];for(let{word:t,term:o}of i){let i=t.toLowerCase();for(let t=r.indexOf(i);t!==-1;t=r.indexOf(i,t+1)){let r=t+i.length;if(t>0&&p.test(e[t-1])||r<e.length&&p.test(e[r])||a.some(e=>t<e.end&&r>e.start))continue;let s=o.source!==void 0&&n!==void 0&&!n.includes(o.source);a.push({start:t,end:r,kind:o.kind,certain:!(o.ambiguous||s)})}}return a.sort((e,t)=>e.start-t.start)}function h(e,t=e.length){return/\S*$/.exec(e.slice(0,t))?.[0]??``}function g(e,t=[]){let n=e.toLowerCase();return n?t.filter(e=>{let t=e.label.toLowerCase();return t!==n&&t.split(/\s+/).some(e=>e.startsWith(n))}).slice(0,5):[]}var _=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-composer{position:relative}.lintje-chat-composer__frame{background:var(--color-bg-surface);border:1px solid var(--color-border-field);flex-direction:column;display:flex}.lintje-chat-composer__field{max-height:calc(var(--h-control) * 4 + var(--space-5));position:relative;overflow-y:auto}.lintje-chat-composer__input{min-height:calc(var(--h-control) + var(--space-5));padding:var(--space-3) var(--space-4) var(--space-2);font:var(--text-body);line-height:var(--h-control);color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere;display:block}.lintje-chat-composer__input.is-empty:before{content:attr(data-placeholder);content:attr(data-placeholder) / "";color:var(--color-text-placeholder);opacity:1;pointer-events:none;position:absolute}@supports selector(:has(*)){.lintje-chat-composer__input:focus-visible{outline:none}.lintje-chat-composer__frame:has(.lintje-chat-composer__input:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}}.lintje-chat-composer__input::highlight(lintje-term){background-color:var(--color-term-bg);text-decoration:underline solid var(--color-term-line);text-underline-offset:var(--space-1);text-decoration-thickness:2px}.lintje-chat-composer__input::highlight(lintje-term-uncertain){text-decoration:underline dashed var(--color-border-suggestion);text-underline-offset:var(--space-1);text-decoration-thickness:2px}.lintje-chat-composer__captions{pointer-events:none;position:absolute;inset:0}.lintje-chat-composer__caption{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;color:var(--color-accent-text);line-height:1;position:absolute;overflow:hidden;transform:translateY(-100%)}.lintje-chat-composer__caption.is-uncertain{color:var(--color-text-muted)}.lintje-chat-composer__bar{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-2);flex-wrap:wrap;display:flex}.lintje-chat-composer__sources{flex:0 auto;width:auto;min-width:0}.lintje-chat-composer__hint{min-width:0;font:var(--text-small);color:var(--color-text-muted);text-align:right;flex:auto}.lintje-chat-composer__send{flex:none;gap:1px;display:flex;position:relative}.lintje-chat-composer__send-half{--h-icon-button:var(--h-button)}.lintje-chat-composer__scrim{z-index:45;position:fixed;inset:0}.lintje-chat-composer__options{right:0;bottom:calc(100% + var(--space-2));z-index:46;width:320px;max-width:calc(100vw - 2 * var(--space-4));gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-popover);box-shadow:var(--shadow-popover);color:var(--color-text-primary);animation:lintje-rise var(--dur-popover) var(--ease-in-motion);flex-direction:column;display:flex;position:absolute}.lintje-chat-composer__shortcuts{gap:var(--space-2);flex-direction:column;display:flex}.lintje-chat-composer__shortcuts-label{font:var(--text-small);font-weight:700}.lintje-chat-composer__keys{align-items:center;gap:var(--space-2) var(--space-3);font:var(--text-ui);grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.lintje-chat-composer__key{margin:0}.lintje-chat-composer__completions{left:0;bottom:calc(100% + var(--space-2));z-index:46;background:var(--color-bg-surface);border:1px solid var(--color-border-popover);width:360px;max-width:100%;box-shadow:var(--shadow-popover);animation:lintje-rise var(--dur-popover) var(--ease-in-motion);position:absolute}.lintje-chat-composer__completion{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--h-option);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-default);font:var(--text-ui);color:var(--color-text-primary);cursor:pointer;display:flex}.lintje-chat-composer__completion:last-child{border-bottom:0}.lintje-chat-composer__completion:hover,.lintje-chat-composer__completion.is-active{background:var(--color-bg-subtle)}.lintje-chat-composer__completion-kind{font:var(--text-small);color:var(--color-text-muted)}@media screen and (width<=767px){.lintje-chat-composer__input{padding:var(--space-3) var(--space-3) var(--space-1)}.lintje-chat-composer__hint:not(:empty){text-align:left;flex-basis:100%;order:-1}}@media (forced-colors:active){.lintje-chat-composer__completion.is-active{outline-offset:-1px;outline:1px solid highlight}}`,v=[{value:`auto`,label:`Automatisch (de assistent kiest)`},{value:`text`,label:`Alleen tekst`},{value:`chart`,label:`Met grafiek`},{value:`table`,label:`Als tabel`}],y=[{value:`enter`,label:`Enter (Shift+Enter: nieuwe regel)`},{value:`ctrl-enter`,label:`Ctrl+Enter (Enter: nieuwe regel)`}],b=`lintje-chat-send-key`,x={enter:`Enter verstuurt, Shift+Enter begint een nieuwe regel.`,"ctrl-enter":`Ctrl+Enter verstuurt, Enter begint een nieuwe regel.`};function S(){try{return localStorage.getItem(b)===`ctrl-enter`?`ctrl-enter`:`enter`}catch{return`enter`}}var C=`lintje-term`,w=`lintje-term-uncertain`,T=()=>typeof CSS<`u`&&`highlights`in CSS&&typeof Highlight<`u`;function E(e){let t=CSS.highlights.get(e);return t||(t=new Highlight,CSS.highlights.set(e,t)),t}function D(e){let t=[],n=``,r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT);for(let e=r.nextNode();e;e=r.nextNode())e.nodeType===Node.TEXT_NODE?(t.push({node:e,start:n.length}),n+=e.data):e.localName===`br`&&(n+=`
2
+ `);return{text:n,nodes:t}}function O(e,t){for(let n=e.nodes.length-1;n>=0;n--){let{node:r,start:i}=e.nodes[n];if(t>=i&&t<=i+r.data.length)return{node:r,offset:t-i}}return null}var k=t=>n`<span
3
+ class=${o({"lintje-chat-composer__caption":!0,"is-uncertain":!t.certain})}
4
+ ${e({left:`${t.left}px`,top:`${t.top}px`,maxWidth:t.room===void 0?null:`${t.room}px`})}
5
+ >${t.kind}</span
6
+ >`,A=class extends i{constructor(...e){super(...e),this.variant=`ask`,this.text=``,this.placeholder=`Stel een vraag over de gegevens`,this.busy=!1,this.sendKey=S(),this.form=`auto`,this.optionsOpen=!1,this.plain=!1,this.draft=``,this.caret=0,this.completionIndex=0,this.completionOff=!1,this.#e=[],this.#t=null,this.#n=new t(this),this.#r=!0,this.#i=[],this.#a=null,this.#s=!1,this.#c=!1}static{this.styles=[s(d),s(_),s(r)]}static{this.properties={variant:{type:String,reflect:!0},text:{type:String},placeholder:{type:String},busy:{type:Boolean,reflect:!0},recall:{type:String},sendKey:{type:String,attribute:`send-key`},form:{type:String},sources:{attribute:!1},vocabulary:{attribute:!1},draftTerms:{attribute:!1},optionsOpen:{type:Boolean,attribute:`options-open`,reflect:!0},plain:{type:Boolean,reflect:!0},draft:{state:!0},caret:{state:!0},completionIndex:{state:!0},completionOff:{state:!0}}}#e;#t;#n;#r;#i;#a;#o;#s;#c;get input(){return this.renderRoot.querySelector(`.lintje-chat-composer__input`)}get selectedIds(){return(this.sources??[]).filter(e=>e.selected).map(e=>e.id)}get noSource(){return this.variant===`ask`&&!!this.sources?.length&&!this.selectedIds.length}termsIn(e){return this.draftTerms&&this.draftTerms.text===e?this.draftTerms.ranges:m(e,this.vocabulary,this.sources?this.selectedIds:void 0)}get suggestions(){return this.completionOff||this.termsIn(this.draft).some(e=>e.end===this.caret)?[]:g(h(this.draft,this.caret),this.vocabulary)}disconnectedCallback(){this.clearHighlights(),this.#a?.disconnect(),this.#a=null,clearTimeout(this.#o),super.disconnectedCallback()}firstUpdated(){let e=this.input;e&&(e.contentEditable!==`plaintext-only`&&(e.contentEditable=`true`,this.#r=!1),typeof ResizeObserver<`u`&&(this.#a=new ResizeObserver(()=>this.paint()),this.#a.observe(e)))}willUpdate(e){if(super.willUpdate(e),e.has(`text`)&&this.text!==this.draft&&(this.draft=this.text,this.caret=this.text.length,this.#c=!0),!e.has(`busy`)||e.get(`busy`)===void 0)return;let t=this.renderRoot.querySelector(this.busy?`.lintje-chat-composer__send`:`.lintje-chat-composer__stop`);t&&c(t)&&(this.#s=!0)}updated(){this.#c&&(this.#c=!1,this.write(this.draft,void 0,!1)),this.paint(),this.#s&&(this.#s=!1,this.focus())}focus(){this.write(this.draft)}openSources(){let e=this.renderRoot.querySelector(`lintje-multiselect`);e&&(e.open=!0)}selection(){return this.renderRoot.getSelection?.()??document.getSelection()}read(){let e=this.input;if(!e)return;let t=D(e);t.text===`
7
+ `&&(e.textContent=``,t.text=``);let n=this.selection(),r=t.nodes.find(({node:e})=>e===n?.focusNode);this.draft=t.text,this.caret=r?r.start+(n?.focusOffset??0):t.text.length}write(e,t=e.length,n=!0){let r=this.input;if(r){if(D(r).text!==e&&(r.textContent=e),n){r.focus();let e=O(D(r),t);e&&this.selection()?.collapse(e.node,e.offset)}this.draft=e,this.caret=t}}onInput(){this.read(),this.completionOff=!1,this.completionIndex=0,clearTimeout(this.#o),this.#o=setTimeout(()=>this.emit(`lintje-draft-change`,{text:this.draft}),200)}onPaste(e){this.#r||(e.preventDefault(),document.execCommand(`insertText`,!1,e.clipboardData?.getData(`text/plain`)??``))}sends(e){if(e.key!==`Enter`||e.isComposing)return!1;let t=e.ctrlKey||e.metaKey;return(this.plain?`enter`:this.sendKey)===`enter`?!e.shiftKey&&!t:t}onKeydown(e){let t=this.suggestions;if(t.length&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){e.preventDefault();let n=e.key===`ArrowDown`?1:-1;this.completionIndex=(this.completionIndex+n+t.length)%t.length}else t.length&&(e.key===`Enter`||e.key===`Tab`)&&!e.isComposing?(e.preventDefault(),this.complete(t[Math.min(this.completionIndex,t.length-1)])):t.length&&e.key===`Escape`?(e.preventDefault(),this.completionOff=!0):this.sends(e)?(e.preventDefault(),this.send()):e.key===`Enter`&&!this.#r&&!e.isComposing?(e.preventDefault(),document.execCommand(`insertLineBreak`)):e.key===`Escape`?this.variant===`edit`?this.emitLocal(`lintje-cancel`):this.busy&&this.emit(`lintje-answer-stop`,{}):e.key===`ArrowUp`&&this.draft===``&&this.recall&&(e.preventDefault(),this.write(this.recall))}complete(e){let t=h(this.draft,this.caret),n=this.caret-t.length,r=`${this.draft.slice(0,n)}${e.label} ${this.draft.slice(this.caret)}`;this.write(r,n+e.label.length+1),this.completionOff=!0}send(){let e=this.draft.trim();if(!e||this.noSource||this.busy&&this.variant===`ask`)return;let t=this.termsFor(e);this.variant===`edit`?this.emitLocal(`lintje-submit`,{text:e,terms:t}):(this.emit(`lintje-message-send`,{text:e,terms:t,sources:this.selectedIds,form:this.form}),this.write(``))}termsFor(e){let t=this.draft.length-this.draft.trimStart().length;return this.termsIn(this.draft).map(e=>({...e,start:e.start-t,end:e.end-t})).filter(t=>t.start>=0&&t.end<=e.length)}clearHighlights(){if(T()){for(let{name:e,range:t}of this.#i)E(e).delete(t);this.#i=[]}}paint(){let e=this.input,t=this.renderRoot.querySelector(`.lintje-chat-composer__field`);if(!e||!t||!T())return;this.clearHighlights();let n=D(e),r=t.getBoundingClientRect(),i=[];for(let e of this.termsIn(n.text)){let a=O(n,e.start),o=O(n,e.end);if(!a||!o)continue;let s=new Range;s.setStart(a.node,a.offset),s.setEnd(o.node,o.offset);let c=e.certain===!1?w:C;E(c).add(s),this.#i.push({name:c,range:s});let l=s.getClientRects()[0];e.kind&&l&&i.push({left:Math.round(l.left-r.left+t.scrollLeft),top:Math.round(l.top-r.top+t.scrollTop),kind:e.kind,certain:e.certain!==!1})}i.forEach((e,t)=>{let n=i[t+1];n&&n.top===e.top&&(e.room=Math.max(0,n.left-e.left-4))});let a=this.renderRoot.querySelector(`.lintje-chat-composer__captions`);a&&(a!==this.#t||JSON.stringify(i)!==JSON.stringify(this.#e))&&(this.#t=a,this.#e=i,l(i.map(k),a))}setSendKey(e){this.sendKey=e;try{localStorage.setItem(b,e)}catch{}}async toggleOptions(e){this.optionsOpen=e,await this.updateComplete;let t=this.renderRoot.querySelector(e?`.lintje-chat-composer__options`:`.lintje-chat-composer__options-toggle`);(t?.shadowRoot?.querySelector(`button`)??t)?.focus()}render(){let e=this.suggestions,t=Math.min(this.completionIndex,e.length-1),r=this.termsIn(this.draft).map(e=>{let t=this.draft.slice(e.start,e.end),n=[e.kind,e.certain===!1?`niet zeker`:``].filter(Boolean);return n.length?`${t} (${n.join(`, `)})`:t}).join(`, `);return n`<div class="lintje-chat-composer lintje-chat-composer--${this.variant}">
8
+ ${e.length?n`<div
5
9
  id="completions"
6
10
  class="lintje-chat-composer__completions"
7
11
  role="listbox"
8
12
  aria-label="Aanvullen"
9
13
  >
10
- ${e.map((e,n)=>o`<div
11
- id="completion-${n}"
12
- class=${c({"lintje-chat-composer__completion":!0,"is-active":n===t})}
14
+ ${e.map((e,r)=>n`<div
15
+ id="completion-${r}"
16
+ class=${o({"lintje-chat-composer__completion":!0,"is-active":r===t})}
13
17
  role="option"
14
- aria-selected=${String(n===t)}
18
+ aria-selected=${String(r===t)}
15
19
  @mousedown=${t=>{t.preventDefault(),this.complete(e)}}
16
20
  >
17
21
  <span>${e.label}</span>
18
22
  <span class="lintje-chat-composer__completion-kind">${e.kind}</span>
19
23
  </div>`)}
20
- </div>`:l}
24
+ </div>`:a}
21
25
  <div class="lintje-chat-composer__frame">
22
26
  <div class="lintje-chat-composer__field">
23
27
  <div
24
- class=${c({"lintje-chat-composer__input":!0,"is-empty":this.draft===``})}
28
+ class=${o({"lintje-chat-composer__input":!0,"is-empty":this.draft===``})}
25
29
  contenteditable="plaintext-only"
26
30
  role="textbox"
27
31
  aria-multiline="true"
28
32
  aria-label=${this.variant===`edit`?`Je vraag bewerken`:`Je vraag`}
29
33
  aria-describedby="hint send-key"
30
34
  aria-placeholder=${this.placeholder}
31
- aria-autocomplete=${this.vocabulary?.length?`list`:l}
32
- aria-controls=${e.length?`completions`:l}
33
- aria-activedescendant=${e.length?`completion-${t}`:l}
35
+ aria-autocomplete=${this.vocabulary?.length?`list`:a}
36
+ aria-controls=${e.length?`completions`:a}
37
+ aria-activedescendant=${e.length?`completion-${t}`:a}
34
38
  data-placeholder=${this.placeholder}
35
39
  @input=${this.onInput}
36
40
  @keydown=${this.onKeydown}
@@ -38,23 +42,17 @@ import{$t as e,Jt as t,St as n,Xt as r,Zt as i,et as a,in as o,it as s,lt as c,n
38
42
  @mouseup=${this.read}
39
43
  @paste=${this.onPaste}
40
44
  ></div>
41
- <div class="lintje-chat-composer__captions" aria-hidden="true">
42
- ${this.captions.map(e=>o`<span
43
- class=${c({"lintje-chat-composer__caption":!0,"is-uncertain":!e.certain})}
44
- ${n({left:`${e.left}px`,top:`${e.top}px`,maxWidth:e.room===void 0?null:`${e.room}px`})}
45
- >${e.kind}</span
46
- >`)}
47
- </div>
45
+ <div class="lintje-chat-composer__captions" aria-hidden="true"></div>
48
46
  </div>
49
47
  <span id="send-key" class="visually-hidden"
50
- >${b[this.plain?`enter`:this.sendKey]}</span
48
+ >${x[this.plain?`enter`:this.sendKey]}</span
51
49
  >
52
50
  <span class="visually-hidden" aria-live="polite">${r?`Herkend: ${r}`:``}</span>
53
51
  <div class="lintje-chat-composer__bar">
54
52
  ${this.variant===`edit`?this.renderEdit():this.renderAsk()}
55
53
  </div>
56
54
  </div>
57
- </div>`}renderAsk(){let e=this.sources??[],t=this.draft.trim()===``;return o`${e.length?o`<lintje-multiselect
55
+ </div>`}renderAsk(){let e=this.sources??[],t=this.draft.trim()===``;return n`${e.length?n`<lintje-multiselect
58
56
  class="lintje-chat-composer__sources"
59
57
  label="Bronnen voor je volgende vraag"
60
58
  hide-label
@@ -62,32 +60,32 @@ import{$t as e,Jt as t,St as n,Xt as r,Zt as i,et as a,in as o,it as s,lt as c,n
62
60
  .options=${e.map(e=>({value:e.id,label:e.label,description:[e.description,e.asOf].filter(Boolean).join(` · `)}))}
63
61
  .selected=${this.selectedIds}
64
62
  @lintje-change=${e=>{e.stopPropagation(),this.emit(`lintje-sources-change`,{ids:e.detail})}}
65
- ></lintje-multiselect>`:l}
63
+ ></lintje-multiselect>`:a}
66
64
  <span id="hint" class="lintje-chat-composer__hint" role="status"
67
65
  >${this.noSource?`Kies eerst een bron om een vraag te stellen`:``}</span
68
66
  >
69
- ${this.busy?o`<lintje-button
67
+ ${this.busy?n`<lintje-button
70
68
  class="lintje-chat-composer__stop"
71
69
  variant="secondary"
72
70
  icon="multimedia-player-stop"
73
71
  @click=${()=>this.emit(`lintje-answer-stop`,{})}
74
72
  >Stoppen</lintje-button
75
- >`:o`<div class="lintje-chat-composer__send">
76
- ${this.#e.matches?o`<lintje-icon-button
73
+ >`:n`<div class="lintje-chat-composer__send">
74
+ ${this.#n.matches?n`<lintje-icon-button
77
75
  class="lintje-chat-composer__send-half"
78
76
  icon="functioneel-verzenden"
79
77
  label="Versturen"
80
78
  active
81
79
  ?disabled=${t||this.noSource}
82
80
  @click=${()=>this.send()}
83
- ></lintje-icon-button>`:o`<lintje-button
81
+ ></lintje-icon-button>`:n`<lintje-button
84
82
  variant="primary"
85
83
  icon="functioneel-verzenden"
86
84
  ?disabled=${t||this.noSource}
87
85
  @click=${()=>this.send()}
88
86
  >Versturen</lintje-button
89
87
  >`}
90
- ${this.plain?l:o`<lintje-icon-button
88
+ ${this.plain?a:n`<lintje-icon-button
91
89
  class="lintje-chat-composer__send-half lintje-chat-composer__options-toggle"
92
90
  icon="functioneel-delta-omlaag"
93
91
  label="Opties bij versturen"
@@ -95,8 +93,8 @@ import{$t as e,Jt as t,St as n,Xt as r,Zt as i,et as a,in as o,it as s,lt as c,n
95
93
  .expanded=${this.optionsOpen}
96
94
  @click=${()=>this.toggleOptions(!this.optionsOpen)}
97
95
  ></lintje-icon-button>
98
- ${this.optionsOpen?this.renderSendOptions():l}`}
99
- </div>`}`}renderSendOptions(){return o`<span
96
+ ${this.optionsOpen?this.renderSendOptions():a}`}
97
+ </div>`}`}renderSendOptions(){return n`<span
100
98
  class="lintje-chat-composer__scrim"
101
99
  @click=${()=>this.toggleOptions(!1)}
102
100
  ></span>
@@ -109,13 +107,13 @@ import{$t as e,Jt as t,St as n,Xt as r,Zt as i,et as a,in as o,it as s,lt as c,n
109
107
  >
110
108
  <lintje-radio-group
111
109
  label="Antwoord als"
112
- .options=${_}
110
+ .options=${v}
113
111
  value=${this.form}
114
112
  @lintje-change=${e=>{e.stopPropagation(),this.form=e.detail}}
115
113
  ></lintje-radio-group>
116
114
  <lintje-radio-group
117
115
  label="Versturen met"
118
- .options=${v}
116
+ .options=${y}
119
117
  value=${this.sendKey}
120
118
  @lintje-change=${e=>{e.stopPropagation(),this.setSendKey(e.detail)}}
121
119
  ></lintje-radio-group>
@@ -128,7 +126,7 @@ import{$t as e,Jt as t,St as n,Xt as r,Zt as i,et as a,in as o,it as s,lt as c,n
128
126
  <dd class="lintje-chat-composer__key"><kbd class="lintje-key">Esc</kbd></dd>
129
127
  </dl>
130
128
  </div>
131
- </div>`}renderEdit(){return o`<span id="hint" class="lintje-chat-composer__hint"></span>
129
+ </div>`}renderEdit(){return n`<span id="hint" class="lintje-chat-composer__hint"></span>
132
130
  <lintje-button variant="tertiary" size="chrome" @click=${()=>this.emitLocal(`lintje-cancel`)}
133
131
  >Annuleren</lintje-button
134
132
  >
@@ -138,4 +136,4 @@ import{$t as e,Jt as t,St as n,Xt as r,Zt as i,et as a,in as o,it as s,lt as c,n
138
136
  ?disabled=${this.draft.trim()===``}
139
137
  @click=${()=>this.send()}
140
138
  >Opnieuw vragen</lintje-button
141
- >`}};i(`lintje-chat-composer`,O);export{O as LintjeChatComposer,d as t};
139
+ >`}};u(`lintje-chat-composer`,A);export{A as LintjeChatComposer,f as t};
@@ -1,23 +1,23 @@
1
- import{$t as e,Xt as t,Zt as n,in as r,lt as i,nn as a}from"../chunks/base-DuuwEY22.js";import{t as o}from"./chat-composer.js";var s=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-message{align-items:center;gap:var(--space-2);max-width:var(--w-message);flex-direction:row-reverse;margin-left:auto;display:flex}.lintje-chat-message__text{min-width:0;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);font:var(--text-body);color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.lintje-chat-message__meta{align-items:center;gap:var(--space-2);flex-direction:row-reverse;flex:none;display:flex}.lintje-chat-message__time{font:var(--text-small);color:var(--color-text-muted)}.lintje-chat-message__term{text-decoration:underline solid var(--color-term-line);text-underline-offset:var(--space-1);text-decoration-thickness:2px}.lintje-chat-message__term.is-uncertain{text-decoration-style:dashed;text-decoration-color:var(--color-border-suggestion)}.lintje-chat-message--editing{align-items:flex-end;gap:var(--space-2);flex-direction:column;width:100%}.lintje-chat-message__head{align-items:baseline;gap:var(--space-2);display:flex}.lintje-chat-message__label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-text-muted)}.lintje-chat-message__frame{align-self:stretch}.lintje-chat-message__note{font:var(--text-small);color:var(--color-text-muted)}@media screen and (width<=767px){.lintje-chat-message{margin-left:var(--space-10);flex-direction:column;align-items:flex-end}.lintje-chat-message--editing{margin-left:0}}@media (forced-colors:active){.lintje-chat-message__text{outline-offset:-1px;outline:1px solid canvastext}}`,c=class extends t{constructor(...e){super(...e),this.text=``,this.editable=!1,this.editing=!1}static{this.styles=e(s)}static{this.properties={text:{type:String},terms:{attribute:!1},time:{type:String},editable:{type:Boolean},editing:{type:Boolean,reflect:!0},turnId:{type:String,attribute:`turn-id`},vocabulary:{attribute:!1},sources:{attribute:!1}}}async setEditing(e){this.editing=e,this.emitLocal(`lintje-editing-change`,{turnId:this.turnId??null,editing:e}),await this.updateComplete;let t=this.renderRoot.querySelector(e?`lintje-chat-composer`:`.lintje-chat-message__edit`);e&&await t?.updateComplete,(t?.shadowRoot?.querySelector(`button`)??t)?.focus()}render(){return this.editing?this.renderEditing():this.renderSent()}renderSent(){return r`<div class="lintje-chat-message">
1
+ import{cn as e,en as t,on as n,pt as r,rn as i,tn as a}from"../chunks/base-BsZyWDre.js";import{t as o}from"./chat-composer.js";var s=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-message{align-items:center;gap:var(--space-2);max-width:var(--w-message);flex-direction:row-reverse;margin-left:auto;display:flex}.lintje-chat-message__text{min-width:0;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);font:var(--text-body);color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.lintje-chat-message__meta{align-items:center;gap:var(--space-2);flex-direction:row-reverse;flex:none;display:flex}.lintje-chat-message__time{font:var(--text-small);color:var(--color-text-muted)}.lintje-chat-message__term{text-decoration:underline solid var(--color-term-line);text-underline-offset:var(--space-1);text-decoration-thickness:2px}.lintje-chat-message__term.is-uncertain{text-decoration-style:dashed;text-decoration-color:var(--color-border-suggestion)}.lintje-chat-message--editing{align-items:flex-end;gap:var(--space-2);flex-direction:column;width:100%}.lintje-chat-message__head{align-items:baseline;gap:var(--space-2);display:flex}.lintje-chat-message__label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-text-muted)}.lintje-chat-message__frame{align-self:stretch}.lintje-chat-message__note{font:var(--text-small);color:var(--color-text-muted)}@media screen and (width<=767px){.lintje-chat-message{margin-left:var(--space-10);flex-direction:column;align-items:flex-end}.lintje-chat-message--editing{margin-left:0}}@media (forced-colors:active){.lintje-chat-message__text{outline-offset:-1px;outline:1px solid canvastext}}`,c=class extends t{constructor(...e){super(...e),this.text=``,this.editable=!1,this.editing=!1}static{this.styles=i(s)}static{this.properties={text:{type:String},terms:{attribute:!1},time:{type:String},editable:{type:Boolean},editing:{type:Boolean,reflect:!0},turnId:{type:String,attribute:`turn-id`},vocabulary:{attribute:!1},sources:{attribute:!1}}}async setEditing(e){this.editing=e,this.emitLocal(`lintje-editing-change`,{turnId:this.turnId??null,editing:e}),await this.updateComplete;let t=this.renderRoot.querySelector(e?`lintje-chat-composer`:`.lintje-chat-message__edit`);e&&await t?.updateComplete,(t?.shadowRoot?.querySelector(`button`)??t)?.focus()}render(){return this.editing?this.renderEditing():this.renderSent()}renderSent(){return e`<div class="lintje-chat-message">
2
2
  <p class="lintje-chat-message__text">${this.renderText()}</p>
3
3
  <div class="lintje-chat-message__meta">
4
- ${this.editable?r`<lintje-icon-button
4
+ ${this.editable?e`<lintje-icon-button
5
5
  class="lintje-chat-message__edit"
6
6
  icon="functioneel-bewerken"
7
7
  label="Vraag bewerken"
8
8
  variant="flat"
9
9
  @click=${()=>this.setEditing(!0)}
10
- ></lintje-icon-button>`:a}
11
- ${this.time?r`<span class="lintje-chat-message__time">${this.time}</span>`:a}
10
+ ></lintje-icon-button>`:n}
11
+ ${this.time?e`<span class="lintje-chat-message__time">${this.time}</span>`:n}
12
12
  </div>
13
- </div>`}renderText(){let e=o(this.text,this.terms).map(e=>e.term?r`<span
14
- class=${i({"lintje-chat-message__term":!0,"is-uncertain":e.term.certain===!1})}
15
- title=${e.term.kind??a}
16
- >${e.text}</span
17
- >`:e.text);return r`<span class="visually-hidden">Jij: </span>${e}`}renderEditing(){return r`<div class="lintje-chat-message lintje-chat-message--editing">
13
+ </div>`}renderText(){let t=o(this.text,this.terms).map(t=>t.term?e`<span
14
+ class=${r({"lintje-chat-message__term":!0,"is-uncertain":t.term.certain===!1})}
15
+ title=${t.term.kind??n}
16
+ >${t.text}</span
17
+ >`:t.text);return e`<span class="visually-hidden">Jij: </span>${t}`}renderEditing(){return e`<div class="lintje-chat-message lintje-chat-message--editing">
18
18
  <div class="lintje-chat-message__head">
19
19
  <span class="lintje-chat-message__label">Jij, bewerken</span>
20
- ${this.time?r`<span class="lintje-chat-message__time">${this.time}</span>`:a}
20
+ ${this.time?e`<span class="lintje-chat-message__time">${this.time}</span>`:n}
21
21
  </div>
22
22
  <lintje-chat-composer
23
23
  class="lintje-chat-message__frame"
@@ -31,4 +31,4 @@ import{$t as e,Xt as t,Zt as n,in as r,lt as i,nn as a}from"../chunks/base-DuuwE
31
31
  <p class="lintje-chat-message__note">
32
32
  Het antwoord hieronder en alles wat erna kwam worden vervangen.
33
33
  </p>
34
- </div>`}};n(`lintje-chat-message`,c);export{c as LintjeChatMessage};
34
+ </div>`}};a(`lintje-chat-message`,c);export{c as LintjeChatMessage};
@@ -1,36 +1,36 @@
1
- import{$t as e,Xt as t,Zt as n,dt as r,ft as i,in as a,lt as o,nn as s}from"../chunks/base-DuuwEY22.js";import{t as c}from"../chunks/disclosure-DjLQzn9n.js";var l=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-strip{border-top:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);color:var(--color-text-primary)}.lintje-chat-strip__row{align-items:flex-end;gap:var(--space-2) var(--space-6);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.lintje-chat-strip__items{align-items:flex-end;gap:var(--space-2) var(--space-6);flex-wrap:wrap;flex:auto;min-width:0;margin:0;display:flex}.lintje-chat-strip__item{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.lintje-chat-strip__label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-text-muted)}.lintje-chat-strip__value{min-width:0;font:var(--text-ui);margin:0}.lintje-chat-strip__text,.lintje-chat-strip__term,.lintje-chat-strip__suggestion{min-height:var(--h-chip-field);font:var(--text-ui);color:var(--color-text-primary);align-items:center;display:inline-flex}.lintje-chat-strip__term,.lintje-chat-strip__suggestion.is-pressed{background:var(--color-term-bg);border-bottom:2px solid var(--color-term-line)}.lintje-chat-strip__term{gap:var(--space-1);padding:0 0 0 var(--space-1);position:relative}.lintje-chat-strip__select{inset:min(0px, calc((100% - var(--h-target)) / 2)) 0;opacity:0;cursor:pointer;appearance:none;width:100%;height:auto;position:absolute}.lintje-chat-strip__term:focus-within{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.lintje-chat-strip__suggestion,.lintje-chat-strip__toggle{position:relative}.lintje-chat-strip__suggestion:after,.lintje-chat-strip__toggle:after{content:"";inset:min(0px, calc((100% - var(--h-target)) / 2)) 0;position:absolute}.lintje-chat-strip__suggestion{padding:0 var(--space-1);border-bottom:2px dashed var(--color-border-suggestion);transition:background var(--dur-hover)}.lintje-chat-strip__suggestion:hover{background:var(--color-bg-subtle)}.lintje-chat-strip__suggestion.is-pressed:hover{background:var(--color-term-bg)}.lintje-chat-strip__toggle{align-items:center;gap:var(--space-1);min-height:var(--h-chip-field);font:var(--text-small);color:var(--color-text-primary);margin-left:auto;font-weight:700;display:inline-flex}.lintje-chat-strip__details{gap:var(--space-2) var(--space-4);padding:0 0 var(--space-3);font:var(--text-ui);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.lintje-chat-strip__detail{display:contents}.lintje-chat-strip__detail-term{color:var(--color-text-muted)}.lintje-chat-strip__detail-text{color:var(--color-text-primary);margin:0}@media screen and (width<=767px){.lintje-chat-strip__row{padding:var(--space-1) 0 0;display:block}.lintje-chat-strip__items{gap:0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.lintje-chat-strip__item{min-height:var(--h-touch);justify-content:center}.lintje-chat-strip__item--fixed{grid-column:1/-1}.lintje-chat-strip__select,.lintje-chat-strip__suggestion:after{inset:calc(var(--space-6) * -1) 0 calc(var(--space-2) * -1)}.lintje-chat-strip__toggle{width:100%;min-height:var(--h-touch);margin:var(--space-1) 0 0;border-top:1px solid var(--color-border-default);font:var(--text-ui);justify-content:space-between;font-weight:700}.lintje-chat-strip__details{grid-template-columns:minmax(0,1fr);gap:0}.lintje-chat-strip__detail-text{margin-bottom:var(--space-2)}}`,u=class extends t{constructor(...e){super(...e),this.detailsLabel=`Berekening`,this.disabled=!1,this.open=!1}static{this.styles=[r,e(c),e(l)]}static{this.properties={items:{attribute:!1},details:{attribute:!1},detailsLabel:{type:String,attribute:`details-label`},disabled:{type:Boolean,reflect:!0},turnId:{type:String,attribute:`turn-id`},open:{type:Boolean,reflect:!0}}}change(e,t){this.emit(`lintje-strip-change`,{turnId:this.turnId??null,key:e,value:t})}updated(){for(let e of this.renderRoot.querySelectorAll(`select`))e.value=e.dataset.value??``}value(e){if(e.options&&!this.disabled){let t=e.options.find(t=>t.value===e.value);return a`<span class="lintje-chat-strip__term">
2
- <span class="lintje-chat-strip__term-text">${t?.label??e.value}</span>
3
- ${i(`functioneel-delta-omlaag`,{size:16})}
1
+ import{cn as e,en as t,gt as n,ht as r,on as i,pt as a,rn as o,tn as s}from"../chunks/base-BsZyWDre.js";import{t as c}from"../chunks/disclosure-DjLQzn9n.js";var l=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-strip{border-top:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);color:var(--color-text-primary)}.lintje-chat-strip__row{align-items:flex-end;gap:var(--space-2) var(--space-6);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.lintje-chat-strip__items{align-items:flex-end;gap:var(--space-2) var(--space-6);flex-wrap:wrap;flex:auto;min-width:0;margin:0;display:flex}.lintje-chat-strip__item{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.lintje-chat-strip__label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-text-muted)}.lintje-chat-strip__value{min-width:0;font:var(--text-ui);margin:0}.lintje-chat-strip__text,.lintje-chat-strip__term,.lintje-chat-strip__suggestion{min-height:var(--h-chip-field);font:var(--text-ui);color:var(--color-text-primary);align-items:center;display:inline-flex}.lintje-chat-strip__term,.lintje-chat-strip__suggestion.is-pressed{background:var(--color-term-bg);border-bottom:2px solid var(--color-term-line)}.lintje-chat-strip__term{gap:var(--space-1);padding:0 0 0 var(--space-1);position:relative}.lintje-chat-strip__select{inset:min(0px, calc((100% - var(--h-target)) / 2)) 0;opacity:0;cursor:pointer;appearance:none;width:100%;height:auto;position:absolute}.lintje-chat-strip__term:focus-within{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.lintje-chat-strip__suggestion,.lintje-chat-strip__toggle{position:relative}.lintje-chat-strip__suggestion:after,.lintje-chat-strip__toggle:after{content:"";inset:min(0px, calc((100% - var(--h-target)) / 2)) 0;position:absolute}.lintje-chat-strip__suggestion{padding:0 var(--space-1);border-bottom:2px dashed var(--color-border-suggestion);transition:background var(--dur-hover)}.lintje-chat-strip__suggestion:hover{background:var(--color-bg-subtle)}.lintje-chat-strip__suggestion.is-pressed:hover{background:var(--color-term-bg)}.lintje-chat-strip__toggle{align-items:center;gap:var(--space-1);min-height:var(--h-chip-field);font:var(--text-small);color:var(--color-text-primary);margin-left:auto;font-weight:700;display:inline-flex}.lintje-chat-strip__details{gap:var(--space-2) var(--space-4);padding:0 0 var(--space-3);font:var(--text-ui);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.lintje-chat-strip__detail{display:contents}.lintje-chat-strip__detail-term{color:var(--color-text-muted)}.lintje-chat-strip__detail-text{color:var(--color-text-primary);margin:0}@media screen and (width<=767px){.lintje-chat-strip__row{padding:var(--space-1) 0 0;display:block}.lintje-chat-strip__items{gap:0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.lintje-chat-strip__item{min-height:var(--h-touch);justify-content:center}.lintje-chat-strip__item--fixed{grid-column:1/-1}.lintje-chat-strip__select,.lintje-chat-strip__suggestion:after{inset:calc(var(--space-6) * -1) 0 calc(var(--space-2) * -1)}.lintje-chat-strip__toggle{width:100%;min-height:var(--h-touch);margin:var(--space-1) 0 0;border-top:1px solid var(--color-border-default);font:var(--text-ui);justify-content:space-between;font-weight:700}.lintje-chat-strip__details{grid-template-columns:minmax(0,1fr);gap:0}.lintje-chat-strip__detail-text{margin-bottom:var(--space-2)}}`,u=class extends t{constructor(...e){super(...e),this.detailsLabel=`Berekening`,this.disabled=!1,this.open=!1}static{this.styles=[r,o(c),o(l)]}static{this.properties={items:{attribute:!1},details:{attribute:!1},detailsLabel:{type:String,attribute:`details-label`},disabled:{type:Boolean,reflect:!0},turnId:{type:String,attribute:`turn-id`},open:{type:Boolean,reflect:!0}}}change(e,t){this.emit(`lintje-strip-change`,{turnId:this.turnId??null,key:e,value:t})}updated(){for(let e of this.renderRoot.querySelectorAll(`select`))e.value=e.dataset.value??``}value(t){if(t.options&&!this.disabled){let r=t.options.find(e=>e.value===t.value);return e`<span class="lintje-chat-strip__term">
2
+ <span class="lintje-chat-strip__term-text">${r?.label??t.value}</span>
3
+ ${n(`functioneel-delta-omlaag`,{size:16})}
4
4
  <select
5
5
  class="lintje-chat-strip__select"
6
- aria-label=${e.label}
7
- data-value=${e.value}
8
- @change=${t=>{let n=t.target,r=n.value;n.value=e.value,r!==e.value&&this.change(e.key,r)}}
6
+ aria-label=${t.label}
7
+ data-value=${t.value}
8
+ @change=${e=>{let n=e.target,r=n.value;n.value=t.value,r!==t.value&&this.change(t.key,r)}}
9
9
  >
10
- ${e.options.map(e=>a`<option value=${e.value}>${e.label}</option>`)}
10
+ ${t.options.map(t=>e`<option value=${t.value}>${t.label}</option>`)}
11
11
  </select>
12
- </span>`}if(e.pressed!==void 0&&!this.disabled)return a`<button
12
+ </span>`}if(t.pressed!==void 0&&!this.disabled)return e`<button
13
13
  type="button"
14
- class=${o({"lintje-chat-strip__suggestion":!0,"is-pressed":e.pressed})}
15
- aria-pressed=${String(e.pressed)}
16
- @click=${()=>this.change(e.key,!e.pressed)}
14
+ class=${a({"lintje-chat-strip__suggestion":!0,"is-pressed":t.pressed})}
15
+ aria-pressed=${String(t.pressed)}
16
+ @click=${()=>this.change(t.key,!t.pressed)}
17
17
  >
18
- ${e.value}
19
- </button>`;let t=e.options?.find(t=>t.value===e.value);return a`<span class="lintje-chat-strip__text">${t?.label??e.value}</span>`}render(){let e=(this.items??[]).filter(e=>!(this.disabled&&e.pressed===!1)),t=this.details??[];return!e.length&&!t.length?s:a`<div
20
- class=${o({"lintje-chat-strip":!0,"lintje-disclosure":!0,"is-open":this.open})}
18
+ ${t.value}
19
+ </button>`;let r=t.options?.find(e=>e.value===t.value);return e`<span class="lintje-chat-strip__text">${r?.label??t.value}</span>`}render(){let t=(this.items??[]).filter(e=>!(this.disabled&&e.pressed===!1)),r=this.details??[];return!t.length&&!r.length?i:e`<div
20
+ class=${a({"lintje-chat-strip":!0,"lintje-disclosure":!0,"is-open":this.open})}
21
21
  role="group"
22
22
  aria-label="Uitgangspunten"
23
23
  >
24
24
  <div class="lintje-chat-strip__row">
25
25
  <dl class="lintje-chat-strip__items">
26
- ${e.map(e=>a`<div
27
- class=${o({"lintje-chat-strip__item":!0,"lintje-chat-strip__item--fixed":!e.options&&e.pressed===void 0})}
26
+ ${t.map(t=>e`<div
27
+ class=${a({"lintje-chat-strip__item":!0,"lintje-chat-strip__item--fixed":!t.options&&t.pressed===void 0})}
28
28
  >
29
- <dt class="lintje-chat-strip__label">${e.label}</dt>
30
- <dd class="lintje-chat-strip__value">${this.value(e)}</dd>
29
+ <dt class="lintje-chat-strip__label">${t.label}</dt>
30
+ <dd class="lintje-chat-strip__value">${this.value(t)}</dd>
31
31
  </div>`)}
32
32
  </dl>
33
- ${t.length?a`<button
33
+ ${r.length?e`<button
34
34
  type="button"
35
35
  class="lintje-chat-strip__toggle"
36
36
  aria-expanded=${String(this.open)}
@@ -38,17 +38,17 @@ import{$t as e,Xt as t,Zt as n,dt as r,ft as i,in as a,lt as o,nn as s}from"../c
38
38
  @click=${()=>{this.open=!this.open}}
39
39
  >
40
40
  <span>${this.detailsLabel}</span>
41
- ${i(`functioneel-delta-omlaag`,{size:16,className:`lintje-disclosure__chevron`})}
42
- </button>`:s}
41
+ ${n(`functioneel-delta-omlaag`,{size:16,className:`lintje-disclosure__chevron`})}
42
+ </button>`:i}
43
43
  </div>
44
- ${t.length?a`<div class="lintje-disclosure__body">
44
+ ${r.length?e`<div class="lintje-disclosure__body">
45
45
  <div id="details" class="lintje-disclosure__body-inner">
46
46
  <dl class="lintje-chat-strip__details">
47
- ${t.map(e=>a`<div class="lintje-chat-strip__detail">
48
- <dt class="lintje-chat-strip__detail-term">${e.term}</dt>
49
- <dd class="lintje-chat-strip__detail-text">${e.description}</dd>
47
+ ${r.map(t=>e`<div class="lintje-chat-strip__detail">
48
+ <dt class="lintje-chat-strip__detail-term">${t.term}</dt>
49
+ <dd class="lintje-chat-strip__detail-text">${t.description}</dd>
50
50
  </div>`)}
51
51
  </dl>
52
52
  </div>
53
- </div>`:s}
54
- </div>`}};n(`lintje-chat-strip`,u);export{u as LintjeChatStrip};
53
+ </div>`:i}
54
+ </div>`}};s(`lintje-chat-strip`,u);export{u as LintjeChatStrip};
@@ -1,18 +1,18 @@
1
- import{$t as e,Xt as t,Zt as n,in as r,it as i,nn as a}from"../chunks/base-DuuwEY22.js";var o=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-suggestions{align-items:flex-end;gap:var(--space-2);max-width:var(--w-message);flex-direction:column;margin-left:auto;display:flex}.lintje-chat-suggestions__label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-text-muted)}.lintje-chat-suggestions__list{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.lintje-chat-suggestions--choice .lintje-chat-suggestions__list{flex-flow:wrap;justify-content:flex-end}.lintje-chat-suggestions__item{min-height:var(--h-touch);padding:var(--space-2) var(--space-4);font:var(--text-body);color:var(--color-text-primary);text-align:left;transition:background var(--dur-hover)}.lintje-chat-suggestions__item:hover{background:var(--color-bg-subtle)}.lintje-chat-suggestions--suggestion .lintje-chat-suggestions__item{border:1px dashed var(--color-border-suggestion)}.lintje-chat-suggestions--choice .lintje-chat-suggestions__item{background:var(--color-bg-surface);border:1px solid var(--color-border-choice)}.lintje-chat-suggestions--choice .lintje-chat-suggestions__item:hover{background:var(--color-bg-subtle)}.lintje-chat-suggestions__hint{font:var(--text-small);color:var(--color-text-muted)}.lintje-chat-suggestions--start{align-items:flex-start;max-width:none;margin-left:0}.lintje-chat-suggestions--start .lintje-chat-suggestions__list{flex-flow:wrap;justify-content:flex-start;align-items:stretch}@media screen and (width<=767px){.lintje-chat-suggestions{margin-left:var(--space-10)}.lintje-chat-suggestions--start{margin-left:0}}`,s=class extends t{constructor(...e){super(...e),this.kind=`suggestion`,this.align=`end`}static{this.styles=[e(o),e(i)]}static{this.properties={label:{type:String},hint:{type:String},kind:{type:String,reflect:!0},align:{type:String,reflect:!0},items:{attribute:!1},turnId:{type:String,attribute:`turn-id`}}}select(e){this.emit(`lintje-suggestion-select`,{turnId:this.turnId??null,kind:this.kind,label:e.label,value:e.value??e.label})}render(){let e=this.items??[];return e.length?r`<div
1
+ import{cn as e,ct as t,en as n,on as r,rn as i,tn as a}from"../chunks/base-BsZyWDre.js";var o=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-chat-suggestions{align-items:flex-end;gap:var(--space-2);max-width:var(--w-message);flex-direction:column;margin-left:auto;display:flex}.lintje-chat-suggestions__label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-text-muted)}.lintje-chat-suggestions__list{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.lintje-chat-suggestions--choice .lintje-chat-suggestions__list{flex-flow:wrap;justify-content:flex-end}.lintje-chat-suggestions__item{min-height:var(--h-touch);padding:var(--space-2) var(--space-4);font:var(--text-body);color:var(--color-text-primary);text-align:left;transition:background var(--dur-hover)}.lintje-chat-suggestions__item:hover{background:var(--color-bg-subtle)}.lintje-chat-suggestions--suggestion .lintje-chat-suggestions__item{border:1px dashed var(--color-border-suggestion)}.lintje-chat-suggestions--choice .lintje-chat-suggestions__item{background:var(--color-bg-surface);border:1px solid var(--color-border-choice)}.lintje-chat-suggestions--choice .lintje-chat-suggestions__item:hover{background:var(--color-bg-subtle)}.lintje-chat-suggestions__hint{font:var(--text-small);color:var(--color-text-muted)}.lintje-chat-suggestions--start{align-items:flex-start;max-width:none;margin-left:0}.lintje-chat-suggestions--start .lintje-chat-suggestions__list{flex-flow:wrap;justify-content:flex-start;align-items:stretch}@media screen and (width<=767px){.lintje-chat-suggestions{margin-left:var(--space-10)}.lintje-chat-suggestions--start{margin-left:0}}`,s=class extends n{constructor(...e){super(...e),this.kind=`suggestion`,this.align=`end`}static{this.styles=[i(o),i(t)]}static{this.properties={label:{type:String},hint:{type:String},kind:{type:String,reflect:!0},align:{type:String,reflect:!0},items:{attribute:!1},turnId:{type:String,attribute:`turn-id`}}}select(e){this.emit(`lintje-suggestion-select`,{turnId:this.turnId??null,kind:this.kind,label:e.label,value:e.value??e.label})}render(){let t=this.items??[];return t.length?e`<div
2
2
  class="lintje-chat-suggestions lintje-chat-suggestions--${this.kind} lintje-chat-suggestions--${this.align}"
3
3
  role="group"
4
- aria-labelledby=${this.label?`label`:a}
5
- aria-label=${this.label?a:`Suggesties`}
4
+ aria-labelledby=${this.label?`label`:r}
5
+ aria-label=${this.label?r:`Suggesties`}
6
6
  >
7
- ${this.label?r`<span id="label" class="lintje-chat-suggestions__label">${this.label}</span>`:a}
7
+ ${this.label?e`<span id="label" class="lintje-chat-suggestions__label">${this.label}</span>`:r}
8
8
  <div class="lintje-chat-suggestions__list">
9
- ${e.map(e=>r`<button
9
+ ${t.map(t=>e`<button
10
10
  type="button"
11
11
  class="lintje-chat-suggestions__item"
12
- @click=${()=>this.select(e)}
12
+ @click=${()=>this.select(t)}
13
13
  >
14
- ${e.label}
14
+ ${t.label}
15
15
  </button>`)}
16
16
  </div>
17
- ${this.hint?r`<p class="lintje-chat-suggestions__hint">${this.hint}</p>`:a}
18
- </div>`:a}};n(`lintje-chat-suggestions`,s);export{s as LintjeChatSuggestions};
17
+ ${this.hint?e`<p class="lintje-chat-suggestions__hint">${this.hint}</p>`:r}
18
+ </div>`:r}};a(`lintje-chat-suggestions`,s);export{s as LintjeChatSuggestions};