diff --git a/packages/overlays/src/utils/typedef.js b/packages/overlays/src/utils/typedef.js
index 1dfd14499..b9072bf29 100644
--- a/packages/overlays/src/utils/typedef.js
+++ b/packages/overlays/src/utils/typedef.js
@@ -17,7 +17,7 @@
* @property {HTMLElement} contentNode
* @property {boolean} [isModal=false] - sets aria-modal and/or aria-hidden="true" on siblings
* @property {boolean} [isGlobal=false] - determines the connection point in DOM (body vs next
- * to invoker). This is what other libraries often refer to as 'portal'. TODO: rename to renderToBody?
+ * to invoker). This is what other libraries often refer to as 'portal'.
* @property {boolean} [isTooltip=false] - has a totally different interaction- and accessibility pattern from all other overlays, so needed for internals.
* @property {boolean} [handlesUserInteraction] - sets toggle on click, or hover when `isTooltip`
* @property {boolean} [handlesAccessibility] -
diff --git a/packages/select-rich/src/LionSelectRich.js b/packages/select-rich/src/LionSelectRich.js
index 36eac1b2b..c72e5a886 100644
--- a/packages/select-rich/src/LionSelectRich.js
+++ b/packages/select-rich/src/LionSelectRich.js
@@ -148,7 +148,6 @@ export class LionSelectRich extends ScopedElementsMixin(
this.requestUpdate('modelValue');
}
- // TODO: quick and dirty fix. Should be possible to do it nicer on a higher layer
get serializedValue() {
return this.modelValue;
}
@@ -260,7 +259,6 @@ export class LionSelectRich extends ScopedElementsMixin(
get _inputNode() {
// In FormControl, we get direct child [slot="input"]. This doesn't work, because the overlay
// system wraps it in [slot="_overlay-shadow-outlet"]
- // TODO: find a way to solve this by putting the wrapping part in shadow dom...
return this.querySelector('[slot="input"]');
}
diff --git a/packages/select-rich/test/lion-select-rich-interaction.test.js b/packages/select-rich/test/lion-select-rich-interaction.test.js
index 9c3ab4687..ff01e06bd 100644
--- a/packages/select-rich/test/lion-select-rich-interaction.test.js
+++ b/packages/select-rich/test/lion-select-rich-interaction.test.js
@@ -401,29 +401,6 @@ describe('lion-select-rich interactions', () => {
});
});
- // TODO: nice to have
- describe.skip('Read only', () => {
- it('can be focused if readonly', async () => {
- const el = await fixture(html`
-
- `);
- expect(el.tabIndex).to.equal('-1');
- });
-
- it('cannot be navigated with keyboard if readonly', async () => {
- const el = await fixture(html`
-
-
- Item 1
- Item 2
-
-
- `);
- el._listboxNode.dispatchEvent(new KeyboardEvent('keyup', { key: 'ArrowDown' }));
- expect(el.choiceValue).to.equal(10);
- });
- });
-
describe('Programmatic interaction', () => {
it('can set active state', async () => {
const el = await fixture(html`
diff --git a/packages/validate/src/ValidateMixin.js b/packages/validate/src/ValidateMixin.js
index 6185e0718..dfb91fe08 100644
--- a/packages/validate/src/ValidateMixin.js
+++ b/packages/validate/src/ValidateMixin.js
@@ -484,10 +484,6 @@ export const ValidateMixin = dedupeMixin(
if (typeof this._isEmpty === 'function') {
return this._isEmpty(v);
}
- // // TODO: move to compat layer. Be sure to keep this, because people use this a lot
- // if (typeof this.__isRequired === 'function') {
- // return !this.__isRequired(v);
- // }
return (
this.modelValue === null ||
typeof this.modelValue === 'undefined' ||
diff --git a/packages/validate/test-suites/ValidateMixin.suite.js b/packages/validate/test-suites/ValidateMixin.suite.js
index d66c29ef6..5ff8bb9de 100644
--- a/packages/validate/test-suites/ValidateMixin.suite.js
+++ b/packages/validate/test-suites/ValidateMixin.suite.js
@@ -775,28 +775,6 @@ export function runValidateMixinSuite(customConfig) {
});
describe('State storage and reflection', () => {
- class ContainsLowercaseA extends Validator {
- constructor(...args) {
- super(...args);
- this.execute = modelValue => !modelValue.includes('a');
- }
-
- static get validatorName() {
- return 'ContainsLowercaseA';
- }
- }
-
- class ContainsLowercaseB extends Validator {
- constructor(...args) {
- super(...args);
- this.execute = modelValue => !modelValue.includes('b');
- }
-
- static get validatorName() {
- return 'containsLowercaseB';
- }
- }
-
it('stores validity of individual Validators in ".validationStates.error[validator.validatorName]"', async () => {
const el = await fixture(html`
<${tag}
@@ -890,35 +868,6 @@ export function runValidateMixinSuite(customConfig) {
await el.updateComplete;
expect(spy).to.have.callCount(2);
});
-
- // TODO: what is it used for?
- it.skip('fires "error-states-changed" event when "internal" state changes', async () => {
- const el = await fixture(html`
- <${tag}
- .validators=${[new MinLength(3), new ContainsLowercaseA(), new ContainsLowercaseB()]}
- >${lightDom}
- ${tag}>
- `);
-
- const cbError = sinon.spy();
- el.addEventListener('error-states-changed', cbError);
-
- el.modelValue = 'a';
- await el.updateComplete;
- expect(cbError.callCount).to.equal(1);
-
- el.modelValue = 'aa';
- await el.updateComplete;
- expect(cbError.callCount).to.equal(1);
-
- el.modelValue = 'aaa';
- await el.updateComplete;
- expect(cbError.callCount).to.equal(2);
-
- el.modelValue = 'aba';
- await el.updateComplete;
- expect(cbError.callCount).to.equal(3);
- });
});
});