Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
9112d7a
chore(bundle-size): add fixtures for Focusable find* methods
layershifter May 11, 2026
90a71ef
chore(deps): patch keyborg to drop unused / legacy code paths
layershifter May 5, 2026
7a1be1c
refactor(bundle-size): drop dead code paths + declare class fields
layershifter May 11, 2026
e0fa9ee
refactor(bundle-size): use free-function helpers for events and timers
layershifter May 11, 2026
05009dd
refactor(bundle-size): convert Subscribable family to factories
layershifter May 11, 2026
b125b70
refactor(bundle-size): convert DummyInput family to factories
layershifter May 11, 2026
3101e23
refactor(bundle-size): convert RestorerAPI class → factory function
layershifter May 4, 2026
fe95178
refactor(bundle-size): convert OutlineAPI class → factory function
layershifter May 4, 2026
35553c4
refactor(bundle-size): convert DeloserAPI class → factory function
layershifter May 4, 2026
127475d
refactor(bundle-size): convert GroupperAPI class → factory function
layershifter May 4, 2026
522c515
refactor(bundle-size): convert MoverAPI class → factory function
layershifter May 4, 2026
268431e
refactor(bundle-size): convert ModalizerAPI class → factory function
layershifter May 4, 2026
8606f25
refactor(bundle-size): convert CrossOriginAPI class → factory function
layershifter May 4, 2026
d3ab201
refactor(bundle-size): convert UncontrolledAPI class → factory function
layershifter May 4, 2026
bb1f119
fix: resolve cherry-pick conflicts for PR4/PR5/PR6 compatibility in f…
layershifter May 11, 2026
1acb7be
refactor(bundle-size): extract context resolvers + slim TabsterCore s…
layershifter May 11, 2026
41ab3b9
refactor(bundle-size): extract Focusable mover/groupper resolver
layershifter May 11, 2026
82e5fe0
refactor(bundle-size)!: hoist focusedElement helpers to module-level …
layershifter May 11, 2026
4ded9a0
refactor(bundle-size): extract dummy infrastructure + auto-install vi…
layershifter May 11, 2026
49a16a0
refactor(bundle-size)!: extract Tab keydown handler into opt-in module
layershifter May 5, 2026
9c827f7
refactor(bundle-size)!: drop UncontrolledAPI wrapper, store callback …
layershifter May 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ docs/.docusaurus
docs/.cache-loader
*.yml
.pages-deploy
bundle-size/.readable/
.claude/
4 changes: 4 additions & 0 deletions .storybook/preview.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
getOutline,
getCrossOrigin,
getRestorer,
getRootDummyInputs,
} from "../src";

export const parameters = {
Expand Down Expand Up @@ -36,6 +37,9 @@ export const decorators = [
controlTab,
rootDummyInputs,
});
if (controlTab || rootDummyInputs) {
getRootDummyInputs(tabster);
}
console.log(
"created tabster",
`as ${
Expand Down
11 changes: 10 additions & 1 deletion babel.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,16 @@ module.exports = (api) => {
];

return {
presets: ["@babel/preset-typescript", "@babel/preset-react", presetEnv],
presets: [
// `allowDeclareFields` lets us write `declare field: T;` on
// class members — TS-only typed declarations that don't emit a
// class-field initializer at runtime. Used in src/* to drop the
// `this.x = void 0` writes that the constructor immediately
// overwrites.
["@babel/preset-typescript", { allowDeclareFields: true }],
"@babel/preset-react",
presetEnv,
],
plugins: [["@babel/plugin-transform-react-jsx"]],
};
};
21 changes: 21 additions & 0 deletions bundle-size/focusableFindAll.fixture.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import {
createTabster,
disposeTabster,
findAllFocusable,
getTabsterAttribute,
setTabsterAttribute,
Types,
} from "tabster";

console.log(
createTabster,
disposeTabster,
getTabsterAttribute,
setTabsterAttribute,
findAllFocusable,
Types
);

export default {
name: "findAllFocusable",
};
21 changes: 21 additions & 0 deletions bundle-size/focusableFindLast.fixture.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import {
createTabster,
disposeTabster,
findLastFocusable,
getTabsterAttribute,
setTabsterAttribute,
Types,
} from "tabster";

console.log(
createTabster,
disposeTabster,
getTabsterAttribute,
setTabsterAttribute,
findLastFocusable,
Types
);

export default {
name: "findLastFocusable",
};
21 changes: 21 additions & 0 deletions bundle-size/focusableFindNext.fixture.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import {
createTabster,
disposeTabster,
findNextFocusable,
getTabsterAttribute,
setTabsterAttribute,
Types,
} from "tabster";

console.log(
createTabster,
disposeTabster,
getTabsterAttribute,
setTabsterAttribute,
findNextFocusable,
Types
);

export default {
name: "findNextFocusable",
};
21 changes: 21 additions & 0 deletions bundle-size/focusableFindPrev.fixture.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import {
createTabster,
disposeTabster,
findPrevFocusable,
getTabsterAttribute,
setTabsterAttribute,
Types,
} from "tabster";

console.log(
createTabster,
disposeTabster,
getTabsterAttribute,
setTabsterAttribute,
findPrevFocusable,
Types
);

export default {
name: "findPrevFocusable",
};
23 changes: 23 additions & 0 deletions bundle-size/getModalizerWithDummyInputs.fixture.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import {
createTabster,
disposeTabster,
getTabsterAttribute,
setTabsterAttribute,
getModalizer,
getRootDummyInputs,
Types,
} from "tabster";

console.log(
createTabster,
disposeTabster,
getTabsterAttribute,
setTabsterAttribute,
getModalizer,
getRootDummyInputs,
Types
);

export default {
name: "getModalizer (with dummy inputs)",
};
Loading
Loading