@dso-toolkit/core 62.26.0 → 62.27.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.
- package/dist/cjs/dso-accordion-section.cjs.entry.js +5 -3
- package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
- package/dist/cjs/{dso-alert_6.cjs.entry.js → dso-alert_5.cjs.entry.js} +7 -21
- package/dist/cjs/dso-alert_5.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-annotation-output_2.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-output_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-badge.cjs.entry.js +24 -0
- package/dist/cjs/dso-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-banner.cjs.entry.js +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +1 -1
- package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-label_2.cjs.entry.js +1 -1
- package/dist/cjs/dso-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-legend-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
- package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
- package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/components/accordion-section.css +11 -0
- package/dist/collection/components/accordion/components/accordion-section.js +44 -2
- package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
- package/dist/collection/components/alert/alert.css +46 -3
- package/dist/collection/components/alert/alert.js +19 -1
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/annotation-button/annotation-button.css +2 -1
- package/dist/collection/components/badge/badge.css +2 -1
- package/dist/collection/components/badge/badge.interfaces.js +2 -0
- package/dist/collection/components/badge/badge.interfaces.js.map +1 -0
- package/dist/collection/components/badge/badge.js +9 -3
- package/dist/collection/components/badge/badge.js.map +1 -1
- package/dist/collection/components/banner/banner.css +4 -2
- package/dist/collection/components/date-picker/date-picker.css +2 -1
- package/dist/collection/components/date-picker-legacy/date-picker-legacy.css +2 -1
- package/dist/collection/components/document-component/document-component.css +2 -1
- package/dist/collection/components/info/info.css +2 -1
- package/dist/collection/components/label/label.css +4 -2
- package/dist/collection/components/legend-item/legend-item.css +2 -1
- package/dist/collection/components/list-button/list-button.css +10 -5
- package/dist/collection/components/map-controls/map-controls.css +4 -2
- package/dist/collection/components/modal/modal.css +22 -10
- package/dist/collection/components/ozon-content/ozon-content.css +18 -9
- package/dist/collection/components/pagination/pagination.css +2 -0
- package/dist/collection/components/progress-indicator/progress-indicator.css +4 -2
- package/dist/collection/components/table/table.css +24 -11
- package/dist/collection/components/viewer-grid/viewer-grid.css +10 -5
- package/dist/components/alert.js +5 -3
- package/dist/components/alert.js.map +1 -1
- package/dist/components/annotation-button.js +1 -1
- package/dist/components/annotation-button.js.map +1 -1
- package/dist/components/badge.js +2 -2
- package/dist/components/badge.js.map +1 -1
- package/dist/components/document-component.js +1 -1
- package/dist/components/document-component.js.map +1 -1
- package/dist/components/dso-accordion-section.js +15 -5
- package/dist/components/dso-accordion-section.js.map +1 -1
- package/dist/components/dso-banner.js +1 -1
- package/dist/components/dso-banner.js.map +1 -1
- package/dist/components/dso-date-picker-legacy.js +1 -1
- package/dist/components/dso-date-picker-legacy.js.map +1 -1
- package/dist/components/dso-date-picker.js +1 -1
- package/dist/components/dso-date-picker.js.map +1 -1
- package/dist/components/dso-legend-item.js +1 -1
- package/dist/components/dso-legend-item.js.map +1 -1
- package/dist/components/dso-list-button.js +1 -1
- package/dist/components/dso-list-button.js.map +1 -1
- package/dist/components/dso-map-controls.js +1 -1
- package/dist/components/dso-map-controls.js.map +1 -1
- package/dist/components/dso-modal.js +1 -1
- package/dist/components/dso-modal.js.map +1 -1
- package/dist/components/dso-pagination.js +1 -1
- package/dist/components/dso-pagination.js.map +1 -1
- package/dist/components/dso-viewer-grid.js +1 -1
- package/dist/components/dso-viewer-grid.js.map +1 -1
- package/dist/components/info.js +1 -1
- package/dist/components/info.js.map +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/label.js.map +1 -1
- package/dist/components/ozon-content.js +1 -1
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/components/progress-indicator.js +1 -1
- package/dist/components/progress-indicator.js.map +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
- package/dist/dso-toolkit/p-063dcb3b.entry.js +2 -0
- package/dist/dso-toolkit/p-063dcb3b.entry.js.map +1 -0
- package/dist/dso-toolkit/p-0d874fe0.entry.js +2 -0
- package/dist/dso-toolkit/p-0d874fe0.entry.js.map +1 -0
- package/dist/dso-toolkit/p-1305df3d.entry.js +2 -0
- package/dist/dso-toolkit/{p-31a70deb.entry.js.map → p-1305df3d.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-2f745710.entry.js +2 -0
- package/dist/dso-toolkit/{p-0361ac95.entry.js.map → p-2f745710.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-67dc4153.entry.js +2 -0
- package/dist/dso-toolkit/{p-a16adf8a.entry.js.map → p-67dc4153.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-7031be39.entry.js +2 -0
- package/dist/dso-toolkit/{p-520ac2a9.entry.js.map → p-7031be39.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-74c191d2.entry.js +2 -0
- package/dist/dso-toolkit/{p-02a600ee.entry.js.map → p-74c191d2.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-93e278c0.entry.js +2 -0
- package/dist/dso-toolkit/{p-e737a905.entry.js.map → p-93e278c0.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-9a63ac5d.entry.js +2 -0
- package/dist/dso-toolkit/p-9a63ac5d.entry.js.map +1 -0
- package/dist/dso-toolkit/p-a62a187f.entry.js +2 -0
- package/dist/dso-toolkit/{p-3cba474c.entry.js.map → p-a62a187f.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-f9865457.entry.js → p-a7e74516.entry.js} +2 -2
- package/dist/dso-toolkit/{p-f9865457.entry.js.map → p-a7e74516.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-cbe0bf91.entry.js +2 -0
- package/dist/dso-toolkit/{p-9a1dee2d.entry.js.map → p-cbe0bf91.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-cdc9d960.entry.js +2 -0
- package/dist/dso-toolkit/{p-b43b959f.entry.js.map → p-cdc9d960.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-daab5e97.entry.js +2 -0
- package/dist/dso-toolkit/{p-26d0cacc.entry.js.map → p-daab5e97.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e0d79580.entry.js +2 -0
- package/dist/dso-toolkit/{p-8933926d.entry.js.map → p-e0d79580.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-f0344dd3.entry.js +2 -0
- package/dist/dso-toolkit/{p-b6292d1a.entry.js.map → p-f0344dd3.entry.js.map} +1 -1
- package/dist/esm/dso-accordion-section.entry.js +5 -3
- package/dist/esm/dso-accordion-section.entry.js.map +1 -1
- package/dist/esm/{dso-alert_6.entry.js → dso-alert_5.entry.js} +8 -21
- package/dist/esm/dso-alert_5.entry.js.map +1 -0
- package/dist/esm/dso-annotation-output_2.entry.js +1 -1
- package/dist/esm/dso-annotation-output_2.entry.js.map +1 -1
- package/dist/esm/dso-badge.entry.js +20 -0
- package/dist/esm/dso-badge.entry.js.map +1 -0
- package/dist/esm/dso-banner.entry.js +1 -1
- package/dist/esm/dso-banner.entry.js.map +1 -1
- package/dist/esm/dso-date-picker-legacy.entry.js +1 -1
- package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
- package/dist/esm/dso-date-picker.entry.js +1 -1
- package/dist/esm/dso-date-picker.entry.js.map +1 -1
- package/dist/esm/dso-info_2.entry.js +1 -1
- package/dist/esm/dso-info_2.entry.js.map +1 -1
- package/dist/esm/dso-label_2.entry.js +1 -1
- package/dist/esm/dso-label_2.entry.js.map +1 -1
- package/dist/esm/dso-legend-item.entry.js +1 -1
- package/dist/esm/dso-legend-item.entry.js.map +1 -1
- package/dist/esm/dso-list-button.entry.js +1 -1
- package/dist/esm/dso-list-button.entry.js.map +1 -1
- package/dist/esm/dso-map-controls.entry.js +1 -1
- package/dist/esm/dso-map-controls.entry.js.map +1 -1
- package/dist/esm/dso-modal.entry.js +1 -1
- package/dist/esm/dso-modal.entry.js.map +1 -1
- package/dist/esm/dso-pagination.entry.js +1 -1
- package/dist/esm/dso-pagination.entry.js.map +1 -1
- package/dist/esm/dso-progress-indicator.entry.js +1 -1
- package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/accordion/components/accordion-section.d.ts +9 -0
- package/dist/types/components/alert/alert.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +2 -1
- package/dist/types/components/badge/badge.interfaces.d.ts +1 -0
- package/dist/types/components.d.ts +28 -2
- package/package.json +2 -2
- package/dist/cjs/dso-alert_6.cjs.entry.js.map +0 -1
- package/dist/dso-toolkit/p-02a600ee.entry.js +0 -2
- package/dist/dso-toolkit/p-0361ac95.entry.js +0 -2
- package/dist/dso-toolkit/p-26d0cacc.entry.js +0 -2
- package/dist/dso-toolkit/p-31a70deb.entry.js +0 -2
- package/dist/dso-toolkit/p-3cba474c.entry.js +0 -2
- package/dist/dso-toolkit/p-520ac2a9.entry.js +0 -2
- package/dist/dso-toolkit/p-8933926d.entry.js +0 -2
- package/dist/dso-toolkit/p-9a1dee2d.entry.js +0 -2
- package/dist/dso-toolkit/p-a16adf8a.entry.js +0 -2
- package/dist/dso-toolkit/p-b43b959f.entry.js +0 -2
- package/dist/dso-toolkit/p-b6292d1a.entry.js +0 -2
- package/dist/dso-toolkit/p-c55b506b.entry.js +0 -2
- package/dist/dso-toolkit/p-c55b506b.entry.js.map +0 -1
- package/dist/dso-toolkit/p-c58ffc7a.entry.js +0 -2
- package/dist/dso-toolkit/p-c58ffc7a.entry.js.map +0 -1
- package/dist/dso-toolkit/p-e737a905.entry.js +0 -2
- package/dist/esm/dso-alert_6.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["legendItemCss","DsoLegendItemStyle0","LegendItem","symbolSlottedElement","this","host","querySelector","selectableSlottedElement","bodySlottedElement","render","hasSymbol","hasBody","isSelectable","h","Host","key","onMouseEnter","dsoMouseEnter","emit","onMouseLeave","dsoMouseLeave","class","clsx","hidden","name","disabled","disabledMessage","position","removable","id","type","onClick","e","dsoRemoveClick","originalEvent","icon","showBody"],"sources":["src/components/legend-item/legend-item.scss?tag=dso-legend-item&encapsulation=shadow","src/components/legend-item/legend-item.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/legend-item/legend-item.variables\" as legend-item-variables;\r\n\r\n:host {\r\n display: block;\r\n padding-block: units.$u1 * 0.5;\r\n padding-inline: units.$u1 * 0.5;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.legend-item {\r\n display: flex;\r\n position: relative;\r\n\r\n &.legend-item-symbol {\r\n + .body {\r\n margin-inline-start: legend-item-variables.$symbol-inline-size + units.$u1;\r\n }\r\n }\r\n\r\n &.legend-item-selectable {\r\n + .body {\r\n margin-inline-start: legend-item-variables.$selectable-inline-size;\r\n }\r\n\r\n &.legend-item-symbol {\r\n + .body {\r\n margin-inline-start: (\r\n legend-item-variables.$symbol-inline-size + units.$u1 + legend-item-variables.$selectable-inline-size\r\n );\r\n }\r\n }\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.tertiary($icon-only: true, $modifiers: false);\r\n\r\n position: absolute;\r\n inset-inline-end: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Prop, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { LegendItemRemoveClickEvent } from \"./legend-item.interfaces\";\r\n\r\n/**\r\n * @slot - Either the label for this legend item or a `dso-selectable` holding the label.\r\n * @slot symbol - A span where the symbol is styled upon\r\n * @slot body - The slot to place controls in (i.e. `dso-input-range` or multiple `dso-selectable`\\`s). If present, this will cause the appearance of an edit-button (three dots) to show the controls. Will not be displayed if property `disabled` is set to true.\r\n */\r\n@Component({\r\n tag: \"dso-legend-item\",\r\n styleUrl: \"legend-item.scss\",\r\n shadow: true,\r\n})\r\nexport class LegendItem implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoLegendItemElement;\r\n\r\n /**\r\n * To disable the Legend Item\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Message to be shown behind a toggletip when the Legend Item is disabled\r\n */\r\n @Prop()\r\n disabledMessage?: string;\r\n\r\n /**\r\n * Shows a trash-can that, when clicked, emits `dsoRemoveClick`.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<LegendItemRemoveClickEvent>;\r\n\r\n /**\r\n * Emitted when the mouse enters the Legend Item\r\n */\r\n @Event()\r\n dsoMouseEnter!: EventEmitter;\r\n\r\n /**\r\n * Emitted when the mouse leaves the Legend Item\r\n */\r\n @Event()\r\n dsoMouseLeave!: EventEmitter;\r\n\r\n @State()\r\n showBody = false;\r\n\r\n get symbolSlottedElement() {\r\n return this.host.querySelector(\"[slot='symbol']\");\r\n }\r\n\r\n get selectableSlottedElement() {\r\n return this.host.querySelector(\":scope > dso-selectable\");\r\n }\r\n\r\n get bodySlottedElement() {\r\n return this.host.querySelector(\"[slot='body']\");\r\n }\r\n\r\n render() {\r\n const hasSymbol = this.symbolSlottedElement !== null;\r\n const hasBody = this.bodySlottedElement !== null;\r\n const isSelectable = this.selectableSlottedElement !== null;\r\n\r\n return (\r\n <Host onMouseEnter={() => this.dsoMouseEnter.emit()} onMouseLeave={() => this.dsoMouseLeave.emit()}>\r\n <div\r\n class={clsx(\"legend-item\", {\r\n \"legend-item-symbol\": hasSymbol,\r\n \"legend-item-selectable\": isSelectable,\r\n })}\r\n >\r\n <div hidden={!hasSymbol}>\r\n <slot name=\"symbol\" />\r\n </div>\r\n <div>\r\n <slot></slot>\r\n </div>\r\n {this.disabled && this.disabledMessage && (\r\n <dso-toggletip position=\"bottom\">{this.disabledMessage}</dso-toggletip>\r\n )}\r\n {this.removable && (\r\n <button id=\"remove-button\" type=\"button\" onClick={(e) => this.dsoRemoveClick.emit({ originalEvent: e })}>\r\n <span class=\"sr-only\">Legenda item verwijderen</span>\r\n <dso-icon icon=\"trash\"></dso-icon>\r\n </button>\r\n )}\r\n\r\n {hasBody && !this.disabled && (\r\n <button id=\"edit-button\" type=\"button\" onClick={() => (this.showBody = !this.showBody)}>\r\n <span class=\"sr-only\">Legenda item aanpassen</span>\r\n <dso-icon icon={this.showBody ? \"times\" : \"more\"} />\r\n </button>\r\n )}\r\n </div>\r\n <div hidden={!hasBody || this.disabled || !this.showBody} class=\"body\">\r\n <slot name=\"body\" />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"oGAAA,MAAMA,EAAgB,
|
|
1
|
+
{"version":3,"names":["legendItemCss","DsoLegendItemStyle0","LegendItem","symbolSlottedElement","this","host","querySelector","selectableSlottedElement","bodySlottedElement","render","hasSymbol","hasBody","isSelectable","h","Host","key","onMouseEnter","dsoMouseEnter","emit","onMouseLeave","dsoMouseLeave","class","clsx","hidden","name","disabled","disabledMessage","position","removable","id","type","onClick","e","dsoRemoveClick","originalEvent","icon","showBody"],"sources":["src/components/legend-item/legend-item.scss?tag=dso-legend-item&encapsulation=shadow","src/components/legend-item/legend-item.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/legend-item/legend-item.variables\" as legend-item-variables;\r\n\r\n:host {\r\n display: block;\r\n padding-block: units.$u1 * 0.5;\r\n padding-inline: units.$u1 * 0.5;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.legend-item {\r\n display: flex;\r\n position: relative;\r\n\r\n &.legend-item-symbol {\r\n + .body {\r\n margin-inline-start: legend-item-variables.$symbol-inline-size + units.$u1;\r\n }\r\n }\r\n\r\n &.legend-item-selectable {\r\n + .body {\r\n margin-inline-start: legend-item-variables.$selectable-inline-size;\r\n }\r\n\r\n &.legend-item-symbol {\r\n + .body {\r\n margin-inline-start: (\r\n legend-item-variables.$symbol-inline-size + units.$u1 + legend-item-variables.$selectable-inline-size\r\n );\r\n }\r\n }\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.tertiary($icon-only: true, $modifiers: false);\r\n\r\n position: absolute;\r\n inset-inline-end: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Prop, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { LegendItemRemoveClickEvent } from \"./legend-item.interfaces\";\r\n\r\n/**\r\n * @slot - Either the label for this legend item or a `dso-selectable` holding the label.\r\n * @slot symbol - A span where the symbol is styled upon\r\n * @slot body - The slot to place controls in (i.e. `dso-input-range` or multiple `dso-selectable`\\`s). If present, this will cause the appearance of an edit-button (three dots) to show the controls. Will not be displayed if property `disabled` is set to true.\r\n */\r\n@Component({\r\n tag: \"dso-legend-item\",\r\n styleUrl: \"legend-item.scss\",\r\n shadow: true,\r\n})\r\nexport class LegendItem implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoLegendItemElement;\r\n\r\n /**\r\n * To disable the Legend Item\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Message to be shown behind a toggletip when the Legend Item is disabled\r\n */\r\n @Prop()\r\n disabledMessage?: string;\r\n\r\n /**\r\n * Shows a trash-can that, when clicked, emits `dsoRemoveClick`.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<LegendItemRemoveClickEvent>;\r\n\r\n /**\r\n * Emitted when the mouse enters the Legend Item\r\n */\r\n @Event()\r\n dsoMouseEnter!: EventEmitter;\r\n\r\n /**\r\n * Emitted when the mouse leaves the Legend Item\r\n */\r\n @Event()\r\n dsoMouseLeave!: EventEmitter;\r\n\r\n @State()\r\n showBody = false;\r\n\r\n get symbolSlottedElement() {\r\n return this.host.querySelector(\"[slot='symbol']\");\r\n }\r\n\r\n get selectableSlottedElement() {\r\n return this.host.querySelector(\":scope > dso-selectable\");\r\n }\r\n\r\n get bodySlottedElement() {\r\n return this.host.querySelector(\"[slot='body']\");\r\n }\r\n\r\n render() {\r\n const hasSymbol = this.symbolSlottedElement !== null;\r\n const hasBody = this.bodySlottedElement !== null;\r\n const isSelectable = this.selectableSlottedElement !== null;\r\n\r\n return (\r\n <Host onMouseEnter={() => this.dsoMouseEnter.emit()} onMouseLeave={() => this.dsoMouseLeave.emit()}>\r\n <div\r\n class={clsx(\"legend-item\", {\r\n \"legend-item-symbol\": hasSymbol,\r\n \"legend-item-selectable\": isSelectable,\r\n })}\r\n >\r\n <div hidden={!hasSymbol}>\r\n <slot name=\"symbol\" />\r\n </div>\r\n <div>\r\n <slot></slot>\r\n </div>\r\n {this.disabled && this.disabledMessage && (\r\n <dso-toggletip position=\"bottom\">{this.disabledMessage}</dso-toggletip>\r\n )}\r\n {this.removable && (\r\n <button id=\"remove-button\" type=\"button\" onClick={(e) => this.dsoRemoveClick.emit({ originalEvent: e })}>\r\n <span class=\"sr-only\">Legenda item verwijderen</span>\r\n <dso-icon icon=\"trash\"></dso-icon>\r\n </button>\r\n )}\r\n\r\n {hasBody && !this.disabled && (\r\n <button id=\"edit-button\" type=\"button\" onClick={() => (this.showBody = !this.showBody)}>\r\n <span class=\"sr-only\">Legenda item aanpassen</span>\r\n <dso-icon icon={this.showBody ? \"times\" : \"more\"} />\r\n </button>\r\n )}\r\n </div>\r\n <div hidden={!hasBody || this.disabled || !this.showBody} class=\"body\">\r\n <slot name=\"body\" />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"oGAAA,MAAMA,EAAgB,unHACtB,MAAAC,EAAeD,E,MCaFE,EAAU,M,gLAQV,M,sEAiCA,K,CAEX,wBAAIC,GACF,OAAOC,KAAKC,KAAKC,cAAc,kB,CAGjC,4BAAIC,GACF,OAAOH,KAAKC,KAAKC,cAAc,0B,CAGjC,sBAAIE,GACF,OAAOJ,KAAKC,KAAKC,cAAc,gB,CAGjC,MAAAG,GACE,MAAMC,EAAYN,KAAKD,uBAAyB,KAChD,MAAMQ,EAAUP,KAAKI,qBAAuB,KAC5C,MAAMI,EAAeR,KAAKG,2BAA6B,KAEvD,OACEM,EAACC,EAAI,CAAAC,IAAA,2CAACC,aAAc,IAAMZ,KAAKa,cAAcC,OAAQC,aAAc,IAAMf,KAAKgB,cAAcF,QAC1FL,EAAA,OAAAE,IAAA,2CACEM,MAAOC,EAAK,cAAe,CACzB,qBAAsBZ,EACtB,yBAA0BE,KAG5BC,EAAA,OAAAE,IAAA,2CAAKQ,QAASb,GACZG,EAAA,QAAAE,IAAA,2CAAMS,KAAK,YAEbX,EAAA,OAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,8CAEDX,KAAKqB,UAAYrB,KAAKsB,iBACrBb,EAAA,iBAAAE,IAAA,2CAAeY,SAAS,UAAUvB,KAAKsB,iBAExCtB,KAAKwB,WACJf,EAAA,UAAAE,IAAA,2CAAQc,GAAG,gBAAgBC,KAAK,SAASC,QAAUC,GAAM5B,KAAK6B,eAAef,KAAK,CAAEgB,cAAeF,KACjGnB,EAAA,QAAAE,IAAA,2CAAMM,MAAM,WAAS,4BACrBR,EAAA,YAAAE,IAAA,2CAAUoB,KAAK,WAIlBxB,IAAYP,KAAKqB,UAChBZ,EAAA,UAAAE,IAAA,2CAAQc,GAAG,cAAcC,KAAK,SAASC,QAAS,IAAO3B,KAAKgC,UAAYhC,KAAKgC,UAC3EvB,EAAA,QAAAE,IAAA,2CAAMM,MAAM,WAAS,0BACrBR,EAAA,YAAAE,IAAA,2CAAUoB,KAAM/B,KAAKgC,SAAW,QAAU,WAIhDvB,EAAA,OAAAE,IAAA,2CAAKQ,QAASZ,GAAWP,KAAKqB,WAAarB,KAAKgC,SAAUf,MAAM,QAC9DR,EAAA,QAAAE,IAAA,2CAAMS,KAAK,U","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as s,h as t,F as o,a as i}from"./p-e6cf4fdb.js";import{c as l}from"./p-8a1a6e56.js";import{d as r}from"./p-9438a55c.js";import{v as d}from"./p-14616bce.js";const a=":host{display:inline-block;max-inline-size:100%}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-label{border-radius:4px;display:inline-block;line-height:1.5;max-inline-size:100%;padding-block:4px;padding-inline:8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:inline-end;font-size:1rem;margin-block-end:-4px;margin-inline-start:8px;margin-inline-end:-4px;margin-block-start:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label{background-color:#f2f2f2;border-color:#f2f2f2;color:#191919}.dso-label.dso-label-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#191919}.dso-label.dso-label-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-label.dso-label-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-label.dso-label-warning{background-color:#dcd400;border-color:#dcd400;color:#191919}.dso-label.dso-label-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-label.dso-label-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;border-color:#fff;color:#191919;outline:1px solid #ccc;outline-offset:-1px}.dso-label.dso-label-attention{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}.dso-label.dso-compact{padding-block:0;padding-inline:8px}.dso-label.dso-hover .dso-label-content{text-decoration:line-through}.dso-truncate.dso-label-content{display:inline-block;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}:host([removable]) .dso-truncate.dso-label-content{max-inline-size:calc(100% - 28px)}";const n=a;const c=new ResizeObserver(r((e=>{e.forEach((({target:e})=>{if(b(e)){e._truncateLabel()}}))}),150));function b(e){return e.tagName==="DSO-LABEL"}function f(e){return e.scrollWidth>e.clientWidth}const h=class{constructor(t){e(this,t);this.dsoRemoveClick=s(this,"dsoRemoveClick",7);this.compact=undefined;this.removable=undefined;this.status=undefined;this.removeHover=undefined;this.removeFocus=undefined;this.truncate=undefined;this.textHover=undefined;this.textFocus=undefined;this.isTruncated=false;this.labelText=""}watchRemovable(e){if(e){this.startMutationObserver()}else{this.stopMutationObserver()}}watchTruncate(e){if(e){this.startTruncate()}else{this.stopTruncate()}}keyDownListener(e){if(e.key==="Escape"){this.textHover=false;this.textFocus=false}}async _truncateLabel(){setTimeout((()=>{this.isTruncated=!!this.labelContent&&f(this.labelContent)}))}syncLabelText(){var e,s;this.labelText=(s=(e=this.host.textContent)===null||e===void 0?void 0:e.trim())!==null&&s!==void 0?s:""}componentDidLoad(){if(this.truncate){this.startTruncate()}if(this.removable){this.startMutationObserver()}}disconnectedCallback(){this.stopTruncate();this.stopMutationObserver(true)}startMutationObserver(){this.mutationObserver=new MutationObserver((()=>this.syncLabelText()));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true});this.syncLabelText()}stopMutationObserver(e=false){var s;if(e||!(this.truncate&&this.removable)){(s=this.mutationObserver)===null||s===void 0?void 0:s.disconnect();delete this.mutationObserver}}startTruncate(){c.observe(this.host);this.startMutationObserver();this._truncateLabel()}stopTruncate(){c.unobserve(this.host);this.stopMutationObserver();this.isTruncated=false}render(){return t(o,{key:"cbeb665084f6c9ae343ec221c27e7fda24a2215b"},t("span",{key:"e5876df3c31450fdf4b06c988f55cfcab5278220","aria-describedby":"toggle-anchor",class:l("dso-label",{[`dso-label-${this.status}`]:this.status,"dso-compact":this.compact&&!this.removable,"dso-hover":this.removeHover||this.removeFocus})},t("slot",{key:"200321159ee7c00f20678f66bd25aadf4ab160d2",name:"symbol"}),t("span",{key:"17a7ffd2f9f89e301930910ad102a7762a614448",class:l("dso-label-content",{"dso-truncate":!!this.truncate}),ref:e=>this.labelContent=e,tabindex:this.truncate&&this.isTruncated?0:undefined,onMouseEnter:()=>this.textHover=true,onMouseLeave:()=>this.textHover=false,onFocus:()=>this.textFocus=true,onBlur:()=>this.textFocus=false},t("slot",{key:"606fdf8fb1b38519741054b3c84fdce6a9af7b3b"})),this.removable&&t("button",{key:"74d6b6e8c4da368c22aedbd538d4d57112e8834d",type:"button",onClick:e=>this.dsoRemoveClick.emit(e),onMouseEnter:()=>this.removeHover=true,onMouseLeave:()=>this.removeHover=false,onFocus:()=>this.removeFocus=true,onBlur:()=>this.removeFocus=false},t("span",{key:"84ce4a2c450ed605f4337e098690dd0843023812",class:"sr-only"},"Verwijder: ",this.labelText),t("dso-icon",{key:"02e15f5243b78776015f36010bd672f42247dcc8",icon:"times"}))),this.isTruncated&&t("dso-tooltip",{key:"0480b653c2d490919ccab44cb8ba1dab6e9e608b",stateless:true,id:"toggle-anchor",active:this.textHover||this.textFocus,position:"top",strategy:"absolute"},this.labelText))}get host(){return i(this)}static get watchers(){return{removable:["watchRemovable"],truncate:["watchTruncate"]}}};h.style=n;const u="button.dso-slider{border:0;padding:0}button.dso-slider:focus-visible{outline:2px solid #323232;outline-offset:1px}button.dso-slider svg rect{fill:#999;transition:fill 0.25s}button.dso-slider svg circle{transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transform:translateX(10px);fill:#fff}button.dso-slider[aria-checked=true] svg rect{fill:#275937}button.dso-slider[aria-checked=true] svg circle{transform:translateX(30px);fill:#fff}button.dso-slider[disabled] svg rect{fill:#ccc}button.dso-slider[disabled] svg circle{fill:#e5e5e5}button.dso-slider[disabled][aria-checked=true] svg rect{fill:#a8bcaf}button.dso-slider[disabled][aria-checked=true] svg circle{fill:#e5e5e5}.dso-slider{border-radius:24px;display:inline-flex}.dso-slider:hover{cursor:pointer}";const p=u;const g=class{constructor(t){e(this,t);this.dsoActiveChange=s(this,"dsoActiveChange",5);this.checked=false;this.disabled=false;this.accessibleLabel=undefined;this.labelledbyId=undefined;this.hasVisibleLabel=undefined;this.identifier=d()}handleSwitch(e){this.dsoActiveChange.emit({originalEvent:e,checked:!this.checked})}componentWillLoad(){this.hasVisibleLabel=this.host.querySelector("*")!==null}render(){return t(o,null,t("button",Object.assign({key:"2f041ba46888fc7f12eca25309eedaf6f92509f5",id:this.identifier,role:"switch",class:"dso-slider","aria-checked":""+this.checked,disabled:this.disabled,onClick:e=>this.handleSwitch(e)},this.accessibleLabel?{"aria-label":this.accessibleLabel}:{},this.labelledbyId?{"aria-labelledby":this.labelledbyId}:{}),t("svg",{key:"2028e621c3dfd4d6751044eeeb5a887fd196476d",xmlns:"http://www.w3.org/2000/svg",width:"40",height:"20",viewBox:"0 0 40 20"},t("g",{key:"f610a403b34591b0fb0571d191430749cff28c64",fill:"none","fill-rule":"evenodd"},t("rect",{key:"734939934ef6152a5961262abe5f6454a7e72780",width:"40",height:"20",fill:"currentColor",rx:"10"}),t("circle",{key:"3d603a04e5d2d0c741317188dd0f2f612223d585",cy:"10",r:"8",fill:"currentColor"})))),this.hasVisibleLabel&&t("label",{key:"66c9f4d20e3bbe2855a718cac3583b68dd907b8c",htmlFor:this.identifier},t("slot",{key:"408fda225c63c407acbeb341761c2ab86851a3bc"})))}get host(){return i(this)}};g.style=p;export{h as dso_label,g as dso_slide_toggle};
|
|
2
|
+
//# sourceMappingURL=p-7031be39.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["labelCss","DsoLabelStyle0","resizeObserver","ResizeObserver","debounce","entries","forEach","target","isDsoLabelComponent","_truncateLabel","element","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","watchRemovable","removable","this","startMutationObserver","stopMutationObserver","watchTruncate","truncate","startTruncate","stopTruncate","keyDownListener","event","key","textHover","textFocus","setTimeout","isTruncated","labelContent","syncLabelText","labelText","_b","_a","host","textContent","trim","componentDidLoad","disconnectedCallback","mutationObserver","MutationObserver","observe","characterData","childList","subtree","attributes","force","disconnect","unobserve","render","h","Fragment","class","clsx","status","compact","removeHover","removeFocus","name","ref","tabindex","undefined","onMouseEnter","onMouseLeave","onFocus","onBlur","type","onClick","e","dsoRemoveClick","emit","icon","stateless","id","active","position","strategy","slideToggleCss","DsoSlideToggleStyle0","SlideToggle","v4","handleSwitch","dsoActiveChange","originalEvent","checked","componentWillLoad","hasVisibleLabel","querySelector","Object","assign","identifier","role","disabled","accessibleLabel","labelledbyId","xmlns","width","height","viewBox","fill","rx","cy","r","htmlFor"],"sources":["src/components/label/label.scss?tag=dso-label&encapsulation=shadow","src/components/label/label.tsx","src/components/slide-toggle/slide-toggle.scss?tag=dso-slide-toggle","src/components/slide-toggle/slide-toggle.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-inline-size: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-inline-size: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-inline-size: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries: ResizeObserverEntry[]) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150),\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"error\" | \"bright\" | \"attention\";\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated = false;\r\n\r\n @State()\r\n labelText = \"\";\r\n\r\n @Watch(\"removable\")\r\n watchRemovable(removable: boolean) {\r\n if (removable) {\r\n this.startMutationObserver();\r\n } else {\r\n this.stopMutationObserver();\r\n }\r\n }\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = !!this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent?.trim() ?? \"\";\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n\r\n this.stopMutationObserver(true);\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n this.mutationObserver = new MutationObserver(() => this.syncLabelText());\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.syncLabelText();\r\n }\r\n\r\n private stopMutationObserver(force = false): void {\r\n if (force || !(this.truncate && this.removable)) {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n resizeObserver.unobserve(this.host);\r\n this.stopMutationObserver();\r\n this.isTruncated = false;\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\nbutton.dso-slider {\r\n border: 0;\r\n padding: 0;\r\n\r\n &:focus-visible {\r\n outline: 2px solid colors.$grijs-80;\r\n outline-offset: 1px;\r\n }\r\n\r\n svg {\r\n rect {\r\n fill: colors.$grijs-40;\r\n transition: fill 0.25s;\r\n }\r\n\r\n circle {\r\n @include utilities.transition(transform);\r\n\r\n transform: translateX(10px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen;\r\n }\r\n\r\n circle {\r\n transform: translateX(30px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[disabled] svg {\r\n rect {\r\n fill: colors.$grijs-20;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n\r\n &[disabled][aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen-40;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n}\r\n\r\n.dso-slider {\r\n border-radius: units.$u3;\r\n display: inline-flex;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, Fragment, Prop, EventEmitter, Element, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\nimport { SlideToggleActiveEvent } from \"./slide-toggle.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-slide-toggle\",\r\n styleUrl: \"slide-toggle.scss\",\r\n shadow: false,\r\n})\r\nexport class SlideToggle implements ComponentInterface {\r\n @Element()\r\n private host!: HTMLDsoSlideToggleElement;\r\n\r\n /**\r\n * Set to true if Slide Toggle is checked.\r\n */\r\n @Prop()\r\n checked = false;\r\n\r\n /**\r\n * Disables the Slide Toggle, preventing it from checking/unchecking and therefor not emitting any events.\r\n */\r\n @Prop()\r\n disabled = false;\r\n\r\n /**\r\n * When provided the `<button>` will be labelled with `aria-label`. For a visible label provide a `<span>` inside the component.\r\n */\r\n @Prop()\r\n accessibleLabel?: string;\r\n\r\n /**\r\n * Provide the `id` of the element that labels this element. this property sets the `aria-labelledby` on the switch button.\r\n */\r\n @Prop()\r\n labelledbyId?: string;\r\n\r\n @State()\r\n hasVisibleLabel?: boolean;\r\n\r\n /**\r\n * Provide an `id` for the `<button>`. Useful for placing your to place your own `<label for=\"id\">`.\r\n */\r\n @Prop()\r\n identifier = v4();\r\n\r\n /**\r\n * Emitted when user checks or unchecks the Slide Toggle.\r\n */\r\n @Event({ composed: false })\r\n dsoActiveChange!: EventEmitter<SlideToggleActiveEvent>;\r\n\r\n private handleSwitch(e: Event): void {\r\n this.dsoActiveChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.hasVisibleLabel = this.host.querySelector(\"*\") !== null;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n id={this.identifier}\r\n role=\"switch\"\r\n class=\"dso-slider\"\r\n aria-checked={\"\" + this.checked}\r\n disabled={this.disabled}\r\n onClick={(e) => this.handleSwitch(e)}\r\n {...(this.accessibleLabel ? { \"aria-label\": this.accessibleLabel } : {})}\r\n {...(this.labelledbyId ? { \"aria-labelledby\": this.labelledbyId } : {})}\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"20\" viewBox=\"0 0 40 20\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <rect width=\"40\" height=\"20\" fill=\"currentColor\" rx=\"10\" />\r\n <circle cy=\"10\" r=\"8\" fill=\"currentColor\" />\r\n </g>\r\n </svg>\r\n </button>\r\n {this.hasVisibleLabel && (\r\n <label htmlFor={this.identifier}>\r\n <slot />\r\n </label>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["labelCss","DsoLabelStyle0","resizeObserver","ResizeObserver","debounce","entries","forEach","target","isDsoLabelComponent","_truncateLabel","element","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","watchRemovable","removable","this","startMutationObserver","stopMutationObserver","watchTruncate","truncate","startTruncate","stopTruncate","keyDownListener","event","key","textHover","textFocus","setTimeout","isTruncated","labelContent","syncLabelText","labelText","_b","_a","host","textContent","trim","componentDidLoad","disconnectedCallback","mutationObserver","MutationObserver","observe","characterData","childList","subtree","attributes","force","disconnect","unobserve","render","h","Fragment","class","clsx","status","compact","removeHover","removeFocus","name","ref","tabindex","undefined","onMouseEnter","onMouseLeave","onFocus","onBlur","type","onClick","e","dsoRemoveClick","emit","icon","stateless","id","active","position","strategy","slideToggleCss","DsoSlideToggleStyle0","SlideToggle","v4","handleSwitch","dsoActiveChange","originalEvent","checked","componentWillLoad","hasVisibleLabel","querySelector","Object","assign","identifier","role","disabled","accessibleLabel","labelledbyId","xmlns","width","height","viewBox","fill","rx","cy","r","htmlFor"],"sources":["src/components/label/label.scss?tag=dso-label&encapsulation=shadow","src/components/label/label.tsx","src/components/slide-toggle/slide-toggle.scss?tag=dso-slide-toggle","src/components/slide-toggle/slide-toggle.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-inline-size: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-inline-size: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-inline-size: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries: ResizeObserverEntry[]) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150),\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"error\" | \"bright\" | \"attention\";\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated = false;\r\n\r\n @State()\r\n labelText = \"\";\r\n\r\n @Watch(\"removable\")\r\n watchRemovable(removable: boolean) {\r\n if (removable) {\r\n this.startMutationObserver();\r\n } else {\r\n this.stopMutationObserver();\r\n }\r\n }\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = !!this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent?.trim() ?? \"\";\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n\r\n this.stopMutationObserver(true);\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n this.mutationObserver = new MutationObserver(() => this.syncLabelText());\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.syncLabelText();\r\n }\r\n\r\n private stopMutationObserver(force = false): void {\r\n if (force || !(this.truncate && this.removable)) {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n resizeObserver.unobserve(this.host);\r\n this.stopMutationObserver();\r\n this.isTruncated = false;\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\nbutton.dso-slider {\r\n border: 0;\r\n padding: 0;\r\n\r\n &:focus-visible {\r\n outline: 2px solid colors.$grijs-80;\r\n outline-offset: 1px;\r\n }\r\n\r\n svg {\r\n rect {\r\n fill: colors.$grijs-40;\r\n transition: fill 0.25s;\r\n }\r\n\r\n circle {\r\n @include utilities.transition(transform);\r\n\r\n transform: translateX(10px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen;\r\n }\r\n\r\n circle {\r\n transform: translateX(30px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[disabled] svg {\r\n rect {\r\n fill: colors.$grijs-20;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n\r\n &[disabled][aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen-40;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n}\r\n\r\n.dso-slider {\r\n border-radius: units.$u3;\r\n display: inline-flex;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, Fragment, Prop, EventEmitter, Element, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\nimport { SlideToggleActiveEvent } from \"./slide-toggle.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-slide-toggle\",\r\n styleUrl: \"slide-toggle.scss\",\r\n shadow: false,\r\n})\r\nexport class SlideToggle implements ComponentInterface {\r\n @Element()\r\n private host!: HTMLDsoSlideToggleElement;\r\n\r\n /**\r\n * Set to true if Slide Toggle is checked.\r\n */\r\n @Prop()\r\n checked = false;\r\n\r\n /**\r\n * Disables the Slide Toggle, preventing it from checking/unchecking and therefor not emitting any events.\r\n */\r\n @Prop()\r\n disabled = false;\r\n\r\n /**\r\n * When provided the `<button>` will be labelled with `aria-label`. For a visible label provide a `<span>` inside the component.\r\n */\r\n @Prop()\r\n accessibleLabel?: string;\r\n\r\n /**\r\n * Provide the `id` of the element that labels this element. this property sets the `aria-labelledby` on the switch button.\r\n */\r\n @Prop()\r\n labelledbyId?: string;\r\n\r\n @State()\r\n hasVisibleLabel?: boolean;\r\n\r\n /**\r\n * Provide an `id` for the `<button>`. Useful for placing your to place your own `<label for=\"id\">`.\r\n */\r\n @Prop()\r\n identifier = v4();\r\n\r\n /**\r\n * Emitted when user checks or unchecks the Slide Toggle.\r\n */\r\n @Event({ composed: false })\r\n dsoActiveChange!: EventEmitter<SlideToggleActiveEvent>;\r\n\r\n private handleSwitch(e: Event): void {\r\n this.dsoActiveChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.hasVisibleLabel = this.host.querySelector(\"*\") !== null;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n id={this.identifier}\r\n role=\"switch\"\r\n class=\"dso-slider\"\r\n aria-checked={\"\" + this.checked}\r\n disabled={this.disabled}\r\n onClick={(e) => this.handleSwitch(e)}\r\n {...(this.accessibleLabel ? { \"aria-label\": this.accessibleLabel } : {})}\r\n {...(this.labelledbyId ? { \"aria-labelledby\": this.labelledbyId } : {})}\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"20\" viewBox=\"0 0 40 20\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <rect width=\"40\" height=\"20\" fill=\"currentColor\" rx=\"10\" />\r\n <circle cy=\"10\" r=\"8\" fill=\"currentColor\" />\r\n </g>\r\n </svg>\r\n </button>\r\n {this.hasVisibleLabel && (\r\n <label htmlFor={this.identifier}>\r\n <slot />\r\n </label>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as s,h as t,F as l,f as c,a as o}from"./p-e6cf4fdb.js";import{c as i}from"./p-8a1a6e56.js";import{c as a}from"./p-97f788d4.js";const d=":host{display:block;padding-block:16px;padding-inline:16px 32px;position:relative}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;inset-inline-end:8px;inset-block-start:8px}:host(:not([active],[fixed])),:host([active=false]:not([fixed])),:host([active=false][fixed=false]){display:none}button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";const n=d;const b=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7);this.fixed=undefined;this.active=undefined}render(){return t(l,{key:"3dcb0b7964995734a527775251fac2c0dac5a62f"},t("slot",{key:"b6217bab04d44d36de11b0876a07825253303100"}),!this.fixed&&t("button",{key:"41c1f3facca9066b6c760e5a7b9b71aeaecb1590",type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{key:"615e0cf09f692c0cb2a9efdf96e35035db6baf20",icon:"times"}),t("span",{key:"f69da4351264fe6283e71e6fd2af584c09ef6815",class:"sr-only"},"Sluiten")))}};b.style=n;const r='.sc-dso-selectable-h{position:relative;display:var(--dso-selectable-display, block);padding-inline-start:32px}.sc-dso-selectable-h label.sc-dso-selectable{font-weight:400;line-height:24px;margin:0}.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{block-size:24px;inset-inline-start:0;margin:0;opacity:0;position:absolute;inset-block-start:0;inline-size:24px;z-index:100;zoom:1}@media (prefers-contrast: more){.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{opacity:1}}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:not([disabled]),.sc-dso-selectable-h input[type=radio].sc-dso-selectable:not([disabled]){cursor:pointer}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable{display:inline;font-style:normal;padding-inline-start:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{background:#fff;border:0;box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);content:"";block-size:20px;inset-inline-start:2px;position:absolute;inset-block-start:2px;inline-size:20px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus{outline:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);block-size:18px;inset-inline-start:3px;inset-block-start:3px;inline-size:18px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox].active.sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].active.sc-dso-selectable+label.sc-dso-selectable::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;block-size:22px;inset-inline-start:1px;inset-block-start:1px;inline-size:22px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:4px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::after{background:transparent;content:"";inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;zoom:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after,.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{opacity:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after{border:solid;border-color:var(--dso-selectable-color, #39870c);border-block-start-color:transparent;border-width:0 0 3px 3px;block-size:8px;transform:rotate(-45deg);inline-size:13px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);block-size:12px;inline-size:12px}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:50%}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::after{background-color:transparent;border-radius:50%;content:"";block-size:12px;inset-inline-start:6px;opacity:0;position:absolute;inset-block-start:6px;inline-size:12px;zoom:1}.sc-dso-selectable-h input[type=radio].sc-dso-selectable:checked+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}[invalid].sc-dso-selectable-h:not([invalid=false]){--dso-selectable-color:#ce3f51}.sc-dso-selectable-h:not(:last-child){margin-block-end:8px}*.sc-dso-selectable,*.sc-dso-selectable::after,*.sc-dso-selectable::before{box-sizing:border-box}.dso-selectable-container.sc-dso-selectable{display:inline-block}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;min-block-size:24px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{position:relative;inset-inline-start:-32px;padding-inline-start:32px;margin-inline-end:-32px;border-radius:2px;outline-offset:3px;outline:3px solid #008ccc}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before,.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);block-size:20px;inset-inline-start:2px;inset-block-start:2px;inline-size:20px}';const p=r;const h=class{constructor(t){e(this,t);this.dsoChange=s(this,"dsoChange",7);this.fallbackIdentifier=a("DsoSelectable");this.handleOnChange=e=>{const{target:s}=e;this.dsoChange.emit({originalEvent:e,checked:s instanceof HTMLInputElement&&s.checked});c(this.host)};this.type=undefined;this.identifier=undefined;this.name=undefined;this.value=undefined;this.invalid=undefined;this.describedById=undefined;this.labelledById=undefined;this.disabled=undefined;this.required=undefined;this.checked=undefined;this.indeterminate=undefined;this.infoFixed=undefined;this.infoActive=false;this.keyboardFocus=false}async toggleInfo(e){this.infoActive=e!==null&&e!==void 0?e:!this.infoActive}componentDidLoad(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect();this.mutationObserver=new MutationObserver((()=>c(this.host)));this.mutationObserver.observe(this.host,{childList:true});this.setIndeterminate()}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}setIndeterminate(){if(!(this.input instanceof HTMLInputElement)||this.type!=="checkbox"){return}this.input.indeterminate=!!this.indeterminate}render(){var e;const s=!!this.host.querySelector('[slot="info"]');return t(l,{key:"0061629edfc95238fad0a7ce59ef33d784715f48"},t("div",{key:"21eead2fe7c96e0019baf0249c6d901276dde3a6",class:"dso-selectable-container"},t("div",{key:"c0ef4e985f2cbc828579556957c52631e6fbb418",class:i("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{key:"50e495ec15d8319cb29c0de9931d8e35400228c0",type:this.type,id:this.getIdentifier(),value:this.value,name:this.name,"aria-invalid":(e=this.invalid)===null||e===void 0?void 0:e.toString(),"aria-describedby":s&&this.infoFixed?this.describedById:undefined,"aria-labelledBy":this.labelledById,disabled:this.disabled,required:this.required,checked:this.checked,onChange:this.handleOnChange,onBlur:()=>this.keyboardFocus=false,onKeyUp:()=>this.keyboardFocus=true,ref:e=>this.input=e}),!this.labelledById?t("label",{htmlFor:this.getIdentifier()},t("slot",null)):t("label",null,t("slot",null))),s&&!this.infoFixed&&t("dso-info-button",{key:"eaedc13f6945d9eb2b45d2db3d6d8f203d67b0b7",active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active})),s&&t("dso-info",{key:"d33b87765ac73156cc2c6b8a18054e708a5963ec",id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",{key:"228a0f425250e29a10c30a5b678ea7fb4a24fc14"},t("slot",{key:"597d0b42196974aa8686e98570b543de11cd8f93",name:"info"}))),t("slot",{key:"1a97013dc9f4d5c534cf765453c7e8ecbe879e81",name:"options"}))}componentDidRender(){if(this.input&&typeof this.checked==="boolean"&&this.input.checked!==this.checked){this.input.checked=this.checked}}getIdentifier(){var e;return(e=this.identifier)!==null&&e!==void 0?e:this.fallbackIdentifier}get host(){return o(this)}static get watchers(){return{indeterminate:["setIndeterminate"]}}};h.style=p;export{b as dso_info,h as dso_selectable};
|
|
2
|
+
//# sourceMappingURL=p-74c191d2.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["infoCss","DsoInfoStyle0","Info","render","h","Fragment","key","this","fixed","type","onClick","e","dsoClose","emit","icon","class","selectableCss","DsoSelectableStyle0","Selectable","fallbackIdentifier","createIdentifier","handleOnChange","target","dsoChange","originalEvent","checked","HTMLInputElement","forceUpdate","host","toggleInfo","active","infoActive","componentDidLoad","_a","mutationObserver","disconnect","MutationObserver","observe","childList","setIndeterminate","disconnectedCallback","input","indeterminate","hasInfo","querySelector","clsx","keyboardFocus","id","getIdentifier","value","name","invalid","toString","infoFixed","describedById","undefined","labelledById","disabled","required","onChange","onBlur","onKeyUp","ref","el","htmlFor","onDsoToggle","detail","onDsoClose","componentDidRender","identifier"],"sources":["src/components/info/info.scss?tag=dso-info&encapsulation=shadow","src/components/info/info.tsx","src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/info\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include info.root();\r\n}\r\n\r\n:host(:not([active], [fixed])),\r\n:host([active=\"false\"]:not([fixed])),\r\n:host([active=\"false\"][fixed=\"false\"]) {\r\n display: none;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Fragment } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-info\",\r\n styleUrl: \"./info.scss\",\r\n shadow: true,\r\n})\r\nexport class Info {\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop({ reflect: true })\r\n fixed?: boolean;\r\n\r\n /**\r\n * Whether the Info is active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the close button.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<MouseEvent>;\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <slot></slot>\r\n {!this.fixed && (\r\n <button type=\"button\" onClick={(e) => this.dsoClose.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n @include selectable.root(false);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-block-size: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n position: relative;\r\n inset-inline-start: -(selectable.$symbol-indent);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n margin-inline-end: -(selectable.$symbol-indent);\r\n\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Element,\r\n State,\r\n forceUpdate,\r\n Watch,\r\n Method,\r\n ComponentInterface,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this control\r\n * @slot info - Rich Content to be slotted in Info.\r\n * @slot options - for further nested selectable options: `<ul class=\"dso-selectable-options\" slot=\"options\">` and wrap each Selectable in a `<li>`.\r\n */\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable implements ComponentInterface {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop({ reflect: true })\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-selectable-container\">\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot />\r\n </label>\r\n ) : (\r\n <label>\r\n <slot />\r\n </label>\r\n )}\r\n </div>\r\n {hasInfo && !this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n <slot name=\"options\" />\r\n </Fragment>\r\n );\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.input && typeof this.checked === \"boolean\" && this.input.checked !== this.checked) {\r\n this.input.checked = this.checked;\r\n }\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["infoCss","DsoInfoStyle0","Info","render","h","Fragment","key","this","fixed","type","onClick","e","dsoClose","emit","icon","class","selectableCss","DsoSelectableStyle0","Selectable","fallbackIdentifier","createIdentifier","handleOnChange","target","dsoChange","originalEvent","checked","HTMLInputElement","forceUpdate","host","toggleInfo","active","infoActive","componentDidLoad","_a","mutationObserver","disconnect","MutationObserver","observe","childList","setIndeterminate","disconnectedCallback","input","indeterminate","hasInfo","querySelector","clsx","keyboardFocus","id","getIdentifier","value","name","invalid","toString","infoFixed","describedById","undefined","labelledById","disabled","required","onChange","onBlur","onKeyUp","ref","el","htmlFor","onDsoToggle","detail","onDsoClose","componentDidRender","identifier"],"sources":["src/components/info/info.scss?tag=dso-info&encapsulation=shadow","src/components/info/info.tsx","src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/info\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include info.root();\r\n}\r\n\r\n:host(:not([active], [fixed])),\r\n:host([active=\"false\"]:not([fixed])),\r\n:host([active=\"false\"][fixed=\"false\"]) {\r\n display: none;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Fragment } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-info\",\r\n styleUrl: \"./info.scss\",\r\n shadow: true,\r\n})\r\nexport class Info {\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop({ reflect: true })\r\n fixed?: boolean;\r\n\r\n /**\r\n * Whether the Info is active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the close button.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<MouseEvent>;\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <slot></slot>\r\n {!this.fixed && (\r\n <button type=\"button\" onClick={(e) => this.dsoClose.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n @include selectable.root(false);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-block-size: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n position: relative;\r\n inset-inline-start: -(selectable.$symbol-indent);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n margin-inline-end: -(selectable.$symbol-indent);\r\n\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Element,\r\n State,\r\n forceUpdate,\r\n Watch,\r\n Method,\r\n ComponentInterface,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this control\r\n * @slot info - Rich Content to be slotted in Info.\r\n * @slot options - for further nested selectable options: `<ul class=\"dso-selectable-options\" slot=\"options\">` and wrap each Selectable in a `<li>`.\r\n */\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable implements ComponentInterface {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop({ reflect: true })\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-selectable-container\">\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot />\r\n </label>\r\n ) : (\r\n <label>\r\n <slot />\r\n </label>\r\n )}\r\n </div>\r\n {hasInfo && !this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n <slot name=\"options\" />\r\n </Fragment>\r\n );\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.input && typeof this.checked === \"boolean\" && this.input.checked !== this.checked) {\r\n this.input.checked = this.checked;\r\n }\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as e,r as t,c as s,H as i,a}from"./p-e6cf4fdb.js";import{c as d}from"./p-97f788d4.js";var o;(function(e){e[e["Sunday"]=0]="Sunday";e[e["Monday"]=1]="Monday";e[e["Tuesday"]=2]="Tuesday";e[e["Wednesday"]=3]="Wednesday";e[e["Thursday"]=4]="Thursday";e[e["Friday"]=5]="Friday";e[e["Saturday"]=6]="Saturday"})(o||(o={}));function n(e,t,s){const i=parseInt(s,10);const a=parseInt(t,10);const d=parseInt(e,10);const o=Number.isInteger(d)&&Number.isInteger(a)&&Number.isInteger(i)&&a>0&&a<=12&&i>0&&i<=31&&d>0;if(o){return new Date(d,a-1,i)}}function c(e){if(!e){return}const t=e.split("-");if(t.length===3&&typeof t[0]==="string"&&typeof t[1]==="string"&&typeof t[2]==="string"&&t[2].length===4){return n(t[2],t[1],t[0])}}function r(e){if(!e){return""}const t=e.getDate().toString(10).padStart(2,"0");const s=(e.getMonth()+1).toString(10).padStart(2,"0");const i=e.getFullYear().toString(10).padStart(2,"0");return`${t}-${s}-${i}`}function l(e,t){if(!e||!t){return false}return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function p(e,t){const s=new Date(e);s.setDate(s.getDate()+t);return s}function f(e,t=o.Monday){const s=new Date(e);const i=s.getDay();const a=(i<t?7:0)+i-t;s.setDate(s.getDate()-a);return s}function h(e,t=o.Monday){const s=new Date(e);const i=s.getDay();const a=(i<t?-7:0)+6-(i-t);s.setDate(s.getDate()+a);return s}function b(e){return new Date(e.getFullYear(),e.getMonth(),1)}function u(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function y(e,t){const s=new Date(e);s.setMonth(t);return s}function g(e,t){const s=new Date(e);s.setFullYear(t);return s}function k(e,t,s){return _(e,t,s)===e}function _(e,t,s){const i=e.getTime();if(t&&t instanceof Date&&i<t.getTime()){return t}if(s&&s instanceof Date&&i>s.getTime()){return s}return e}function m(e,t){const s=[];let i=e;while(!l(i,t)){s.push(i);i=p(i,1)}s.push(i);return s}function x(e,t=o.Monday){const s=f(b(e),t);const i=h(u(e),t);return m(s,i)}const v=({focusedDay:t,today:s,day:i,onDaySelect:a,onKeyboardNavigation:d,focusedDayRef:o,inRange:n})=>{const c=l(i,s);const p=l(i,t);const f=i.getMonth()!==t.getMonth();const h=!n;function b(e){a(e,i)}return e("button",{class:{"dso-date__day":true,"is-today":c},tabIndex:p?0:-1,onClick:b,onKeyDown:d,disabled:h||f,type:"button",ref:e=>{if(p&&e&&o){o(e)}}},e("span",{"aria-hidden":"true"},i.getDate()),e("span",{class:"dso-date__vhidden"},r(i)))};function w(e,t){const s=[];for(let i=0;i<e.length;i+=t){s.push(e.slice(i,i+t))}return s}function z(e,t,s){return e.map(((i,a)=>{const d=(a+t)%e.length;const o=e[d];if(!o){throw new Error("No item found")}return s(o)}))}const D=({selectedDate:t,focusedDate:s,labelledById:i,localization:a,firstDayOfWeek:d,min:o,max:n,onDateSelect:c,onKeyboardNavigation:r,focusedDayRef:p,onMouseDown:f,onFocusIn:h})=>{const b=new Date;const u=x(s,d);return e("table",{class:"dso-date__table",role:"grid","aria-labelledby":i,onFocusin:h,onMouseDown:f},e("thead",null,e("tr",null,z(a.dayNames,d,(t=>e("th",{class:"dso-date__table-header",scope:"col"},e("span",{"aria-hidden":"true"},t.substr(0,2)),e("span",{class:"dso-date__vhidden"},t)))))),e("tbody",null,w(u,7).map((i=>e("tr",{class:"dso-date__row"},i.map((i=>e("td",{class:"dso-date__cell",role:"gridcell","aria-selected":l(i,t)?"true":undefined,"aria-current":l(i,b)?"date":undefined},e(v,{day:i,today:b,focusedDay:s,inRange:k(i,o,n),onDaySelect:c,onKeyboardNavigation:r,focusedDayRef:p})))))))))};const M={buttonLabel:"Kies datum",placeholder:"dd-mm-jjjj",selectedDateMessage:"Geselecteerde datum is",prevMonthLabel:"Vorige maand",nextMonthLabel:"Volgende maand",monthSelectLabel:"Maand",yearSelectLabel:"Jaar",closeLabel:"Sluiten",keyboardInstruction:"Gebruik de pijltjestoetsen om een dag te kiezen",calendarHeading:"Kies een datum",dayNames:["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag"],monthNames:["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]};function N(e,t,s,i){if(s&&i){const{minYear:a,minMonth:d}={minYear:s.getFullYear(),minMonth:s.getMonth()};const{maxYear:o,maxMonth:n}={maxYear:i.getFullYear(),maxMonth:i.getMonth()};return e.monthNames.filter(((e,s)=>{if(a===t&&o===t){return s>=d&&s>=n}if(a===t){return s>=d}if(o===t){return s<=n}return true}))}if(s){const{minYear:i,minMonth:a}={minYear:s.getFullYear(),minMonth:s.getMonth()};return e.monthNames.filter(((e,s)=>i===t&&s>=a))}if(i){const{maxYear:s,maxMonth:a}={maxYear:i.getFullYear(),maxMonth:i.getMonth()};return e.monthNames.filter(((e,i)=>s===t&&i<=a))}return e.monthNames}function S(e,t){const s=[];for(let i=e;i<=t;i++){s.push(i)}return s}const T='.sc-dso-date-picker-legacy-h{display:block}[invalid].sc-dso-date-picker-legacy-h:not([invalid=false]) .dso-date__input.sc-dso-date-picker-legacy{border-color:#ce3f51}.dso-date.sc-dso-date-picker-legacy *.sc-dso-date-picker-legacy,.dso-date.sc-dso-date-picker-legacy *.sc-dso-date-picker-legacy::before,.dso-date.sc-dso-date-picker-legacy *.sc-dso-date-picker-legacy::after{box-sizing:border-box}.dso-date.sc-dso-date-picker-legacy{box-sizing:border-box;color:#191919;display:block;font-family:"Asap", sans-serif;margin:0;position:relative;text-align:start;inline-size:100%}.dso-date.sc-dso-date-picker-legacy:not(.dso-visible) .dso-date__dialog.sc-dso-date-picker-legacy{display:none}.dso-date__input.sc-dso-date-picker-legacy{display:block;inline-size:100%;block-size:40px;padding-block:6px;padding-inline:14px;font-size:1rem;line-height:1.5;color:#191919;background-color:#fff;background-image:none;border:1px solid #275937;border-radius:4px;transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s}.dso-date__input.sc-dso-date-picker-legacy::-moz-placeholder{color:#666;opacity:1}.dso-date__input.sc-dso-date-picker-legacy:-ms-input-placeholder{color:#666}.dso-date__input.sc-dso-date-picker-legacy::-webkit-input-placeholder{color:#666}.dso-date__input.sc-dso-date-picker-legacy::-ms-expand{background-color:transparent;border:0}.dso-date__input.sc-dso-date-picker-legacy:focus{border-color:#275937;outline:0;box-shadow:inset 0 0 0 1px #275937}.dso-date__input[disabled].sc-dso-date-picker-legacy,.dso-date__input[readonly].sc-dso-date-picker-legacy,fieldset[disabled].sc-dso-date-picker-legacy .dso-date__input.sc-dso-date-picker-legacy{background-color:#fff;opacity:1}.dso-date__input[disabled].sc-dso-date-picker-legacy,fieldset[disabled].sc-dso-date-picker-legacy .dso-date__input.sc-dso-date-picker-legacy{cursor:default}.dso-date__input[disabled].sc-dso-date-picker-legacy{border-color:#e5e5e5;color:#999}.dso-date__input[readonly].sc-dso-date-picker-legacy{border-width:1px}.dso-date__input[type=text].sc-dso-date-picker-legacy{line-height:40px}.dso-date__input[size].sc-dso-date-picker-legacy{inline-size:auto}.dso-date__toggle.sc-dso-date-picker-legacy{-moz-appearance:none;-webkit-appearance:none;-webkit-user-select:none;align-items:center;appearance:none;background:transparent;border:0;border-radius:0;border-end-end-radius:4px;border-start-end-radius:4px;color:#39870c;cursor:pointer;display:flex;block-size:38px;justify-content:center;padding:0;position:absolute;inset-inline-end:0;transform:translateY(-50%);inset-block-start:50%;user-select:none;inline-size:38px;z-index:101}.dso-date__toggle.sc-dso-date-picker-legacy:disabled{color:#afcf9d;cursor:default}.dso-date__dialog.sc-dso-date-picker-legacy{border-width:1px;display:flex;inset-inline-end:0;min-inline-size:320px;opacity:0;position:absolute;inset-block-start:100%;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;visibility:hidden;will-change:transform, opacity, visibility;z-index:210}@media (max-width: 35.9375em){.dso-date__dialog.sc-dso-date-picker-legacy{background:rgba(25, 25, 25, 0.5);inset-block-end:0;position:fixed;inset-inline-start:0;inset-inline-end:0;inset-block-start:0;transform:translateZ(0);transform-origin:bottom center}}.dso-date__dialog.is-left.sc-dso-date-picker-legacy{inset-inline-start:-11px;inset-inline-end:auto;inline-size:auto}.dso-date__dialog.is-active.sc-dso-date-picker-legacy{opacity:1;transform:scale(1.0001) translateZ(0) translateY(0);visibility:visible}.dso-date__dialog-content.sc-dso-date-picker-legacy{background:#fff;border:1px solid rgba(0, 0, 0, 0.1);border-radius:4px;box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.4);margin-inline-start:auto;margin-inline-end:-1px;margin-block-start:8px;max-inline-size:310px;min-inline-size:290px;padding:16px;position:relative;transform:none;inline-size:100%;z-index:210}@media (max-width: 35.9375em){.dso-date__dialog-content.sc-dso-date-picker-legacy{border:0;border-radius:0;border-start-start-radius:4px;border-start-end-radius:4px;inset-block-end:0;inset-inline-start:0;margin:0;max-inline-size:none;min-block-size:26em;opacity:0;padding-block:0 20px;padding-inline:8%;position:absolute;transform:translateZ(0) translateY(100%);transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;visibility:hidden;will-change:transform, opacity, visibility}.is-active.sc-dso-date-picker-legacy .dso-date__dialog-content.sc-dso-date-picker-legacy{opacity:1;transform:translateZ(0) translateY(0);visibility:visible}}.dso-date__table.sc-dso-date-picker-legacy{border-collapse:collapse;border-spacing:0;color:#191919;font-size:1rem;font-weight:400;line-height:1.25;min-inline-size:280px;table-layout:fixed;text-align:center;inline-size:100%}.dso-date__table-header.sc-dso-date-picker-legacy{font-size:0.875em;font-weight:600;block-size:36px;line-height:36px;text-align:center;text-decoration:none;text-transform:uppercase}.dso-date__cell.sc-dso-date-picker-legacy{block-size:40px;padding:1px;text-align:center;inline-size:40px}.dso-date__day.sc-dso-date-picker-legacy{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;border-radius:50%;box-shadow:0 0 0 1px transparent;color:#191919;cursor:pointer;display:inline-block;font-family:"Asap", sans-serif;font-variant-numeric:tabular-nums;font-weight:400;block-size:38px;line-height:0;padding:0;position:relative;text-align:center;vertical-align:middle;inline-size:38px;z-index:100}.dso-date__day.is-today.sc-dso-date-picker-legacy{background:transparent;block-size:36px;box-shadow:0 0 0 1px #39870c;inline-size:36px}.dso-date__day.sc-dso-date-picker-legacy:hover,.dso-date__day.sc-dso-date-picker-legacy:active{background:#39870c;color:#fff}.dso-date__day.sc-dso-date-picker-legacy:focus{background:transparent;box-shadow:0 0 0 2px #275937;color:#191919;block-size:34px;outline:0;inline-size:34px}[aria-selected=true].sc-dso-date-picker-legacy .dso-date__day.sc-dso-date-picker-legacy{background:#39870c;color:#fff}[aria-selected=true].sc-dso-date-picker-legacy .dso-date__day.sc-dso-date-picker-legacy:focus{background:transparent}[aria-selected=true].sc-dso-date-picker-legacy .dso-date__day.sc-dso-date-picker-legacy:focus span[aria-hidden=true].sc-dso-date-picker-legacy{background:#39870c;border:1px solid #fff;line-height:32px}.dso-date__day.sc-dso-date-picker-legacy:disabled{background:#fff;color:#ccc;cursor:default}.dso-date__day.sc-dso-date-picker-legacy span[aria-hidden=true].sc-dso-date-picker-legacy{border-radius:50%;display:inline-block;block-size:34px;line-height:34px;inline-size:34px}.dso-date__header.sc-dso-date-picker-legacy{align-items:center;display:flex;justify-content:space-between;margin-block-end:16px;inline-size:100%}.dso-date__header.sc-dso-date-picker-legacy span.sc-dso-date-picker-legacy{font-size:0.875rem}.dso-date__nav.sc-dso-date-picker-legacy{white-space:nowrap}.dso-date__prev.sc-dso-date-picker-legacy,.dso-date__next.sc-dso-date-picker-legacy{-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:transparent;border:1px solid #39870c;border-radius:4px;box-sizing:border-box;color:#39870c;cursor:pointer;display:inline-flex;font-size:1em;block-size:32px;justify-content:center;margin-inline-start:8px;padding:0;inline-size:32px}@media (max-width: 35.9375em){.dso-date__prev.sc-dso-date-picker-legacy,.dso-date__next.sc-dso-date-picker-legacy{block-size:40px;inline-size:40px}}.dso-date__prev.sc-dso-date-picker-legacy:hover,.dso-date__prev.sc-dso-date-picker-legacy:active,.dso-date__next.sc-dso-date-picker-legacy:hover,.dso-date__next.sc-dso-date-picker-legacy:active{background-color:#39870c;color:#fff}.dso-date__prev.sc-dso-date-picker-legacy:focus,.dso-date__next.sc-dso-date-picker-legacy:focus{background:transparent;color:#39870c}.dso-date__prev.sc-dso-date-picker-legacy:disabled,.dso-date__prev.sc-dso-date-picker-legacy:disabled:hover,.dso-date__next.sc-dso-date-picker-legacy:disabled,.dso-date__next.sc-dso-date-picker-legacy:disabled:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d;opacity:1}.dso-date__prev.sc-dso-date-picker-legacy svg.sc-dso-date-picker-legacy,.dso-date__next.sc-dso-date-picker-legacy svg.sc-dso-date-picker-legacy{margin-block:0;margin-inline:auto}.dso-date__select.sc-dso-date-picker-legacy{display:inline-flex;block-size:28px;line-height:28px;position:relative}.dso-date__select.sc-dso-date-picker-legacy span.sc-dso-date-picker-legacy{margin-inline-end:4px}.dso-date__select.sc-dso-date-picker-legacy select.sc-dso-date-picker-legacy{color:#275937;cursor:pointer;font-size:1rem;block-size:100%;inset-inline-start:0;opacity:0;position:absolute;inset-block-start:0;inline-size:100%;z-index:101}.dso-date__select.sc-dso-date-picker-legacy select.sc-dso-date-picker-legacy:focus+.dso-date__select-label.sc-dso-date-picker-legacy{box-shadow:0 0 0 2px #275937}.dso-date__select.sc-dso-date-picker-legacy select.sc-dso-date-picker-legacy:disabled{color:#afcf9d}.dso-date__select-label.sc-dso-date-picker-legacy{align-items:center;border-radius:4px;color:#39870c;display:flex;padding-block:0;padding-inline:8px 4px;pointer-events:none;position:relative;inline-size:100%;z-index:100}.dso-date__select-label.sc-dso-date-picker-legacy span.sc-dso-date-picker-legacy{font-size:1.25rem;font-weight:600;line-height:1.25}.dso-date__select-label.sc-dso-date-picker-legacy svg.sc-dso-date-picker-legacy{inline-size:16px;block-size:16px}.dso-date__mobile.sc-dso-date-picker-legacy{align-items:center;border-block-end:1px solid rgba(0, 0, 0, 0.12);display:flex;font-size:1em;justify-content:space-between;margin-block-end:20px;margin-inline-start:-10%;overflow:hidden;padding-block:12px;padding-inline:20px;position:relative;text-overflow:ellipsis;white-space:nowrap;inline-size:120%}@media (min-width: 36em){.dso-date__mobile.sc-dso-date-picker-legacy{border:0;margin:0;overflow:visible;padding:0;position:absolute;inset-inline-end:-16px;inset-block-start:-16px;inline-size:auto}}.dso-date__mobile-heading.sc-dso-date-picker-legacy{display:inline-block;font-weight:600;max-inline-size:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.dso-date__mobile-heading.sc-dso-date-picker-legacy{display:none}}.dso-date__close.sc-dso-date-picker-legacy{-webkit-appearance:none;align-items:center;appearance:none;background-color:#fff;border:0;border-radius:50%;color:#39870c;cursor:pointer;display:flex;font-size:1em;block-size:32px;justify-content:center;margin-inline-end:-4px;padding:0;inline-size:32px}@media (min-width: 36em){.dso-date__close.sc-dso-date-picker-legacy{margin-inline-end:0;opacity:0}}.dso-date__close.sc-dso-date-picker-legacy:focus{box-shadow:0 0 0 2px #275937;outline:none}@media (min-width: 36em){.dso-date__close.sc-dso-date-picker-legacy:focus{opacity:1}}.dso-date__vhidden.sc-dso-date-picker-legacy{border:0;clip:rect(1px, 1px, 1px, 1px);block-size:1px;overflow:hidden;padding:0;position:absolute;inset-block-start:0;inline-size:1px}';const Y=T;const E={TAB:9,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};const j=/[^0-9-]+/g;const F=300;function K(e,t){const s=e.value;const i=e.selectionStart;if(!i){return s}const a=s.slice(0,i);const d=s.slice(i,s.length);const o=a.replace(t,"");const n=d.replace(t,"");const c=o+n;const r=o.length;e.value=c;e.selectionStart=e.selectionEnd=r;return c}const C=class{constructor(e){t(this,e);this.dsoDateChange=s(this,"dsoDateChange",7);this.dsoBlur=s(this,"dsoBlur",7);this.dsoKeyUp=s(this,"dsoKeyUp",7);this.dsoKeyDown=s(this,"dsoKeyDown",7);this.dsoFocus=s(this,"dsoFocus",7);this.monthSelectId=d("DsoDateMonth");this.yearSelectId=d("DsoDateYear");this.dialogLabelId=d("DsoDateLabel");this.localization=M;this.firstDayOfWeek=o.Monday;this.enableActiveFocus=()=>{this.activeFocus=true};this.disableActiveFocus=()=>{this.activeFocus=false};this.toggleOpen=e=>{e.preventDefault();this.open?this.hide(false):this.show()};this.handleEscKey=e=>{if(e.keyCode===E.ESC){this.hide()}};this.handleBlur=e=>{e.stopPropagation();this.dsoBlur.emit({component:"dso-date-picker-legacy"})};this.handleKeyUp=e=>{e.stopPropagation();this.dsoKeyUp.emit({component:"dso-date-picker-legacy",originalEvent:e})};this.handleKeyDown=e=>{e.stopPropagation();this.dsoKeyDown.emit({component:"dso-date-picker-legacy",originalEvent:e})};this.handleFocus=e=>{e.stopPropagation();this.dsoFocus.emit({component:"dso-date-picker-legacy"})};this.handleTouchStart=e=>{const t=e.changedTouches[0];if(!t){throw new Error("No touch found")}this.initialTouchX=t.pageX;this.initialTouchY=t.pageY};this.handleTouchMove=e=>{e.preventDefault()};this.handleTouchEnd=e=>{var t,s;const i=e.changedTouches[0];if(!i){throw new Error("No touch found")}const a=i.pageX-((t=this.initialTouchX)!==null&&t!==void 0?t:0);const d=i.pageY-((s=this.initialTouchY)!==null&&s!==void 0?s:0);const o=70;const n=Math.abs(a)>=o&&Math.abs(d)<=o;const c=Math.abs(d)>=o&&Math.abs(a)<=o&&d>0;if(n){this.addMonths(a<0?1:-1)}else if(c){this.hide(false);e.preventDefault()}this.initialTouchY=undefined;this.initialTouchX=undefined};this.handleNextMonthClick=e=>{e.preventDefault();this.addMonths(1)};this.handlePreviousMonthClick=e=>{e.preventDefault();this.addMonths(-1)};this.handleFirstFocusableKeydown=e=>{var t;if(e.keyCode===E.TAB&&e.shiftKey){(t=this.focusedDayNode)===null||t===void 0?void 0:t.focus();e.preventDefault()}};this.handleKeyboardNavigation=e=>{var t;if(e.keyCode===E.TAB&&!e.shiftKey){e.preventDefault();(t=this.firstFocusableElement)===null||t===void 0?void 0:t.focus();return}let s=true;switch(e.keyCode){case E.RIGHT:this.addDays(1);break;case E.LEFT:this.addDays(-1);break;case E.DOWN:this.addDays(7);break;case E.UP:this.addDays(-7);break;case E.PAGE_UP:if(e.shiftKey){this.addYears(-1)}else{this.addMonths(-1)}break;case E.PAGE_DOWN:if(e.shiftKey){this.addYears(1)}else{this.addMonths(1)}break;case E.HOME:this.startOfWeek();break;case E.END:this.endOfWeek();break;default:s=false}if(s){e.preventDefault();this.enableActiveFocus()}};this.handleDaySelect=(e,t)=>{if(!k(t,c(this.min),c(this.max))){return}if(t.getMonth()===this.focusedDay.getMonth()){this.setValue(t);this.hide()}else{this.setFocusedDay(t)}};this.handleMonthSelect=e=>{if(e.target instanceof HTMLSelectElement){this.setMonth(parseInt(e.target.value,10))}};this.handleYearSelect=e=>{if(e.target instanceof HTMLSelectElement){this.setYear(parseInt(e.target.value,10))}};this.handleInputChange=e=>{const t=e.target;const s=K(t,j);this.setValue(s)};this.prepareEvent=e=>{const t={component:"dso-date-picker-legacy",value:"",valueAsDate:undefined};if(e instanceof Date){t.valueAsDate=e}else{t.value=e;t.valueAsDate=c(e)}if(t.valueAsDate){t.value=r(t.valueAsDate)}if(!t.valueAsDate&&this.required){t.error="required"}if(t.value&&!t.valueAsDate){t.error="invalid"}if(t.valueAsDate&&(this.min||this.max)){const e=c(this.min);const s=c(this.max);const i=_(t.valueAsDate,e,s);if(i!==t.valueAsDate&&i===e){t.valueAsDate=undefined;t.error="min-range"}else if(i!==t.valueAsDate&&i===s){t.valueAsDate=undefined;t.error="max-range"}}return t};this.processFocusedDayNode=e=>{this.focusedDayNode=e;if(this.activeFocus&&this.open){setTimeout((()=>e.focus()),0)}};this.activeFocus=false;this.focusedDay=new Date;this.open=false;this.visible=false;this.name="date";this.identifier=undefined;this.disabled=false;this.role=null;this.direction="right";this.required=false;this.invalid=undefined;this.describedBy=undefined;this.dsoAutofocus=false;this.value="";this.min=undefined;this.max=undefined}handleDocumentClick(e){if(!this.open){return}const t=e.composedPath();for(const e of t){if(e instanceof Node&&this.element.contains(e)){return}}this.hide(false)}async setFocus(){var e;return(e=this.datePickerLegacyInput)===null||e===void 0?void 0:e.focus()}async show(){if(typeof this.hideTimeoutId!=="undefined"){clearTimeout(this.hideTimeoutId)}this.visible=true;setTimeout((()=>{this.open=true;this.setFocusedDay(c(this.value)||new Date);if(typeof this.focusTimeoutId!=="undefined"){clearTimeout(this.focusTimeoutId)}this.focusTimeoutId=setTimeout((()=>{var e;return(e=this.monthSelectNode)===null||e===void 0?void 0:e.focus()}),F)}))}async hide(e=true){this.open=false;if(typeof this.focusTimeoutId!=="undefined"){clearTimeout(this.focusTimeoutId)}this.hideTimeoutId=setTimeout((()=>{if(e&&this.datePickerLegacyButton){this.datePickerLegacyButton.focus()}this.visible=false}),F+200)}addDays(e){this.setFocusedDay(p(this.focusedDay,e))}addMonths(e){this.setMonth(this.focusedDay.getMonth()+e)}addYears(e){this.setYear(this.focusedDay.getFullYear()+e)}startOfWeek(){this.setFocusedDay(f(this.focusedDay,this.firstDayOfWeek))}endOfWeek(){this.setFocusedDay(h(this.focusedDay,this.firstDayOfWeek))}setMonth(e){const t=y(b(this.focusedDay),e);const s=u(t);const i=y(this.focusedDay,e);this.setFocusedDay(_(i,t,s))}setYear(e){const t=g(b(this.focusedDay),e);const s=u(t);const i=g(this.focusedDay,e);this.setFocusedDay(_(i,t,s))}setFocusedDay(e){this.focusedDay=_(e,c(this.min),c(this.max))}setValue(e){const t=this.prepareEvent(e);this.value=typeof e==="string"?e:t.value;if(this.value!==this.previousValue){this.dsoDateChange.emit(t);this.previousValue=this.value}}componentWillLoad(){const e=c(this.min);const t=c(this.max);if(e&&e>this.focusedDay){this.focusedDay=e}if(t&&t<this.focusedDay){this.focusedDay=t}}componentDidLoad(){const e=c(this.value);if(e){this.previousValue=this.value=r(e)}if(this.dsoAutofocus){this.setFocus()}}render(){var t,s;const a=c(this.value);const d=a&&r(a);const o=(a||this.focusedDay).getFullYear();const n=this.focusedDay.getMonth();const l=this.focusedDay.getFullYear();const p=c(this.min);const f=c(this.max);const h=p&&p.getMonth()===n&&p.getFullYear()===l;const b=f&&f.getMonth()===n&&f.getFullYear()===l;let u=o-10;let y=o+10;if(p){u=Math.max(u,p.getFullYear())}if(f){y=Math.min(y,f.getFullYear())}return e(i,{key:"d14bbb1fa4a6fa9496b9790b5c8e7fe3b3e1e995"},e("div",{key:"7799d1d402293ea89713f93a7e306793ebafa41f",class:{"dso-date":true,"dso-visible":this.visible}},e("div",{key:"f1183710c97e80d989755adf4ba775ec5a2b2b85",class:"dso-date__input-wrapper"},e("input",{key:"67b4f456f2a653169660eb0e0294a86170a61851",class:"dso-date__input",value:this.value,placeholder:this.localization.placeholder,id:this.identifier,disabled:this.disabled,role:(t=this.role)!==null&&t!==void 0?t:undefined,required:this.required?true:undefined,"aria-autocomplete":"none","aria-invalid":(s=this.invalid)===null||s===void 0?void 0:s.toString(),"aria-describedby":this.describedBy,onInput:this.handleInputChange,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyUp:this.handleKeyUp,onKeyDown:this.handleKeyDown,autoComplete:"off",ref:e=>this.datePickerLegacyInput=e}),e("button",{key:"8a193722292c56fe7abf08ae93f17fa40ca9d40f",type:"button",class:"dso-date__toggle",onClick:this.toggleOpen,disabled:this.disabled,ref:e=>this.datePickerLegacyButton=e},e("span",{key:"1fa5d897acc0081cf347dfa60268788772ba5a62",class:"dso-date__toggle-icon"},e("dso-icon",{key:"a1dd69e476e6ed633d8329be90d2fb4fea2f8926",icon:"calendar"})),e("span",{key:"cb3e00a758bd93b709e93e2b5eeff6616c59114d",class:"dso-date__vhidden"},this.localization.buttonLabel,d&&e("span",{key:"26753798debaabcd060afdfe9c8572761ea9d02e"},", ",this.localization.selectedDateMessage," ",d)))),e("div",{key:"18aba1ca1ec0a28a17e7ef67a26561082d2ee7c5",class:{"dso-date__dialog":true,"is-left":this.direction==="left","is-active":this.open},role:"dialog","aria-modal":"true","aria-hidden":this.open?"false":"true","aria-labelledby":this.dialogLabelId,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd},e("div",{key:"a2cb4eac5ebe13f6ac32b3226b74300b5100afad",class:"dso-date__dialog-content",onKeyDown:this.handleEscKey},e("div",{key:"767c3234e62982a414c221a8c2c1f5fee04d5ce5",class:"dso-date__vhidden dso-date__instructions","aria-live":"polite"},this.localization.keyboardInstruction),e("div",{key:"72a45a35e721bec9b4117f09df5e1047bf6ec717",class:"dso-date__mobile",onFocusin:this.disableActiveFocus},e("label",{key:"fe9ef5e66bb819c2f4610dbd7eb8f6332f1aa446",class:"dso-date__mobile-heading"},this.localization.calendarHeading),e("button",{key:"22bb3ab6cd85c71fd5ca22311fde0f061260ad3d",class:"dso-date__close",ref:e=>this.firstFocusableElement=e,onKeyDown:this.handleFirstFocusableKeydown,onClick:()=>this.hide(),type:"button"},e("dso-icon",{key:"7cd44065f4eceb4be7955ed991b2affe79b8f20d",icon:"times"}),e("span",{key:"70304b3e5cf5391e3a3b549bc7c66ff1589849a9",class:"dso-date__vhidden"},this.localization.closeLabel))),e("div",{key:"f50e6ae68c829ef6c67b61e08f261ca13ffbb384",class:"dso-date__header",onFocusin:this.disableActiveFocus},e("div",{key:"dbf18c6f73053877a3788cc580ff13c8e2dcb000"},e("h2",{key:"18540ccb64bfd82e8d9a9c58e8c0f39809d52ba4",id:this.dialogLabelId,class:"dso-date__vhidden","aria-live":"polite"},this.localization.monthNames[n]," ",this.focusedDay.getFullYear()),e("label",{key:"cc79dd0065f3e4010e5344b40c57bd3f7390d9e5",htmlFor:this.monthSelectId,class:"dso-date__vhidden"},this.localization.monthSelectLabel),e("div",{key:"97578788ea819c9e6fb23e10e39fa638dd6bf51d",class:"dso-date__select"},e("select",{key:"dbbfaf38efae5a17742ecd8a859a1d835da1d193",id:this.monthSelectId,class:"dso-date__select--month",ref:e=>this.monthSelectNode=e,onChange:this.handleMonthSelect},N(this.localization,o,p,f).map((t=>{const s=this.localization.monthNames.indexOf(t);return e("option",{key:t,value:s,selected:s===n},t)}))),e("div",{key:"3199841b30d6e8735446f3d67c48300898cb2512",class:"dso-date__select-label","aria-hidden":"true"},e("span",{key:"aca70d70bfaad605d9b399b58757b795cc6486ad"},this.localization.monthNamesShort[n]),e("dso-icon",{key:"d1e2bdb898278c6f6ba6fc3fce3c54bacc4300e6",icon:"chevron-down"}))),e("label",{key:"e85a464a083d160ebe2da35435d4d6b8e70594e6",htmlFor:this.yearSelectId,class:"dso-date__vhidden"},this.localization.yearSelectLabel),e("div",{key:"c9bb89e82bdce8242c5b88a8c0422bb713f4649f",class:"dso-date__select"},e("select",{key:"8db7da290dddc3c31519e8b62d8593f3c3ae25c9",id:this.yearSelectId,class:"dso-date__select--year",onChange:this.handleYearSelect},S(u,y).map((t=>e("option",{key:t,selected:t===l},t)))),e("div",{key:"1d6a4dd37a71e6a25167552e54033f8caba5c926",class:"dso-date__select-label","aria-hidden":"true"},e("span",{key:"53c46f3503fbe521b3363130cef2c0e77c5a76d1"},this.focusedDay.getFullYear()),e("dso-icon",{key:"646d1d9262090f0d31244f87d9d1e7a992712445",icon:"chevron-down"})))),e("div",{key:"177c07ee02756bf8d2d562d891b85f525fdf0459",class:"dso-date__nav"},e("button",{key:"1496337177df07d457f0ee15e70c6cfcc95d54f0",class:"dso-date__prev",onClick:this.handlePreviousMonthClick,disabled:h,type:"button"},e("dso-icon",{key:"af2ffd8b999268c0bf001822e5951060054332b0",icon:"chevron-left"}),e("span",{key:"e3592b7a770f78223cd02a466375fb86b7c34670",class:"dso-date__vhidden"},this.localization.prevMonthLabel)),e("button",{key:"695b50d73c7ed486cef08b010d77166baaf51545",class:"dso-date__next",onClick:this.handleNextMonthClick,disabled:b,type:"button"},e("dso-icon",{key:"007286ed973be218e37c6161bf2ad686726a632e",icon:"chevron-right"}),e("span",{key:"c67ebbd7023e2ff3fbae2e06e1f534c8c5507c83",class:"dso-date__vhidden"},this.localization.nextMonthLabel)))),e(D,{key:"9a7f19704f9774f0e915f9180ccfdbdbfe69ff56",selectedDate:a,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.handleKeyboardNavigation,labelledById:this.dialogLabelId,localization:this.localization,firstDayOfWeek:this.firstDayOfWeek,focusedDayRef:this.processFocusedDayNode,min:p,max:f})))))}get element(){return a(this)}};C.style=Y;export{C as dso_date_picker_legacy};
|
|
2
|
+
//# sourceMappingURL=p-93e278c0.entry.js.map
|