@dso-toolkit/core 62.8.4 → 62.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/dist/cjs/dso-date-picker.cjs.entry.js +45 -22
  2. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dso-expandable.cjs.entry.js +14 -4
  4. package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dso-list-button.cjs.entry.js +23 -9
  6. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-logo.cjs.entry.js +1 -1
  8. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-modal.cjs.entry.js +3 -1
  10. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/components/accordion/accordion.interfaces.js.map +1 -1
  14. package/dist/collection/components/accordion/accordion.js.map +1 -1
  15. package/dist/collection/components/accordion/components/accordion-section.interfaces.js.map +1 -1
  16. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  17. package/dist/collection/components/action-list/action-list.js.map +1 -1
  18. package/dist/collection/components/action-list/components/action-list-item.js.map +1 -1
  19. package/dist/collection/components/alert/alert.js.map +1 -1
  20. package/dist/collection/components/annotation-button/annotation-button.js.map +1 -1
  21. package/dist/collection/components/annotation-output/annotation-output.js.map +1 -1
  22. package/dist/collection/components/attachments-counter/attachments-counter.js.map +1 -1
  23. package/dist/collection/components/autosuggest/autosuggest.interfaces.js.map +1 -1
  24. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  25. package/dist/collection/components/badge/badge.js.map +1 -1
  26. package/dist/collection/components/banner/banner.js.map +1 -1
  27. package/dist/collection/components/card/card.interfaces.js.map +1 -1
  28. package/dist/collection/components/card/card.js.map +1 -1
  29. package/dist/collection/components/card-container/card-container.interfaces.js.map +1 -1
  30. package/dist/collection/components/card-container/card-container.js.map +1 -1
  31. package/dist/collection/components/date-picker/date-picker.interfaces.js.map +1 -1
  32. package/dist/collection/components/date-picker/date-picker.js +49 -26
  33. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  34. package/dist/collection/components/date-picker/date-utils.js.map +1 -1
  35. package/dist/collection/components/date-picker-legacy/date-localization.js.map +1 -1
  36. package/dist/collection/components/date-picker-legacy/date-picker-day.js.map +1 -1
  37. package/dist/collection/components/date-picker-legacy/date-picker-legacy.interfaces.js.map +1 -1
  38. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js.map +1 -1
  39. package/dist/collection/components/date-picker-legacy/date-picker-month.js.map +1 -1
  40. package/dist/collection/components/date-picker-legacy/date-utils.js.map +1 -1
  41. package/dist/collection/components/date-picker-legacy/utils/month-range.js.map +1 -1
  42. package/dist/collection/components/date-picker-legacy/utils/range.js.map +1 -1
  43. package/dist/collection/components/document-component/document-component-heading.js.map +1 -1
  44. package/dist/collection/components/document-component/document-component.js.map +1 -1
  45. package/dist/collection/components/document-component/document-component.models.js.map +1 -1
  46. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  47. package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
  48. package/dist/collection/components/expandable/expandable.css +4 -1
  49. package/dist/collection/components/expandable/expandable.js +16 -5
  50. package/dist/collection/components/expandable/expandable.js.map +1 -1
  51. package/dist/collection/components/header/header.interfaces.js.map +1 -1
  52. package/dist/collection/components/header/header.js.map +1 -1
  53. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js.map +1 -1
  54. package/dist/collection/components/highlight-box/highlight-box.js.map +1 -1
  55. package/dist/collection/components/icon/icon.js.map +1 -1
  56. package/dist/collection/components/image-overlay/image-overlay.js.map +1 -1
  57. package/dist/collection/components/info/info.js.map +1 -1
  58. package/dist/collection/components/info-button/info-button.interfaces.js.map +1 -1
  59. package/dist/collection/components/info-button/info-button.js.map +1 -1
  60. package/dist/collection/components/label/label.js.map +1 -1
  61. package/dist/collection/components/list-button/list-button.interfaces.js.map +1 -1
  62. package/dist/collection/components/list-button/list-button.js +41 -10
  63. package/dist/collection/components/list-button/list-button.js.map +1 -1
  64. package/dist/collection/components/logo/logo.css +1 -1
  65. package/dist/collection/components/logo/logo.js +1 -1
  66. package/dist/collection/components/logo/logo.js.map +1 -1
  67. package/dist/collection/components/map-base-layers/map-base-layers.interfaces.js.map +1 -1
  68. package/dist/collection/components/map-base-layers/map-base-layers.js.map +1 -1
  69. package/dist/collection/components/map-controls/map-controls.interfaces.js.map +1 -1
  70. package/dist/collection/components/map-controls/map-controls.js.map +1 -1
  71. package/dist/collection/components/map-overlays/map-overlays.interfaces.js.map +1 -1
  72. package/dist/collection/components/map-overlays/map-overlays.js.map +1 -1
  73. package/dist/collection/components/mark-bar/mark-bar.interfaces.js.map +1 -1
  74. package/dist/collection/components/mark-bar/mark-bar.js.map +1 -1
  75. package/dist/collection/components/modal/modal.interfaces.js.map +1 -1
  76. package/dist/collection/components/modal/modal.js +3 -1
  77. package/dist/collection/components/modal/modal.js.map +1 -1
  78. package/dist/collection/components/ozon-content/get-node-name.function.js.map +1 -1
  79. package/dist/collection/components/ozon-content/nodes/al.node.js.map +1 -1
  80. package/dist/collection/components/ozon-content/nodes/bron.node.js.map +1 -1
  81. package/dist/collection/components/ozon-content/nodes/document.node.js.map +1 -1
  82. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js.map +1 -1
  83. package/dist/collection/components/ozon-content/nodes/fallback.node.js.map +1 -1
  84. package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
  85. package/dist/collection/components/ozon-content/nodes/inhoud.node.js.map +1 -1
  86. package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js.map +1 -1
  87. package/dist/collection/components/ozon-content/nodes/inline.nodes.js.map +1 -1
  88. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js.map +1 -1
  89. package/dist/collection/components/ozon-content/nodes/int-ref.node.js.map +1 -1
  90. package/dist/collection/components/ozon-content/nodes/lijst.node.js.map +1 -1
  91. package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js.map +1 -1
  92. package/dist/collection/components/ozon-content/nodes/noot.node.js.map +1 -1
  93. package/dist/collection/components/ozon-content/nodes/opschrift.node.js.map +1 -1
  94. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js.map +1 -1
  95. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js.map +1 -1
  96. package/dist/collection/components/ozon-content/nodes/table.node/index.js.map +1 -1
  97. package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js.map +1 -1
  98. package/dist/collection/components/ozon-content/nodes/table.node/table-colgroup.js.map +1 -1
  99. package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js.map +1 -1
  100. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js.map +1 -1
  101. package/dist/collection/components/ozon-content/nodes/text.node.js.map +1 -1
  102. package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js.map +1 -1
  103. package/dist/collection/components/ozon-content/ozon-content-context.interface.js.map +1 -1
  104. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  105. package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js.map +1 -1
  106. package/dist/collection/components/ozon-content/ozon-content-node-state.interface.js.map +1 -1
  107. package/dist/collection/components/ozon-content/ozon-content-node.interface.js.map +1 -1
  108. package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
  109. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  110. package/dist/collection/components/pagination/pagination.interfaces.js.map +1 -1
  111. package/dist/collection/components/pagination/pagination.js.map +1 -1
  112. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  113. package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -1
  114. package/dist/collection/components/responsive-element/responsive-element.interfaces.js.map +1 -1
  115. package/dist/collection/components/responsive-element/responsive-element.js.map +1 -1
  116. package/dist/collection/components/scrollable/scrollable.interfaces.js.map +1 -1
  117. package/dist/collection/components/scrollable/scrollable.js.map +1 -1
  118. package/dist/collection/components/selectable/selectable.interfaces.js.map +1 -1
  119. package/dist/collection/components/selectable/selectable.js.map +1 -1
  120. package/dist/collection/components/slide-toggle/slide-toggle.interfaces.js.map +1 -1
  121. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  122. package/dist/collection/components/table/table.js.map +1 -1
  123. package/dist/collection/components/toggletip/toggletip.js.map +1 -1
  124. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  125. package/dist/collection/components/tree-view/tree-item.js.map +1 -1
  126. package/dist/collection/components/tree-view/tree-view.interfaces.js.map +1 -1
  127. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  128. package/dist/collection/components/viewer-grid/components/document-panel.js.map +1 -1
  129. package/dist/collection/components/viewer-grid/components/filterpanel.js.map +1 -1
  130. package/dist/collection/components/viewer-grid/components/index.js.map +1 -1
  131. package/dist/collection/components/viewer-grid/components/main-panel.js.map +1 -1
  132. package/dist/collection/components/viewer-grid/components/overlay.js.map +1 -1
  133. package/dist/collection/components/viewer-grid/components/sizing-buttons.js.map +1 -1
  134. package/dist/collection/components/viewer-grid/components/viewer-grid-filterpanel-buttons.js.map +1 -1
  135. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js.map +1 -1
  136. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  137. package/dist/collection/index.js.map +1 -1
  138. package/dist/collection/utils/create-identifier.js.map +1 -1
  139. package/dist/collection/utils/has-overflow.js.map +1 -1
  140. package/dist/collection/utils/is-interactive-element.js.map +1 -1
  141. package/dist/collection/utils/is-modified-event.js.map +1 -1
  142. package/dist/components/dso-date-picker.js +45 -22
  143. package/dist/components/dso-date-picker.js.map +1 -1
  144. package/dist/components/dso-list-button.js +25 -10
  145. package/dist/components/dso-list-button.js.map +1 -1
  146. package/dist/components/dso-logo.js +2 -2
  147. package/dist/components/dso-logo.js.map +1 -1
  148. package/dist/components/dso-modal.js +3 -1
  149. package/dist/components/dso-modal.js.map +1 -1
  150. package/dist/components/expandable.js +17 -6
  151. package/dist/components/expandable.js.map +1 -1
  152. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  153. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  154. package/dist/dso-toolkit/{p-2258933b.entry.js → p-1981592d.entry.js} +2 -2
  155. package/dist/dso-toolkit/p-1981592d.entry.js.map +1 -0
  156. package/dist/dso-toolkit/p-638ad5e5.entry.js +2 -0
  157. package/dist/dso-toolkit/p-638ad5e5.entry.js.map +1 -0
  158. package/dist/dso-toolkit/{p-5f39d08c.entry.js → p-b36ab83a.entry.js} +2 -2
  159. package/dist/dso-toolkit/p-b36ab83a.entry.js.map +1 -0
  160. package/dist/dso-toolkit/{p-78baffb7.entry.js → p-ea6ca8b2.entry.js} +2 -2
  161. package/dist/dso-toolkit/p-ea6ca8b2.entry.js.map +1 -0
  162. package/dist/dso-toolkit/p-f6d1d215.entry.js +2 -0
  163. package/dist/dso-toolkit/p-f6d1d215.entry.js.map +1 -0
  164. package/dist/esm/dso-date-picker.entry.js +45 -22
  165. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  166. package/dist/esm/dso-expandable.entry.js +14 -4
  167. package/dist/esm/dso-expandable.entry.js.map +1 -1
  168. package/dist/esm/dso-list-button.entry.js +24 -10
  169. package/dist/esm/dso-list-button.entry.js.map +1 -1
  170. package/dist/esm/dso-logo.entry.js +1 -1
  171. package/dist/esm/dso-logo.entry.js.map +1 -1
  172. package/dist/esm/dso-modal.entry.js +3 -1
  173. package/dist/esm/dso-modal.entry.js.map +1 -1
  174. package/dist/esm/dso-toolkit.js +1 -1
  175. package/dist/esm/loader.js +1 -1
  176. package/dist/scripts/readme.js +78 -0
  177. package/dist/scripts/readme.js.map +1 -0
  178. package/dist/types/components/date-picker/date-picker.d.ts +4 -2
  179. package/dist/types/components/date-picker/date-picker.interfaces.d.ts +5 -1
  180. package/dist/types/components/expandable/expandable.d.ts +4 -0
  181. package/dist/types/components/list-button/list-button.d.ts +8 -0
  182. package/dist/types/components.d.ts +12 -4
  183. package/dist/types/usr/src/app/packages/core/.stencil/scripts/readme.d.ts +1 -0
  184. package/package.json +4 -2
  185. package/dist/dso-toolkit/p-2258933b.entry.js.map +0 -1
  186. package/dist/dso-toolkit/p-5f39d08c.entry.js.map +0 -1
  187. package/dist/dso-toolkit/p-78baffb7.entry.js.map +0 -1
  188. package/dist/dso-toolkit/p-7b36db3a.entry.js +0 -2
  189. package/dist/dso-toolkit/p-7b36db3a.entry.js.map +0 -1
  190. package/dist/dso-toolkit/p-e2f7399e.entry.js +0 -2
  191. package/dist/dso-toolkit/p-e2f7399e.entry.js.map +0 -1
