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 +0,0 @@
1
- var e=/* @__PURE__ */ new Set([`input`,`select`,`textarea`,`button`]);function t(e){let t=e.name;return typeof t==`string`&&t?t:e.getAttribute(`name`)??``}function n(e){return Array.from(e.querySelectorAll(`*`)).filter(r)}function r(t){return e.has(t.localName)||t.localName.startsWith(`lintje-`)&&`disabled`in t}function i(e){return n(e).filter(e=>t(e)!==``)}function a(e){return e instanceof HTMLElement?[...r(e)&&t(e)!==``?[e]:[],...i(e)]:[]}var o={read:e=>e.value,write:(e,t)=>{e.value=t}},s={read:e=>!!e.checked,write:(e,t)=>{e.checked=!!t}},c={"lintje-checkbox":s,"lintje-toggle":s,"lintje-multiselect":{read:e=>[...e.selected??[]],write:(e,t)=>{e.selected=Array.isArray(t)?[...t]:[]}},"lintje-checkbox-group":{read:e=>[...e.selected??[]],write:(e,t)=>{e.selected=Array.isArray(t)?[...t]:[]}},"lintje-date-range":{read:e=>({...e.range}),write:(e,t)=>{e.range={from:null,to:null,...t}}},"lintje-range":{read:e=>e.single?e.value:[e.from,e.to],write:(e,t)=>{e.single?e.value=t:Array.isArray(t)&&([e.from,e.to]=t)}},"lintje-file-upload":{read:e=>(e.files??[]).filter(e=>e.state===`done`).map(e=>e.id)}};function l(e){return e instanceof HTMLInputElement?e.type===`checkbox`||e.type===`radio`?s:o:c[e.localName]??o}function u(e){return l(e).read(e)}function d(e,t){let{write:n}=l(e);return n?(n(e,t),!0):!1}function f(e,t){return typeof t==`boolean`?t?[[e,`on`]]:[]:Array.isArray(t)?t.map(t=>[e,String(t??``)]):typeof t==`object`&&t?Object.entries(t).map(([t,n])=>[`${e}-${t}`,String(n??``)]):[[e,String(t??``)]]}function p(e){let t=f(``,e);return t.length===0||t.some(([,e])=>e===``)}function m(e){return e.localName.startsWith(`lintje-`)}var h=`input, textarea, select, button, a[href], [tabindex]:not([tabindex="-1"])`;function g(e,t){(e.shadowRoot?.querySelector(h)??(e.matches(h)?e:e.querySelector(h))??e).focus(t)}var _=class{#e;#t=/* @__PURE__ */ new Map;constructor(e){this.#e=e}get active(){return this.#t.size>0}apply(e,t){for(let n of e){let e=n;this.#t.has(n)||this.#t.set(n,e[this.#e]),e[this.#e]=t}}release(){for(let[e,t]of this.#t)e[this.#e]=t;this.#t.clear()}},v=class{#e;#t=/* @__PURE__ */ new Map;constructor(e){this.#e=e}apply(e,t){for(let n of e)this.#t.has(n)||this.#t.set(n,n.hasAttribute(this.#e)),n.toggleAttribute(this.#e,t)}release(){for(let[e,t]of this.#t)e.toggleAttribute(this.#e,t);this.#t.clear()}};export{n as a,i as c,u as d,d as f,t as i,a as l,_ as n,g as o,m as r,f as s,v as t,p as u};
@@ -1 +0,0 @@
1
- import{Wt as e}from"./base-DuuwEY22.js";import{t}from"./focus-trap-qYvMiFZF.js";var n=class{#e=new t;#t;#n=null;#r=e=>{e.key===`Escape`&&this.#e.isTopmost()&&this.#t()};constructor(e){this.#t=e}get held(){return this.#n!==null}isTopmost(){return this.#e.isTopmost()}hold(t){this.#n||(this.#n=e(),document.addEventListener(`keydown`,this.#r),this.#e.activate(t,{focus:!1}))}release(){this.#n&&(document.removeEventListener(`keydown`,this.#r),this.#n(),this.#n=null,this.#e.deactivate())}};export{n as t};
@@ -1 +0,0 @@
1
- var e=`.lintje-dialog-close{width:var(--h-icon-button);height:var(--h-icon-button);color:var(--color-text-muted);flex:none;justify-content:center;align-items:center;display:flex;position:relative}.lintje-dialog-close:after{content:"";inset:min(0px, calc((100% - var(--h-target)) / 2));position:absolute}.lintje-dialog-close[aria-disabled=true]{cursor:not-allowed;color:var(--color-text-disabled)}@media (forced-colors:active){.lintje-dialog-close[aria-disabled=true]{color:graytext}}`;export{e as t};
@@ -1 +0,0 @@
1
- import{$ as e}from"./base-DuuwEY22.js";var t=[`a[href]`,`area[href]`,`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`iframe`,`[contenteditable]:not([contenteditable="false"])`,`[tabindex]`].join(`,`);function n(e,t){let n=Array.from(e.querySelectorAll(`slot`),e=>e.assignedElements({flatten:!0})).flat();for(;t;){if(t===e||n.includes(t))return!0;t=t.parentNode??(t instanceof ShadowRoot?t.host:null)}return!1}function r(e){return!e.matches(t)||e.tabIndex<0?!1:typeof e.checkVisibility!=`function`||e.checkVisibility({visibilityProperty:!0})}function i(e){let t=[],n=e=>{if(e.hasAttribute(`inert`)||e.hasAttribute(`hidden`))return;e instanceof HTMLElement&&r(e)&&t.push(e);let i=e instanceof HTMLSlotElement?e.assignedElements({flatten:!0}):Array.from((e.shadowRoot??e).children);for(let e of i)n(e)};for(let t of Array.from(e.children))n(t);return t}function a(e){return r(e)?e:i(e.shadowRoot??e)[0]??e}var o=[],s=class{#e=null;#t=null;isTopmost(){return this.#e!==null&&o[o.length-1]===this}#n=t=>{let n=this.#e;if(t.key!==`Tab`||!n?.isConnected||!this.isTopmost())return;let r=i(n);if(r.length===0){t.preventDefault(),n.focus();return}let a=r.indexOf(e()),o=r[0],s=r[r.length-1];t.shiftKey&&a<=0?(t.preventDefault(),s.focus()):!t.shiftKey&&(a===-1||a===r.length-1)&&(t.preventDefault(),o.focus())};#r=()=>{let t=this.#e;t?.isConnected&&this.isTopmost()&&(n(t,e())||t.focus())};activate(t,{focus:n=!0}={}){let r=this.#e?this.#t:e();this.#e&&this.deactivate(!1),this.#t=r,this.#e=t,o.push(this),document.addEventListener(`keydown`,this.#n),document.addEventListener(`focusin`,this.#r),n instanceof HTMLElement?a(n).focus():n&&t.focus()}deactivate(e=!0){if(!this.#e)return;document.removeEventListener(`keydown`,this.#n),document.removeEventListener(`focusin`,this.#r);let t=o.indexOf(this);t!==-1&&o.splice(t,1),this.#e=null;let n=this.#t;this.#t=null,e&&n?.isConnected&&n.focus()}};export{a as n,i as r,s as t};
@@ -1 +0,0 @@
1
- var e=class{#e=null;#t=null;constructor(e){this.callback=e,typeof ResizeObserver<`u`&&(this.#e=new ResizeObserver(()=>this.#n()))}observe(e){this.#e?.observe(e)}disconnect(){this.#e?.disconnect(),this.#t!==null&&cancelAnimationFrame(this.#t),this.#t=null}#n(){this.#t===null&&(this.#t=requestAnimationFrame(()=>{this.#t=null,this.callback()}))}};export{e as t};
@@ -1 +0,0 @@
1
- var e=`:host(lintje-multiselect),:host(lintje-range){width:180px;min-width:0;display:block}:host(lintje-text-input),:host(lintje-number-input),:host(lintje-checkbox),:host(lintje-checkbox-group),:host(lintje-toggle),:host(lintje-radio-group){min-width:0;display:block}:host([hidden]){display:none}.lintje-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.lintje-label{align-items:baseline;gap:var(--space-2);color:var(--color-text-primary);padding:0;font-size:.875rem;font-weight:700;display:flex}.lintje-label.is-modified{color:var(--color-accent-text)}.lintje-label__dot{border-radius:var(--radius-round);background:var(--color-attention);flex:none;align-self:center;width:6px;height:6px}:host([disabled]) .lintje-label{color:var(--color-text-disabled)}.lintje-label__optional{color:var(--color-text-muted);font-weight:400}:host([disabled]) .lintje-label__optional{color:var(--color-text-disabled)}.lintje-field__value{color:var(--color-text-muted);white-space:nowrap;font-weight:400}.lintje-field__hint{font:var(--text-small);color:var(--color-text-muted)}.lintje-field__error{align-items:center;gap:var(--space-2);font:var(--text-small);color:var(--color-error-text);font-weight:700;display:flex}:host([layout=row]){width:100%;container-type:inline-size}@container (width>=35rem){:host([layout=row]) .lintje-field{grid-template-columns:minmax(0, 1fr) minmax(0, calc(8 * var(--space-10)));gap:var(--space-1) var(--space-8);align-items:center;display:grid}:host([layout=row]) .lintje-field>*{grid-column:2}:host([layout=row]) .lintje-field>.lintje-label{font:var(--text-ui);grid-area:1/1}:host([layout=row]) .lintje-field>.lintje-field__hint,:host([layout=row]) .lintje-field>.lintje-field__error{grid-area:2/1;align-self:start}:host([layout=row]) .lintje-field>.lintje-field__reset{grid-area:3/1}:host([layout=row]) .lintje-field>.lintje-choice{flex-direction:row-reverse;grid-area:1/1/auto/-1;justify-content:space-between}}.lintje-field__reset{min-height:var(--h-target);color:var(--color-link);font:var(--text-small);cursor:pointer;background:0 0;border:0;place-self:flex-start start;padding:0;font-weight:700;text-decoration:underline}.lintje-field__reset:hover{color:var(--color-link-hover)}.lintje-choice{min-height:var(--h-target);cursor:pointer;align-items:center;gap:10px;font-size:1rem;display:flex}.lintje-choice__input{opacity:0;width:0;height:0;position:absolute}.lintje-choice__label.is-modified{color:var(--color-accent-text);font-weight:700}.lintje-choice__box{border:2px solid var(--color-border-choice);background:var(--color-bg-surface);width:24px;height:24px;color:var(--color-action-primary-text);transition:background-color var(--dur-hover) var(--ease-in-motion), border-color var(--dur-hover) var(--ease-in-motion);flex:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;line-height:1;display:flex}.lintje-choice__mark{opacity:0;transition:opacity var(--dur-hover) var(--ease-in-motion), transform var(--dur-hover) var(--ease-in-motion);transform:scale(.4)}.lintje-choice__input:checked~.lintje-choice__box .lintje-choice__mark,.lintje-choice__input:indeterminate~.lintje-choice__box .lintje-choice__mark{opacity:1;transform:none}.lintje-choice__input:checked~.lintje-choice__box,.lintje-choice__input:indeterminate~.lintje-choice__box{background:var(--color-accent);border-color:var(--color-action-primary-border)}.lintje-choice__input:focus-visible~.lintje-choice__box,.lintje-choice__input:focus-visible~.lintje-choice__radio,.lintje-choice__input:focus-visible~.lintje-choice__switch{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.lintje-choice__radio{border:2px solid var(--color-border-choice);background:var(--color-bg-surface);border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.lintje-choice__input:checked~.lintje-choice__radio{border-color:var(--color-accent-line)}.lintje-choice__input:checked~.lintje-choice__radio:after{content:"";background:var(--color-accent-line);border-radius:50%;width:12px;height:12px}.lintje-choice__switch{box-sizing:border-box;background:var(--color-border-field);width:40px;height:22px;transition:background var(--dur-hover) var(--ease-in-motion);border-radius:11px;flex:none;align-items:center;padding:2px;display:flex}.lintje-choice__knob{background:var(--color-bg-surface);width:18px;height:18px;transition:transform var(--dur-hover) var(--ease-in-motion);border-radius:50%;display:block}.lintje-choice__input:checked~.lintje-choice__switch{background:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-action-primary-border)}.lintje-choice__input:checked~.lintje-choice__switch .lintje-choice__knob{transform:translate(18px)}.lintje-choice.is-disabled{color:var(--color-text-disabled);cursor:not-allowed}.lintje-choice__input:disabled~.lintje-choice__box,.lintje-choice__input:disabled~.lintje-choice__radio{border-color:var(--color-border-strong);background:var(--color-bg-subtle);color:var(--color-text-disabled)}.lintje-choice__input:disabled:checked~.lintje-choice__box,.lintje-choice__input:disabled:checked~.lintje-choice__radio:after{background:var(--color-border-strong)}.lintje-choice__input:disabled~.lintje-choice__switch{background:var(--color-border-default);box-shadow:none}:host([stacked]){--h-control:var(--h-touch);width:100%}@media (forced-colors:active){.lintje-label__dot{forced-color-adjust:none;background:canvastext}.lintje-choice__input:focus-visible~.lintje-choice__box,.lintje-choice__input:focus-visible~.lintje-choice__radio,.lintje-choice__input:focus-visible~.lintje-choice__switch{outline-color:highlight}.lintje-choice__input:checked~.lintje-choice__box,.lintje-choice__input:indeterminate~.lintje-choice__box,.lintje-choice__input:checked~.lintje-choice__radio{border-color:highlight}.lintje-choice__radio:after{forced-color-adjust:none}.lintje-choice__input:checked~.lintje-choice__radio:after{background:highlight}.lintje-choice__switch{border:1px solid canvastext;padding:1px}.lintje-choice__input:checked~.lintje-choice__switch{border-color:highlight}.lintje-choice__knob{forced-color-adjust:none;background:canvastext}.lintje-choice__input:checked~.lintje-choice__switch .lintje-choice__knob{background:highlight}.lintje-choice__input:disabled~.lintje-choice__box,.lintje-choice__input:disabled~.lintje-choice__radio,.lintje-choice__input:disabled~.lintje-choice__switch{border-color:graytext}.lintje-choice__input:disabled:checked~.lintje-choice__radio:after,.lintje-choice__input:disabled~.lintje-choice__switch .lintje-choice__knob{background:graytext}.lintje-choice.is-disabled{color:graytext}}`;export{e as t};
@@ -1,8 +0,0 @@
1
- import{P as e,ft as t,in as n,lt as r,nn as i}from"./base-DuuwEY22.js";import{d as a,f as o,s,u as c}from"./controls-IwMNNdZt.js";function l(e,t,n){return t?n.errorId:e?n.hintId:i}function u(e,r,a,o=!0){return r?n`<span id=${a.errorId} class="lintje-field__error" role=${o?`alert`:i}
2
- >${t(`functioneel-waarschuwing`,{size:14})}${r}</span
3
- >`:e?n`<span id=${a.hintId} class="lintje-field__hint">${e}</span>`:i}var d=`(niet verplicht)`,f=`afwijkend van standaard`,p=`Vul dit veld in.`,m=class extends e{static{this.properties={name:{type:String},label:{type:String},hideLabel:{type:Boolean,attribute:`hide-label`},hint:{type:String},error:{type:String},disabled:{type:Boolean,reflect:!0},modified:{type:Boolean,reflect:!0},required:{type:Boolean,reflect:!0},optional:{type:Boolean},layout:{type:String,reflect:!0},resetLabel:{type:String,attribute:`reset-label`}}}static{this.formAssociated=!0}#e;#t;#n;constructor(){super(),this.name=``,this.label=``,this.hideLabel=!1,this.disabled=!1,this.modified=!1,this.required=!1,this.optional=!1,this.internals=typeof this.attachInternals==`function`?this.attachInternals():null,this.#t=!1,this.#n=!1,this.addController({hostUpdated:()=>this.syncForm()})}get postedValue(){return a(this)}syncForm(){if(this.#t||(this.#t=!0,this.#e=structuredClone(a(this))),!this.internals)return;let e=new FormData;if(this.name&&!this.disabled)for(let[t,n]of s(this.name,this.postedValue))e.append(t,n);this.internals.setFormValue(e),this.syncValidity()}get missing(){return this.required&&!this.disabled&&c(this.postedValue)}syncValidity(){let e=this.internals;if(!e)return;if(!this.missing){e.setValidity({});return}let t=this.focusTarget,n=t?.validationMessage||p;if(e.setValidity({valueMissing:!0},n,t??void 0),t||this.#n)return;this.#n=!0;let r=[...this.renderRoot.querySelectorAll(`*`)].map(e=>e.updateComplete);Promise.all(r).then(()=>{this.syncValidity(),this.#n=!1})}formResetCallback(){o(this,structuredClone(this.#e))}formDisabledCallback(e){this.disabled=e}get labelId(){return`lintje-input-label`}get controlId(){return`lintje-input-control`}get focusTarget(){let e=this.renderRoot;return e.querySelector(`#${this.controlId}`)??e.querySelector(`input[type="radio"]:checked:not(:disabled)`)??[...e.querySelectorAll(`input, select, button, textarea`)].find(e=>!e.disabled)??null}focusControl(e){this.disabled||this.focusTarget?.focus(e)}focus(e){this.focusControl(e)}get hintId(){return`lintje-input-hint`}get errorId(){return`lintje-input-error`}get footMessage(){return this.error??``}get describedBy(){return l(this.hint,this.footMessage,{hintId:this.hintId,errorId:this.errorId})}commit(e){this.announce(e)}announce(e,t=e){this.disabled||(this.emitLocal(`lintje-change`,e),this.name&&this.emit(`lintje-values-change`,{[this.name]:t}))}renderLabel(e,t=i){let a=()=>this.focusControl();if(this.hideLabel){let t=this.renderLabelSuffix();return e?n`<label id=${this.labelId} for=${e} class="visually-hidden">${this.label} ${t}</label>`:n`<span id=${this.labelId} class="visually-hidden" @click=${a}>${this.label} ${t}</span>`}let o=r({"lintje-label":!0,"is-modified":this.modified}),s=this.modified?n`<span class="lintje-label__dot"><span class="visually-hidden">${f}</span></span>`:i,c=this.renderLabelSuffix();return e?n`<label id=${this.labelId} for=${e} class=${o}>${this.label} ${c} ${s} ${t}</label>`:n`<span id=${this.labelId} class=${o} @click=${a}>${this.label} ${c} ${s} ${t}</span>`}renderLabelSuffix(){return this.isOptional?n`<span class="lintje-label__optional">${d}</span>`:i}get isOptional(){return this.optional&&!this.required}get labelSuffixText(){return[this.isOptional?d:``,this.modified&&!this.hideLabel?f:``].filter(Boolean).map(e=>` ${e}`).join(``)}get labelText(){return this.label?`${this.label}${this.labelSuffixText}`:``}renderFoot(){let e=u(this.hint,this.footMessage,{hintId:this.hintId,errorId:this.errorId});return n`${e}${this.renderReset()}`}renderReset(){if(!this.modified||!this.resetLabel)return i;let e=()=>{this.focusControl(),this.emitLocal(`lintje-reset`)},t=this.label?n`<span class="visually-hidden">, ${this.label}</span>`:i;return n`<button
4
- type="button"
5
- class="lintje-field__reset"
6
- ?disabled=${this.disabled}
7
- @click=${e}
8
- >${this.resetLabel}${t}</button>`}},h=class extends m{constructor(...e){super(...e),this.readonly=!1,this.initialValue=void 0}static{this.properties={name:{type:String,reflect:!0},readonly:{type:Boolean,reflect:!0}}}get nativeControl(){return this.renderRoot.querySelector(`#${this.controlId}`)}announce(e,t=e){this.readonly||super.announce(e,t)}firstUpdated(e){super.firstUpdated(e),this.initialValue=this.value}get postedValue(){return this.formValue}get missing(){return super.missing&&!this.readonly}syncForm(){}updated(e){super.updated(e),this.internals?.setFormValue(this.disabled?null:this.formValue),this.syncValidity()}submitOnEnter(e,t){if(e.key!==`Enter`||e.isComposing||this.readonly||this.disabled)return;t();let n=this.internals?.form;n&&typeof n.requestSubmit==`function`&&setTimeout(()=>{e.defaultPrevented||n.requestSubmit()})}formResetCallback(){this.value=this.initialValue;let e=this.nativeControl;e&&(e.value=this.formValue),this.requestUpdate()}};export{u as i,m as n,l as r,h as t};
@@ -1,3 +0,0 @@
1
- import{ft as e,in as t,nn as n}from"./base-DuuwEY22.js";function r(r,i=!0){return t`${i?e(`lichaam-oog`,{size:16,className:`lintje-filter-summary__icon`}):n}<span class="lintje-filter-summary__text"
2
- >${r.map(e=>e.emphasis?t`<b>${e.text}</b>`:t`<span>${e.text}</span>`)}</span
3
- >`}function i(e){return e.map(e=>e.text).join(``)}export{i as n,r as t};
@@ -1,133 +0,0 @@
1
- import{Dt as e,Et as t,I as n,St as r,Tt as i,an as a,f as o,h as s,in as c,m as l,n as u,nn as d,t as f,u as p}from"./base-DuuwEY22.js";import{t as m}from"./frame-resize-observer-BGZg6VbV.js";var h={width:900,height:264,left:52,right:8,top:16,bottom:28},g=.25,_=16,v=10,y=.3;function b(e,t,{fontFamily:n=``}={}){let r=Math.min(320,Math.round(t*y)),i=Math.ceil(Math.max(0,...e.map(e=>l(e,n)))),a=Math.min(r,i);return{labelEnd:a,barStart:a+v,fit:e=>s(e,a,n)}}function x(e,t,{minimum:n=_,fontFamily:r=``}={}){let i=Math.min(96,Math.round(t*g)),a=t=>Math.ceil(Math.max(0,...e.map(e=>l(t(e),r)))+8),s=o,c=a(s);return c>i&&(s=p,c=a(s)),{width:Math.min(i,Math.max(n,c)),format:s}}function S(e){return e.width-e.left-e.right}function C(e){return e.height-e.top-e.bottom}function ee(e,t=4){if(e<=0)return{max:1,ticks:[0,1]};let n=e/t,r=10**Math.floor(Math.log10(n)),i=n/r,a=(i<=1?1:i<=2?2:i<=2.5?2.5:i<=5?5:10)*r,o=Math.ceil(e/a)*a,s=[];for(let e=0;e<=o+1e-9;e+=a)s.push(Number(e.toFixed(6)));return{max:o,ticks:s}}function w(e,t,n){return n.top+C(n)*(1-e/t)}function te(e,t,n){return t<=1?n.left+S(n)/2:n.left+S(n)*e/(t-1)}function ne(e,t,n,r=.22){let i=S(n)/t,a=i*(1-r);return{x:n.left+i*e+(i-a)/2,width:a,center:n.left+i*e+i/2,bandWidth:i}}function re(e,t={}){return e.plotArea?e.plotArea:{...h,...t,width:e.controller.width,height:e.controller.height}}var T=.35,E=120,D=Array.from({length:21},(e,t)=>t/20),O=0,k=class{constructor(e){this.id=`lintje-chart-${++O}`,this.width=h.width,this.height=h.height,this.inView=!1,this.tooltip=null,this.hoverIndex=null,this.status=``,this.keyFrom=null,this.hiddenSeries=[],this.emphasis=null,this.hiddenLayers=[],this.selectedCell=null,this.mapHint=null,this.mapHintTimer=null,this.mapSelection=null,this.mapTool=null,this.mapLastTool=null,this.mapMenuOpen=!1,this.mapMenuFocus=null,this.mapLegendOpen=!1,this.mapArea=null,this.hostArea=void 0,this.hostSelection=void 0,this.leaflet=null,this.leafletView=null,this.drawn=void 0,this.drawnJson=``,this.element=null,this.measuring={},this.resizeObserver=null,this.intersectionObserver=null,this.attach=e=>{e!==this.element&&(this.unwatch(),e instanceof HTMLElement&&(this.element=e,this.read(),this.watchSize(e),this.watchVisibility(e)))},this.onWindowKey=e=>{e.key===`Escape`&&this.hideTooltip()},this.watching=!1,this.notify=e}requestUpdate(){this.notify()}get fontFamily(){return this.element?getComputedStyle(this.element).getPropertyValue(`--font-ui`):``}measure(e){let t=e.width===this.measuring.width&&e.height===this.measuring.height&&e.fit===this.measuring.fit;this.measuring=e,!t&&this.element&&(this.read(),this.watchSize(this.element))}watchSize(e){this.measuring.width?this.resizeObserver||(this.resizeObserver=new m(()=>{let{width:e,height:t}=this;this.read(),(this.width!==e||this.height!==t)&&this.requestUpdate()}),this.resizeObserver.observe(e)):(this.resizeObserver?.disconnect(),this.resizeObserver=null)}detach(){this.unwatch(),this.mapHintTimer&&clearTimeout(this.mapHintTimer),this.mapHintTimer=null,this.leaflet?.destroy(),this.leaflet=null}unwatch(){this.unwatchEscape(),this.resizeObserver?.disconnect(),this.intersectionObserver?.disconnect(),this.resizeObserver=null,this.intersectionObserver=null,this.element=null}follow(e){if(e===this.drawn)return;let t=this.drawn===void 0,n=JSON.stringify(e)??``;this.drawn=e,t||n===this.drawnJson?this.drawnJson=n:(this.drawnJson=n,this.keyFrom=this.hoverIndex??this.keyFrom,this.hoverIndex=null,this.status=``,this.tooltip=null,this.unwatchEscape())}showTooltip(e,t,n){let r=n??e.currentTarget;if(!(r instanceof Element))return;let i=r.closest(`[data-tooltip-anchor]`);if(!i)return;let a=i.getBoundingClientRect();this.showTooltipAt(e.clientX-a.left,e.clientY-a.top,t)}showTooltipAt(e,t,n){this.tooltip={x:e,y:t,content:n},this.watchEscape(),this.requestUpdate()}hideTooltip(){this.tooltip&&(this.tooltip=null,this.unwatchEscape(),this.requestUpdate())}hoverAt(e,t,n){this.hoverIndex=e,t&&n?this.showTooltip(t,n):(this.tooltip=null,this.unwatchEscape(),this.requestUpdate())}dismiss(e){return e.key!==`Escape`||!this.tooltip?!1:(e.stopPropagation(),this.hideTooltip(),!0)}watchEscape(){this.watching||typeof window>`u`||(this.watching=!0,window.addEventListener(`keydown`,this.onWindowKey))}unwatchEscape(){this.watching&&(this.watching=!1,window.removeEventListener(`keydown`,this.onWindowKey))}toggleLayer(e){this.hiddenLayers=this.hiddenLayers.includes(e)?this.hiddenLayers.filter(t=>t!==e):[...this.hiddenLayers,e],this.requestUpdate()}emphasise(e){this.emphasis!==e&&(this.emphasis=e,this.requestUpdate())}toggleSeries(e){this.hiddenSeries=this.hiddenSeries.includes(e)?this.hiddenSeries.filter(t=>t!==e):[...this.hiddenSeries,e],this.requestUpdate()}read(){let e=this.element;if(!e)return;this.measuring.width&&(this.width=Math.max(160,Math.round(e.getBoundingClientRect().width)));let t=this.measuring.height;if(typeof t==`number`)this.height=t;else if(typeof t==`string`){let r=Math.round(n(e,t,0));r&&(this.height=this.measuring.fit?Math.max(E,r-this.extras()):r)}}extras(){let e=this.element;if(!e)return 0;let t=e.getBoundingClientRect().height-this.height;return t>0?Math.ceil(t):0}watchVisibility(e){this.inView||(typeof IntersectionObserver>`u`?this.enter():(this.intersectionObserver=new IntersectionObserver(([e])=>{let t=e.rootBounds?.height??window.innerHeight;(e.intersectionRatio>=T||e.intersectionRect.height>=t*T)&&this.enter()},{threshold:D}),this.intersectionObserver.observe(e)))}enter(){this.intersectionObserver?.disconnect(),this.intersectionObserver=null,!this.inView&&(this.inView=!0,this.requestUpdate())}},A=f;function j(e){return typeof e==`string`&&A.includes(e)}var ie=[`circle`,`square`,`triangle`,`diamond`,`hexagon`,`triangle-down`,`pentagon`,`plus`,`cross`,`octagon`,`triangle-right`,`triangle-left`,`star`,`star-4`,`hourglass`,`rectangle`,`kite`];function M(e){return ie[A.indexOf(e)]}function ae(e){return Math.sqrt(2*Math.PI/(e*Math.sin(2*Math.PI/e)))}function N(e,t,n){let r=ae(e)*n;return Array.from({length:e},(n,i)=>{let a=t+i*2*Math.PI/e;return[r*Math.cos(a),r*Math.sin(a)]})}function P(e,t=0){let n=e*Math.sqrt(Math.PI/5)/2,r=Math.cos(t),i=Math.sin(t);return[[-n,-3*n],[n,-3*n],[n,-n],[3*n,-n],[3*n,n],[n,n],[n,3*n],[-n,3*n],[-n,n],[-3*n,n],[-3*n,-n],[-n,-n]].map(([e,t])=>[e*r-t*i,e*i+t*r])}function F(e,t){let n=.5,r=t*Math.sqrt(Math.PI/(e*n*Math.sin(Math.PI/e)));return Array.from({length:2*e},(t,i)=>{let a=i%2==0?r:n*r,o=-Math.PI/2+i*Math.PI/e;return[a*Math.cos(o),a*Math.sin(o)]})}function I(e){let t=e*Math.sqrt(Math.PI/2),n=t/2;return[[-t,-n],[t,-n],[t,n],[-t,n]]}function L(e){let t=e*Math.sqrt(Math.PI/2.5),n=1.25*t;return[[-t,-n],[t,-n],[0,0],[t,n],[-t,n],[0,0]]}function R(e){let t=e*Math.sqrt(Math.PI);return[[0,-t],[t/2,0],[0,t],[-t/2,0]]}function z(e,t=1){let n=-Math.PI/2;switch(e){case`circle`:return null;case`square`:return N(4,Math.PI/4,t);case`diamond`:return N(4,n,t);case`triangle`:return N(3,n,t);case`triangle-down`:return N(3,Math.PI/2,t);case`pentagon`:return N(5,n,t);case`hexagon`:return N(6,n,t);case`plus`:return P(t);case`cross`:return P(t,Math.PI/4);case`octagon`:return N(8,n,t);case`triangle-right`:return N(3,0,t);case`triangle-left`:return N(3,Math.PI,t);case`star`:return F(5,t);case`star-4`:return F(4,t);case`hourglass`:return L(t);case`rectangle`:return I(t);case`kite`:return R(t)}}function B(e,t=1,n=0,r=0){let i=z(e,t);if(!i)return`M ${n-t} ${r} a ${t} ${t} 0 1 0 ${t*2} 0 a ${t} ${t} 0 1 0 ${-t*2} 0 Z`;let a=e=>Number(e.toFixed(3));return`${i.map(([e,t],i)=>`${i===0?`M`:`L`} ${a(n+e)} ${a(r+t)}`).join(` `)} Z`}function V(e,t,n=0,r=0){return B(e?M(e):`circle`,t,n,r)}var H=`var(--color-chart-default)`,U={...Object.fromEntries(f.map(e=>[e,u(e)])),other:`var(--color-chart-other)`,remainder:`var(--color-chart-remainder)`,emphasis:`var(--color-chart-emphasis)`};function W(e){if(e!=null)return U[e]??e}function G(e){return e===U[`dark-yellow`]?`var(--color-chart-dark-yellow-text)`:void 0}function K(e){if(e!=null&&j(e))return U[e]}var q=`reference:threshold`,oe=`reference:median`;function J(e,t,n,r){let i=G(t),o=r?B(r,4.5,n,n):V(e,4.5,n,n);return a`<path d=${o} fill="currentColor"
2
- stroke=${i??d} stroke-width=${i?1:d} />`}function se({items:e,onToggle:t,onEmphasis:n,position:i=`top`}){let a=e=>()=>n?.(e.key??e.label),o=()=>n?.(null),s=!!n&&!t,l=e=>c`
3
- ${(e.symbol||e.symbolShape)&&e.shape===`point`?c`<svg class="lintje-legend__marker lintje-legend__marker--symbol" viewBox="0 0 14 14"
4
- ${r({color:e.color??`var(--color-chart-default)`})}
5
- aria-hidden="true" focusable="false">
6
- ${J(e.symbol,e.color,7,e.symbolShape)}
7
- </svg>`:e.symbol?c`<svg class="lintje-legend__marker lintje-legend__marker--symbol" viewBox="0 0 14 14"
8
- ${r({color:e.color??`var(--color-chart-default)`})}
9
- aria-hidden="true" focusable="false">
10
- <line x1="0" x2="14" y1="7" y2="7" stroke="currentColor" stroke-width="3" />
11
- <path d=${V(e.symbol,4,7,7)} fill="currentColor" />
12
- </svg>`:c`<span class="lintje-legend__marker lintje-legend__marker--${e.shape??`square`}"
13
- ${r({color:e.color??`var(--color-chart-default)`})}
14
- aria-hidden="true"></span>`}
15
- <span class="lintje-legend__label">${e.label}</span>
16
- `;return c`
17
- <ul class="lintje-legend lintje-legend--${i}">
18
- ${e.map(e=>c`
19
- <li class="lintje-legend__item ${e.hidden?`is-hidden`:``}"
20
- @mouseenter=${s?a(e):d}
21
- @mouseleave=${s?o:d}>
22
- ${t&&!e.fixed?c`<button type="button" class="lintje-legend__button"
23
- @click=${()=>t(e.key??e.label)}
24
- @mouseenter=${n?a(e):d}
25
- @mouseleave=${n?o:d}
26
- @focus=${n?a(e):d}
27
- @blur=${n?o:d}
28
- aria-pressed=${!e.hidden}>${l(e)}</button>`:l(e)}
29
- </li>
30
- `)}
31
- </ul>
32
- `}function Y(e){return e?`group`:`img`}function X(e){return a`
33
- <filter id="focus-${e}" filterUnits="userSpaceOnUse" x="-10%" y="-10%" width="120%" height="120%"
34
- color-interpolation-filters="sRGB">
35
- <feComponentTransfer in="SourceAlpha" result="shape"><feFuncA type="linear" slope="100" /></feComponentTransfer>
36
- <feMorphology in="shape" operator="dilate" radius="4" result="outer" />
37
- <feFlood class="lintje-chart__focus-ring" />
38
- <feComposite in2="outer" operator="in" result="ring" />
39
- <feMorphology in="shape" operator="dilate" radius="1" result="inner" />
40
- <feFlood class="lintje-chart__focus-gap" />
41
- <feComposite in2="inner" operator="in" result="gap" />
42
- <feMerge><feMergeNode in="ring" /><feMergeNode in="gap" /><feMergeNode in="SourceGraphic" /></feMerge>
43
- </filter>
44
- `}function Z(e){return{"--lintje-focus-ring":`url(#focus-${e})`}}var Q=8,ce=20;function $(e,t=``){if(e.length<2)return e;let n=e.map(e=>{let n=l(e.label,t),r=e.anchor===`end`?e.x-n:e.anchor===`start`?e.x:e.x-n/2;return{left:r,right:r+n}}),r=t=>{for(let r=0;r+t<e.length;r+=t){let e=n[r],i=n[r+t];if(Math.max(i.left-e.right,e.left-i.right)<Q)return!1}return!0},i=1;for(;i<e.length&&!r(i);)i+=1;return i===1?e:e.filter((e,t)=>t%i===0)}function le({area:e=h,ticks:t,max:n,axisTitle:i,xLabels:s,xTitle:l,description:u,defs:f,zeroLine:p=!0,formatTick:m=o,id:g,height:_,fontFamily:v,interactive:y,keys:b},x){return c`
45
- <figure class="lintje-chart">
46
- ${i?c`<figcaption class="lintje-chart__axis-title">${i}</figcaption>`:d}
47
- <!-- The viewBox is set 1:1 to the measured pixels, so 12 px axis text really is
48
- 12 px — however narrow the tile is. -->
49
- <svg
50
- viewBox="0 0 ${e.width} ${e.height}"
51
- class="lintje-chart__svg"
52
- width=${e.width}
53
- height=${e.height}
54
- ${r({height:`${_??e.height}px`,...Z(g)})}
55
- role=${Y(y)}
56
- aria-labelledby="${g}-desc"
57
- tabindex=${b?0:d}
58
- @keydown=${b?.keydown}
59
- @focus=${b?.focus}
60
- @blur=${b?.blur}
61
- >
62
- <desc id="${g}-desc">${u}</desc>
63
- <defs>
64
- <pattern id="hatch-${g}" width="6" height="6" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
65
- <line x1="0" y1="0" x2="0" y2="6" stroke="var(--color-chart-hatch)" stroke-width="2" />
66
- </pattern>
67
- ${X(g)}
68
- ${f}
69
- </defs>
70
-
71
- <!-- Grid + axis labels -->
72
- ${t.map(t=>{let r=w(t,n,e),i=t===0;return a`
73
- <g>
74
- <line
75
- x1=${e.left} x2=${e.width-e.right} y1=${r} y2=${r}
76
- stroke=${i&&p?`var(--color-chart-zero)`:`var(--color-chart-grid)`}
77
- stroke-width=${i&&p?1.5:1} />
78
- <text x=${e.left-8} y=${r+4} text-anchor="end" class="lintje-chart__axis-label">
79
- ${m(t)}
80
- </text>
81
- </g>
82
- `})}
83
-
84
- ${x}
85
-
86
- <!-- x-axis labels -->
87
- ${$(s??[],v).map(t=>a`
88
- <text x=${t.x} y=${e.height-e.bottom+ce} text-anchor=${t.anchor??`middle`} class="lintje-chart__axis-label">
89
- ${t.label}
90
- </text>
91
- `)}
92
- ${l?a`<text x=${e.width-e.right} y=${e.height-e.bottom+40} text-anchor="end"
93
- class="lintje-chart__x-title">${l}</text>`:d}
94
- </svg>
95
- </figure>
96
- `}function ue({area:e=h,index:t,count:n,label:r,lastValue:i,pendingHours:o}){let s=e.left+S(e)*t/(n-1),c=o>6,l=e.width-e.right-s,u=l>140;return c?a`
97
- <g>
98
- <line x1=${s} x2=${s} y1=${e.top} y2=${e.height-e.bottom}
99
- stroke="var(--color-text-primary)" stroke-width="1.5" stroke-dasharray="4 3" />
100
- <text x=${u?s+6:s-6} y=${e.top+12}
101
- text-anchor=${u?`start`:`end`} class="lintje-chart__as-of-label">
102
- ${r}
103
- </text>
104
- ${i?a`<text x=${u?s+6:s-6} y=${e.top+26}
105
- text-anchor=${u?`start`:`end`} class="lintje-chart__axis-label">${i}</text>`:d}
106
- <text x=${s+l/2} y=${e.top+(e.height-e.top-e.bottom)/2}
107
- text-anchor="middle" class="lintje-chart__as-of-note">
108
- nog geen gegevens · ${o} ${o===1?`uur`:`uren`} volgen
109
- </text>
110
- </g>
111
- `:d}var de=i(class extends t{constructor(t){if(super(t),t.type!==e.ELEMENT)throw Error(`placeTooltip only works on an element`)}render(e){return d}update(e,[t]){let n=e.element;return n.style.top=`${Math.max(0,t.y-12)}px`,requestAnimationFrame(()=>{if(!n.isConnected)return;let e=n.parentElement?.clientWidth??1/0;n.style.left=`${Math.max(0,Math.min(t.x+12,e-n.offsetWidth-8))}px`}),d}});function fe(e){let t=e.tooltip;if(!t)return d;let{content:n}=t;return c`
112
- <div class="lintje-chart-tooltip" ${de(t)}>
113
- <p class="lintje-chart-tooltip__title">${n.title}</p>
114
- ${n.rows.map(e=>c`
115
- <p class="lintje-chart-tooltip__row ${e.divider?`lintje-chart-tooltip__row--divider`:``}">
116
- <span class="lintje-chart-tooltip__label">
117
- ${e.symbol?c`<svg class="lintje-chart-tooltip__marker lintje-chart-tooltip__marker--symbol"
118
- viewBox="0 0 14 14" ${r({color:e.color})}
119
- aria-hidden="true" focusable="false">${J(e.symbol,e.color,7)}</svg>`:e.marker?c`<span class="lintje-chart-tooltip__marker lintje-chart-tooltip__marker--${e.marker}"
120
- ${r({color:e.color})}></span>`:e.color?c`<span class="lintje-chart-tooltip__marker" ${r({background:e.color})}></span>`:d}
121
- ${e.label}
122
- </span>
123
- <span class="lintje-chart-tooltip__value">${e.value}</span>
124
- </p>
125
- `)}
126
- ${n.events?.map(e=>c`
127
- <p class="lintje-chart-tooltip__event">
128
- <span class="lintje-event-chip"><span class="lintje-event-chip__number">${e.number}</span></span>
129
- <span>${e.label}</span>
130
- </p>
131
- `)}
132
- </div>
133
- `}function pe(e,t){return{"--lintje-stagger":String(t>1?e/(t-1):0)}}function me(e,t,n,r){let i=n>1?e/(n-1):0,a=r>1?t/(r-1):0;return{"--lintje-stagger":String(.7*i+.3*a)}}export{w as A,re as C,S as D,ne as E,b as O,k as S,ee as T,A as _,q as a,M as b,ue as c,se as d,$ as f,K as g,G as h,oe as i,te as k,le as l,W as m,pe as n,Y as o,H as p,fe as r,Z as s,me as t,X as u,j as v,x as w,B as x,V as y};