diff --git a/.changeset/hip-pigs-type.md b/.changeset/hip-pigs-type.md
new file mode 100644
index 000000000..78877e60a
--- /dev/null
+++ b/.changeset/hip-pigs-type.md
@@ -0,0 +1,8 @@
+---
+'@lion/input-datepicker': minor
+'@lion/overlays': minor
+---
+
+- ArrowMixin needs to extend styles and not overwrite them
+- ArrowMixin add an `_arrowNodeTemplate` which can be used to only override the arrow content
+- InputDatepicker switch between bottomsheet style (on mobile) popover (on desktop/table with screensize bigger then 600px)
diff --git a/package-lock.json b/package-lock.json
index a6e5909dd..5af9ac365 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -23,9 +23,9 @@
"@types/chai-dom": "^0.0.8",
"@web/dev-server": "^0.0.13",
"@web/dev-server-legacy": "^0.1.4",
- "@web/test-runner": "^0.9.0",
+ "@web/test-runner": "^0.9.7",
"@web/test-runner-browserstack": "^0.2.0",
- "@web/test-runner-playwright": "^0.6.3",
+ "@web/test-runner-playwright": "^0.6.4",
"@webcomponents/webcomponentsjs": "^2.4.4",
"babel-eslint": "^8.2.6",
"babel-polyfill": "^6.26.0",
@@ -4799,9 +4799,9 @@
"dev": true
},
"node_modules/@types/puppeteer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-3.0.2.tgz",
- "integrity": "sha512-JRuHPSbHZBadOxxFwpyZPeRlpPTTeMbQneMdpFd8LXdyNfFSiX950CGewdm69g/ipzEAXAmMyFF1WOWJOL/nKw==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-3.0.4.tgz",
+ "integrity": "sha512-wmkBg1Wn/wwgGDl9IrxwY9nJ/Hfv/YHFAqy6Dch9KYDSjA0lif8PA7j3Ls1iOfKWEMRIbHkpWIPoiw4r9Vq+3A==",
"dev": true,
"dependencies": {
"@types/node": "*"
@@ -5302,16 +5302,17 @@
}
},
"node_modules/@web/test-runner": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.9.6.tgz",
- "integrity": "sha512-ThtPMj2MPe6k6xyg5CZKmtzH0G1CN8NlBrS6+YpHtg7jKneXsFeg8RcinY0Maq4sKRdeYCfwUKqSdGNeqrChlg==",
+ "version": "0.9.7",
+ "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.9.7.tgz",
+ "integrity": "sha512-A894e2sgI3aZ7voDMo0o/0ms7oS7NPOb9zui7tMGZt4RUWc4uWduolHd7znAVCTXSJwmlGw8Aa1gWwf4IzAvaQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@rollup/plugin-node-resolve": "^8.1.0",
"@web/config-loader": "^0.1.2",
"@web/dev-server-rollup": "^0.2.9",
"@web/test-runner-chrome": "^0.7.2",
- "@web/test-runner-cli": "^0.6.8",
+ "@web/test-runner-cli": "^0.6.9",
"@web/test-runner-commands": "^0.2.1",
"@web/test-runner-core": "^0.8.7",
"@web/test-runner-mocha": "^0.5.1",
@@ -5361,9 +5362,9 @@
}
},
"node_modules/@web/test-runner-cli": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/@web/test-runner-cli/-/test-runner-cli-0.6.8.tgz",
- "integrity": "sha512-lZhViVaB3/wDfoUPsw9meucUsSonpBnVBy/b3Sqtmfu6bsvOxVEIl5VVRBKIhN94JSQPNUDRWPUVDeV1tljddg==",
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/@web/test-runner-cli/-/test-runner-cli-0.6.9.tgz",
+ "integrity": "sha512-OgjGb0KEs8ZwlUymsAonMiwpZ1qOSQh4dwqfEqbvbu6LyHbjM6Sm9DLThHCibBIYGzxzdHMwgsgWJJCZFAdaKA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.10.4",
@@ -29623,9 +29624,9 @@
"dev": true
},
"@types/puppeteer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-3.0.2.tgz",
- "integrity": "sha512-JRuHPSbHZBadOxxFwpyZPeRlpPTTeMbQneMdpFd8LXdyNfFSiX950CGewdm69g/ipzEAXAmMyFF1WOWJOL/nKw==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-3.0.4.tgz",
+ "integrity": "sha512-wmkBg1Wn/wwgGDl9IrxwY9nJ/Hfv/YHFAqy6Dch9KYDSjA0lif8PA7j3Ls1iOfKWEMRIbHkpWIPoiw4r9Vq+3A==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -30072,16 +30073,16 @@
}
},
"@web/test-runner": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.9.6.tgz",
- "integrity": "sha512-ThtPMj2MPe6k6xyg5CZKmtzH0G1CN8NlBrS6+YpHtg7jKneXsFeg8RcinY0Maq4sKRdeYCfwUKqSdGNeqrChlg==",
+ "version": "0.9.7",
+ "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.9.7.tgz",
+ "integrity": "sha512-A894e2sgI3aZ7voDMo0o/0ms7oS7NPOb9zui7tMGZt4RUWc4uWduolHd7znAVCTXSJwmlGw8Aa1gWwf4IzAvaQ==",
"dev": true,
"requires": {
"@rollup/plugin-node-resolve": "^8.1.0",
"@web/config-loader": "^0.1.2",
"@web/dev-server-rollup": "^0.2.9",
"@web/test-runner-chrome": "^0.7.2",
- "@web/test-runner-cli": "^0.6.8",
+ "@web/test-runner-cli": "^0.6.9",
"@web/test-runner-commands": "^0.2.1",
"@web/test-runner-core": "^0.8.7",
"@web/test-runner-mocha": "^0.5.1",
@@ -30144,9 +30145,9 @@
}
},
"@web/test-runner-cli": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/@web/test-runner-cli/-/test-runner-cli-0.6.8.tgz",
- "integrity": "sha512-lZhViVaB3/wDfoUPsw9meucUsSonpBnVBy/b3Sqtmfu6bsvOxVEIl5VVRBKIhN94JSQPNUDRWPUVDeV1tljddg==",
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/@web/test-runner-cli/-/test-runner-cli-0.6.9.tgz",
+ "integrity": "sha512-OgjGb0KEs8ZwlUymsAonMiwpZ1qOSQh4dwqfEqbvbu6LyHbjM6Sm9DLThHCibBIYGzxzdHMwgsgWJJCZFAdaKA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
diff --git a/package.json b/package.json
index 18610b245..804f98214 100644
--- a/package.json
+++ b/package.json
@@ -48,9 +48,9 @@
"@types/chai-dom": "^0.0.8",
"@web/dev-server": "^0.0.13",
"@web/dev-server-legacy": "^0.1.4",
- "@web/test-runner": "^0.9.0",
+ "@web/test-runner": "^0.9.7",
"@web/test-runner-browserstack": "^0.2.0",
- "@web/test-runner-playwright": "^0.6.3",
+ "@web/test-runner-playwright": "^0.6.4",
"@webcomponents/webcomponentsjs": "^2.4.4",
"babel-eslint": "^8.2.6",
"babel-polyfill": "^6.26.0",
diff --git a/packages/input-datepicker/src/LionInputDatepicker.js b/packages/input-datepicker/src/LionInputDatepicker.js
index 9cfd9817a..40d19104c 100644
--- a/packages/input-datepicker/src/LionInputDatepicker.js
+++ b/packages/input-datepicker/src/LionInputDatepicker.js
@@ -1,14 +1,21 @@
import { LionCalendar } from '@lion/calendar/src/LionCalendar';
import { html, ifDefined, ScopedElementsMixin } from '@lion/core';
import { LionInputDate } from '@lion/input-date';
-import { OverlayMixin, withModalDialogConfig } from '@lion/overlays';
+import {
+ OverlayMixin,
+ withBottomSheetConfig,
+ withModalDialogConfig,
+ ArrowMixin,
+} from '@lion/overlays';
import { LionCalendarOverlayFrame } from './LionCalendarOverlayFrame.js';
/**
* @customElement lion-input-datepicker
*/
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/40110
-export class LionInputDatepicker extends ScopedElementsMixin(OverlayMixin(LionInputDate)) {
+export class LionInputDatepicker extends ScopedElementsMixin(
+ ArrowMixin(OverlayMixin(LionInputDate)),
+) {
static get scopedElements() {
return {
...super.scopedElements,
@@ -226,10 +233,13 @@ export class LionInputDatepicker extends ScopedElementsMixin(OverlayMixin(LionIn
// When not opened (usually on init), it does not need to be rendered.
// This would make first paint quicker
return html`
-