@@ -47,12 +47,24 @@ const DsoDatePicker = class {
47
47
  this.dsoKeyUp = index.createEvent(this, "dsoKeyUp", 7);
48
48
  this.dsoKeyDown = index.createEvent(this, "dsoKeyDown", 7);
49
49
  this.dsoFocus = index.createEvent(this, "dsoFocus", 7);
50
- this.handleBlur = (event) => {
51
- event.stopPropagation();
52
- this.dsoBlur.emit({
53
- originalEvent: event,
50
+ this.handleBlur = (e) => {
51
+ e.stopPropagation();
52
+ const { target } = e;
53
+ if (!(target instanceof HTMLInputElement)) {
54
+ return;
55
+ }
56
+ const { validity } = target;
57
+ const { value, valueAsDate } = this.dateValues(target);
58
+ const error = this.validityToError(validity);
59
+ const event = {
54
60
  component: "dso-date-picker",
55
- });
61
+ originalEvent: e,
62
+ validity,
63
+ value,
64
+ valueAsDate,
65
+ error,
66
+ };
67
+ this.dsoBlur.emit(event);
56
68
  };
57
69
  this.handleFocus = (event) => {
58
70
  event.stopPropagation();
@@ -80,28 +92,17 @@ const DsoDatePicker = class {
80
92
  if (!(target instanceof HTMLInputElement)) {
81
93
  return;
82
94
  }
83
- const { valueAsDate, validity } = target;
95
+ const { validity } = target;
96
+ const { value, valueAsDate } = this.dateValues(target);
97
+ const error = this.validityToError(validity);
84
98
  const event = {
85
99
  component: "dso-date-picker",
86
100
  originalEvent: e,
87
101
  validity,
88
- value: parseToDutchFormat(valueAsDate),
89
- valueAsDate: valueAsDate !== null && valueAsDate !== void 0 ? valueAsDate : undefined,
102
+ value,
103
+ valueAsDate,
104
+ error,
90
105
  };
91
- if (validity.valueMissing) {
92
- event.error = "required";
93
- }
94
- else if (validity.rangeUnderflow) {
95
- event.error = "min-range";
96
- event.valueAsDate = undefined;
97
- }
98
- else if (validity.rangeOverflow) {
99
- event.error = "max-range";
100
- event.valueAsDate = undefined;
101
- }
102
- else if (!validity.valid) {
103
- event.error = "invalid";
104
- }
105
106
  this.dsoDateChange.emit(event);
106
107
  };
107
108
  this.name = "dso-date";
@@ -115,6 +116,28 @@ const DsoDatePicker = class {
115
116
  this.min = undefined;
116
117
  this.max = undefined;
117
118
  }
119
+ dateValues(target) {
120
+ const { valueAsDate, validity } = target;
121
+ return {
122
+ value: parseToDutchFormat(valueAsDate),
123
+ valueAsDate: (!validity.rangeOverflow && !validity.rangeUnderflow && valueAsDate) || undefined,
124
+ };
125
+ }
126
+ validityToError(validity) {
127
+ if (validity.valueMissing) {
128
+ return "required";
129
+ }
130
+ if (validity.rangeUnderflow) {
131
+ return "min-range";
132
+ }
133
+ if (validity.rangeOverflow) {
134
+ return "max-range";
135
+ }
136
+ if (!validity.valid) {
137
+ return "invalid";
138
+ }
139
+ return undefined;
140
+ }
118
141
  render() {
119
142
  var _a;
120
143
  return (index.h("input", { type: "date", id: this.identifier, class: "dso-date__input", value: parseToValueFormat(this.value), name: this.name, min: parseToValueFormat(this.min), max: parseToValueFormat(this.max), disabled: this.disabled || undefined, required: this.required || undefined, "aria-autocomplete": "none", "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": this.describedBy, autoComplete: "off", autofocus: this.dsoAutofocus || undefined, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, onChange: this.handleInputChange }));
@@ -1 +1 @@
1
- {"file":"dso-date-picker.entry.cjs.js","mappings":"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","names":["h"],"sources":["src/components/date-picker/date-utils.ts","src/components/date-picker/date-picker.scss?tag=dso-date-picker&encapsulation=scoped","src/components/date-picker/date-picker.tsx"],"sourcesContent":["/**\r\n * dd-mm-yyyy to yyyy-mm-dd\r\n */\r\nexport function parseToValueFormat(value: string | undefined): string | undefined {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n const matches = value.split(\"-\");\r\n\r\n if (\r\n matches.length === 3 &&\r\n typeof matches[0] === \"string\" &&\r\n typeof matches[1] === \"string\" &&\r\n typeof matches[2] === \"string\"\r\n ) {\r\n const [d, m, y] = matches;\r\n\r\n const dd = d.padStart(2, \"0\");\r\n const mm = m.padStart(2, \"0\");\r\n const yyyy = y.padStart(4, \"0\");\r\n\r\n return [yyyy, mm, dd].join(\"-\");\r\n }\r\n\r\n return value;\r\n}\r\n\r\n/**\r\n * yyyy-mm-dd to dd-mm-yyyy\r\n */\r\nexport function parseToDutchFormat(date: Date | null): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const dd = date.getDate().toString(10).padStart(2, \"0\");\r\n const mm = (date.getMonth() + 1).toString(10).padStart(2, \"0\");\r\n const yyyy = date.getFullYear().toString(10).padStart(4, \"0\");\r\n\r\n return [dd, mm, yyyy].join(\"-\");\r\n}\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n\r\n@use \"date-picker.variables\" as core-date-picker-variables;\r\n\r\n:host {\r\n display: block;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n .dso-date__input {\r\n border-color: colors.$danger-color;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__input {\r\n @include form-control.root();\r\n\r\n &::-webkit-calendar-picker-indicator {\r\n position: relative;\r\n inset-inline-end: -8px;\r\n\r\n font-size: 1.75rem;\r\n\r\n filter: invert(50%) sepia(66%) saturate(6528%) hue-rotate(71deg) brightness(94%) contrast(91%);\r\n }\r\n}\r\n","import { Component, ComponentInterface, Prop, Element, h, Event, EventEmitter } from \"@stencil/core\";\r\n\r\nimport { DatePickerChangeEvent, DatePickerFocusEvent, DatePickerKeyboardEvent } from \"./date-picker.interfaces\";\r\nimport { parseToValueFormat, parseToDutchFormat } from \"./date-utils\";\r\n\r\n@Component({\r\n tag: \"dso-date-picker\",\r\n styleUrl: \"date-picker.scss\",\r\n shadow: false,\r\n scoped: true,\r\n})\r\nexport class DsoDatePicker implements ComponentInterface {\r\n /**\r\n * Reference to host HTML element.\r\n */\r\n @Element()\r\n element!: HTMLDsoDatePickerElement;\r\n\r\n /**\r\n * Name of the date picker input.\r\n */\r\n @Prop()\r\n name = \"dso-date\";\r\n\r\n /**\r\n * Adds a unique identifier for the date picker input. Use this instead of html `id` attribute.\r\n */\r\n @Prop()\r\n identifier: string | undefined;\r\n\r\n /**\r\n * Makes the date picker input component disabled. This prevents users from being able to\r\n * interact with the input, and conveys its inactive state to assistive technologies.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Should the input be marked as required?\r\n */\r\n @Prop({ reflect: true })\r\n required = false;\r\n\r\n /**\r\n * Is input invalid?\r\n */\r\n @Prop({ reflect: true })\r\n invalid?: boolean;\r\n\r\n /**\r\n * ID of element that describes the input element\r\n */\r\n @Prop()\r\n describedBy?: string;\r\n\r\n /**\r\n * Should the input be focused on load?\r\n */\r\n @Prop()\r\n dsoAutofocus = false;\r\n\r\n /**\r\n * Date value. Must be in Dutch date format: DD-MM-YYYY.\r\n */\r\n @Prop({ reflect: true })\r\n value = \"\";\r\n\r\n /**\r\n * Minimum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the max property.\r\n */\r\n @Prop()\r\n min: string | undefined;\r\n\r\n /**\r\n * Maximum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the min property.\r\n */\r\n @Prop()\r\n max: string | undefined;\r\n\r\n /**\r\n * Events section.\r\n */\r\n\r\n /**\r\n * Event emitted when a date is selected.\r\n */\r\n @Event()\r\n dsoDateChange!: EventEmitter<DatePickerChangeEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is blurred.\r\n */\r\n @Event()\r\n dsoBlur!: EventEmitter<DatePickerFocusEvent>;\r\n\r\n /**\r\n * Event emitted on key up in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyUp!: EventEmitter<DatePickerKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted on key down in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyDown!: EventEmitter<DatePickerKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is focused.\r\n */\r\n @Event()\r\n dsoFocus!: EventEmitter<DatePickerFocusEvent>;\r\n\r\n private handleBlur = (event: FocusEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoBlur.emit({\r\n originalEvent: event,\r\n component: \"dso-date-picker\",\r\n });\r\n };\r\n\r\n private handleFocus = (event: FocusEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoFocus.emit({\r\n originalEvent: event,\r\n component: \"dso-date-picker\",\r\n });\r\n };\r\n\r\n private handleKeyUp = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyUp.emit({\r\n component: \"dso-date-picker\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleKeyDown = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyDown.emit({\r\n component: \"dso-date-picker\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleInputChange = (e: Event) => {\r\n const target = e.target;\r\n\r\n if (!(target instanceof HTMLInputElement)) {\r\n return;\r\n }\r\n\r\n const { valueAsDate, validity } = target;\r\n\r\n const event: DatePickerChangeEvent = {\r\n component: \"dso-date-picker\",\r\n originalEvent: e,\r\n validity,\r\n value: parseToDutchFormat(valueAsDate),\r\n valueAsDate: valueAsDate ?? undefined,\r\n };\r\n\r\n if (validity.valueMissing) {\r\n event.error = \"required\";\r\n } else if (validity.rangeUnderflow) {\r\n event.error = \"min-range\";\r\n event.valueAsDate = undefined;\r\n } else if (validity.rangeOverflow) {\r\n event.error = \"max-range\";\r\n event.valueAsDate = undefined;\r\n } else if (!validity.valid) {\r\n event.error = \"invalid\";\r\n }\r\n\r\n this.dsoDateChange.emit(event);\r\n };\r\n\r\n render() {\r\n return (\r\n <input\r\n type=\"date\"\r\n id={this.identifier}\r\n class=\"dso-date__input\"\r\n value={parseToValueFormat(this.value)}\r\n name={this.name}\r\n min={parseToValueFormat(this.min)}\r\n max={parseToValueFormat(this.max)}\r\n disabled={this.disabled || undefined}\r\n required={this.required || undefined}\r\n aria-autocomplete=\"none\"\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={this.describedBy}\r\n autoComplete=\"off\"\r\n autofocus={this.dsoAutofocus || undefined}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onKeyUp={this.handleKeyUp}\r\n onKeyDown={this.handleKeyDown}\r\n onChange={this.handleInputChange}\r\n />\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dso-date-picker.entry.cjs.js","mappings":"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","names":["h"],"sources":["src/components/date-picker/date-utils.ts","src/components/date-picker/date-picker.scss?tag=dso-date-picker&encapsulation=scoped","src/components/date-picker/date-picker.tsx"],"sourcesContent":["/**\r\n * dd-mm-yyyy to yyyy-mm-dd\r\n */\r\nexport function parseToValueFormat(value: string | undefined): string | undefined {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n const matches = value.split(\"-\");\r\n\r\n if (\r\n matches.length === 3 &&\r\n typeof matches[0] === \"string\" &&\r\n typeof matches[1] === \"string\" &&\r\n typeof matches[2] === \"string\"\r\n ) {\r\n const [d, m, y] = matches;\r\n\r\n const dd = d.padStart(2, \"0\");\r\n const mm = m.padStart(2, \"0\");\r\n const yyyy = y.padStart(4, \"0\");\r\n\r\n return [yyyy, mm, dd].join(\"-\");\r\n }\r\n\r\n return value;\r\n}\r\n\r\n/**\r\n * yyyy-mm-dd to dd-mm-yyyy\r\n */\r\nexport function parseToDutchFormat(date: Date | null): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const dd = date.getDate().toString(10).padStart(2, \"0\");\r\n const mm = (date.getMonth() + 1).toString(10).padStart(2, \"0\");\r\n const yyyy = date.getFullYear().toString(10).padStart(4, \"0\");\r\n\r\n return [dd, mm, yyyy].join(\"-\");\r\n}\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n\r\n@use \"date-picker.variables\" as core-date-picker-variables;\r\n\r\n:host {\r\n display: block;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n .dso-date__input {\r\n border-color: colors.$danger-color;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__input {\r\n @include form-control.root();\r\n\r\n &::-webkit-calendar-picker-indicator {\r\n position: relative;\r\n inset-inline-end: -8px;\r\n\r\n font-size: 1.75rem;\r\n\r\n filter: invert(50%) sepia(66%) saturate(6528%) hue-rotate(71deg) brightness(94%) contrast(91%);\r\n }\r\n}\r\n","import { Component, ComponentInterface, Prop, Element, h, Event, EventEmitter } from \"@stencil/core\";\r\n\r\nimport {\r\n DatePickerBlurEvent,\r\n DatePickerChangeEvent,\r\n DatePickerError,\r\n DatePickerFocusEvent,\r\n DatePickerKeyboardEvent,\r\n} from \"./date-picker.interfaces\";\r\nimport { parseToValueFormat, parseToDutchFormat } from \"./date-utils\";\r\n\r\n@Component({\r\n tag: \"dso-date-picker\",\r\n styleUrl: \"date-picker.scss\",\r\n shadow: false,\r\n scoped: true,\r\n})\r\nexport class DsoDatePicker implements ComponentInterface {\r\n /**\r\n * Reference to host HTML element.\r\n */\r\n @Element()\r\n element!: HTMLDsoDatePickerElement;\r\n\r\n /**\r\n * Name of the date picker input.\r\n */\r\n @Prop()\r\n name = \"dso-date\";\r\n\r\n /**\r\n * Adds a unique identifier for the date picker input. Use this instead of html `id` attribute.\r\n */\r\n @Prop()\r\n identifier: string | undefined;\r\n\r\n /**\r\n * Makes the date picker input component disabled. This prevents users from being able to\r\n * interact with the input, and conveys its inactive state to assistive technologies.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Should the input be marked as required?\r\n */\r\n @Prop({ reflect: true })\r\n required = false;\r\n\r\n /**\r\n * Is input invalid?\r\n */\r\n @Prop({ reflect: true })\r\n invalid?: boolean;\r\n\r\n /**\r\n * ID of element that describes the input element\r\n */\r\n @Prop()\r\n describedBy?: string;\r\n\r\n /**\r\n * Should the input be focused on load?\r\n */\r\n @Prop()\r\n dsoAutofocus = false;\r\n\r\n /**\r\n * Date value. Must be in Dutch date format: DD-MM-YYYY.\r\n */\r\n @Prop({ reflect: true })\r\n value = \"\";\r\n\r\n /**\r\n * Minimum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the max property.\r\n */\r\n @Prop()\r\n min: string | undefined;\r\n\r\n /**\r\n * Maximum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the min property.\r\n */\r\n @Prop()\r\n max: string | undefined;\r\n\r\n /**\r\n * Events section.\r\n */\r\n\r\n /**\r\n * Event emitted when a date is selected.\r\n */\r\n @Event()\r\n dsoDateChange!: EventEmitter<DatePickerChangeEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is blurred.\r\n */\r\n @Event()\r\n dsoBlur!: EventEmitter<DatePickerBlurEvent>;\r\n\r\n /**\r\n * Event emitted on key up in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyUp!: EventEmitter<DatePickerKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted on key down in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyDown!: EventEmitter<DatePickerKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is focused.\r\n */\r\n @Event()\r\n dsoFocus!: EventEmitter<DatePickerFocusEvent>;\r\n\r\n private handleBlur = (e: FocusEvent) => {\r\n e.stopPropagation();\r\n\r\n const { target } = e;\r\n\r\n if (!(target instanceof HTMLInputElement)) {\r\n return;\r\n }\r\n\r\n const { validity } = target;\r\n const { value, valueAsDate } = this.dateValues(target);\r\n const error = this.validityToError(validity);\r\n\r\n const event: DatePickerBlurEvent = {\r\n component: \"dso-date-picker\",\r\n originalEvent: e,\r\n validity,\r\n value,\r\n valueAsDate,\r\n error,\r\n };\r\n\r\n this.dsoBlur.emit(event);\r\n };\r\n\r\n private handleFocus = (event: FocusEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoFocus.emit({\r\n originalEvent: event,\r\n component: \"dso-date-picker\",\r\n });\r\n };\r\n\r\n private handleKeyUp = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyUp.emit({\r\n component: \"dso-date-picker\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleKeyDown = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyDown.emit({\r\n component: \"dso-date-picker\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleInputChange = (e: Event) => {\r\n const target = e.target;\r\n\r\n if (!(target instanceof HTMLInputElement)) {\r\n return;\r\n }\r\n\r\n const { validity } = target;\r\n const { value, valueAsDate } = this.dateValues(target);\r\n const error = this.validityToError(validity);\r\n\r\n const event: DatePickerChangeEvent = {\r\n component: \"dso-date-picker\",\r\n originalEvent: e,\r\n validity,\r\n value,\r\n valueAsDate,\r\n error,\r\n };\r\n\r\n this.dsoDateChange.emit(event);\r\n };\r\n\r\n private dateValues(target: HTMLInputElement): { value: string; valueAsDate: Date | undefined } {\r\n const { valueAsDate, validity } = target;\r\n\r\n return {\r\n value: parseToDutchFormat(valueAsDate),\r\n valueAsDate: (!validity.rangeOverflow && !validity.rangeUnderflow && valueAsDate) || undefined,\r\n };\r\n }\r\n\r\n private validityToError(validity: ValidityState): DatePickerError | undefined {\r\n if (validity.valueMissing) {\r\n return \"required\";\r\n }\r\n\r\n if (validity.rangeUnderflow) {\r\n return \"min-range\";\r\n }\r\n\r\n if (validity.rangeOverflow) {\r\n return \"max-range\";\r\n }\r\n\r\n if (!validity.valid) {\r\n return \"invalid\";\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n render() {\r\n return (\r\n <input\r\n type=\"date\"\r\n id={this.identifier}\r\n class=\"dso-date__input\"\r\n value={parseToValueFormat(this.value)}\r\n name={this.name}\r\n min={parseToValueFormat(this.min)}\r\n max={parseToValueFormat(this.max)}\r\n disabled={this.disabled || undefined}\r\n required={this.required || undefined}\r\n aria-autocomplete=\"none\"\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={this.describedBy}\r\n autoComplete=\"off\"\r\n autofocus={this.dsoAutofocus || undefined}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onKeyUp={this.handleKeyUp}\r\n onKeyDown={this.handleKeyDown}\r\n onChange={this.handleInputChange}\r\n />\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1314,7 +1314,7 @@ anime.easing = parseEasings;
1314
1314
  anime.penner = penner;
1315
1315
  anime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };
1316
1316
 
1317
- const expandableCss = ":host{display:block;overflow-y:hidden}:host(.dso-hide){display:none}:host(:not(.dso-animate-ready)){position:absolute;visibility:hidden}:host([open]){position:inherit;visibility:inherit}*,*::after,*::before{box-sizing:border-box}";
1317
+ const expandableCss = ":host{display:block}:host(.dso-hide){display:none}:host(:not(.dso-animate-ready)){position:absolute;visibility:hidden}:host([open]){position:inherit;visibility:inherit}:host(:not([is-open])){overflow-y:hidden}*,*::after,*::before{box-sizing:border-box}";
1318
1318
 
1319
1319
  const Expandable = class {
1320
1320
  constructor(hostRef) {
@@ -1325,6 +1325,7 @@ const Expandable = class {
1325
1325
  this.enableAnimation = false;
1326
1326
  this.minimumHeight = undefined;
1327
1327
  this.animationReady = false;
1328
+ this.isOpen = this.open;
1328
1329
  }
1329
1330
  toggleOpen() {
1330
1331
  if (this.enableAnimation) {
@@ -1361,7 +1362,7 @@ const Expandable = class {
1361
1362
  return (index.h(index.Host, { "aria-hidden": this.open ? "false" : "true", class: clsx.clsx({
1362
1363
  "dso-animate-ready": this.enableAnimation && this.animationReady,
1363
1364
  "dso-hide": !this.enableAnimation && !this.open,
1364
- }) }, index.h("slot", null)));
1365
+ }), "is-open": this.isOpen }, index.h("slot", null)));
1365
1366
  }
1366
1367
  prepareAnimationResizeObserver() {
1367
1368
  this.resizeObserver = new ResizeObserver(index$1.debounce_1(([entry]) => {
@@ -1386,7 +1387,10 @@ const Expandable = class {
1386
1387
  autoplay: false,
1387
1388
  direction: "normal",
1388
1389
  changeBegin: () => {
1389
- this.dsoExpandableAnimationStart.emit({});
1390
+ this.dsoExpandableAnimationStart.emit({
1391
+ currentOpen: !!this.open,
1392
+ nextOpen: !this.open,
1393
+ });
1390
1394
  },
1391
1395
  begin: () => {
1392
1396
  if (this.open) {
@@ -1394,6 +1398,9 @@ const Expandable = class {
1394
1398
  this.host.style.position = "";
1395
1399
  this.host.style.bottom = "";
1396
1400
  }
1401
+ else {
1402
+ this.isOpen = false;
1403
+ }
1397
1404
  },
1398
1405
  complete: () => {
1399
1406
  this.host.style.height = "";
@@ -1402,9 +1409,12 @@ const Expandable = class {
1402
1409
  this.host.style.position = "absolute";
1403
1410
  this.host.style.bottom = "100%";
1404
1411
  }
1412
+ else {
1413
+ this.isOpen = true;
1414
+ }
1405
1415
  },
1406
1416
  changeComplete: () => {
1407
- this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight });
1417
+ this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight, open: !!this.open });
1408
1418
  },
1409
1419
  });
1410
1420
  if (!this.open) {