robonen
655f30a658
test(scroll-area): improve glimpse type test for pointer interactions
Publish to NPM / Check version changes and publish (push) Successful in 11m30s
2026-06-18 03:17:25 +07:00
robonen
ab6d8f6ce0
build: bump new versions
Publish to NPM / Check version changes and publish (push) Failing after 10m34s
2026-06-18 02:57:03 +07:00
robonen
e73e8d2cdd
chore: update dependencies and configurations across multiple packages
Publish to NPM / Check version changes and publish (push) Failing after 10m44s
2026-06-18 02:02:58 +07:00
robonen
be667df3d8
chore(stories): wire tests preset into lint config
2026-06-15 16:55:07 +07:00
robonen
aa2938cb34
refactor(toolkit): type source any with proper types
...
Genuinely type composable any usages (useStepper/useStorage/useForm/
createEventHook/useSorted/etc.) as proper generics/unknown; keep idiomatic
any-function and overload-impl signatures with comments; skipped test -> .todo.
2026-06-15 16:55:07 +07:00
robonen
eefd7abf83
feat(primitives): media-editor components, category reorg, perf + type cleanup
...
Reorganize components into category folders (forms/canvas/overlays/etc.); add the
media-editor headless family (timeline, curve-editor, waveform, crop, color
picker, etc.); apply perf fixes (O(1) collection lookups, plain-object drag
state, gesture-leak teardown, shallowRef color state, rect caching) and replace
source `any` with proper types.
2026-06-15 16:54:29 +07:00
robonen
661a55719e
perf(primitives): add performance audit report and vitest bench baselines
...
Library-wide Vue+V8 perf/leak audit (PERF_AUDIT.md) plus bench baselines for the
hot-path modules (timeline, curve-editor, spline, pointer-drag, collection, etc.).
2026-06-15 16:54:28 +07:00
robonen
263c32002f
feat(writekit): rename @robonen/editor to @robonen/writekit
...
Rename the rich-text editor package and all Editor* exports to Writekit*;
remove the old vue/editor tree.
2026-06-15 16:54:06 +07:00
robonen
a39d93a6a4
Merge branch 'master' into docs
2026-06-10 16:24:41 +07:00
robonen
9375304e1a
feat(navigation-menu): enhance context handling and lifecycle management
2026-06-10 16:16:12 +07:00
robonen
225c3b8530
Merge pull request #142 from robonen/docs
...
feat(storage): enhance useStorageAsync with cross-instance sync and e…
2026-06-10 15:13:40 +07:00
robonen
a82f5f2dfd
feat(storage): enhance useStorageAsync with cross-instance sync and event handling
2026-06-10 15:09:46 +07:00
robonen
98e243dc04
Merge pull request #141 from robonen/docs
...
feat(forms): add useMaskedField and useMaskedInput composables for in…
2026-06-09 13:58:53 +07:00
robonen
07937e26db
feat(forms): add useMaskedField and useMaskedInput composables for input masking
2026-06-09 13:54:52 +07:00
renovate[bot]
a0154dabf5
chore(deps): update all non-major dependencies ( #120 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 01:15:28 +00:00
robonen
53c725d3b2
docs(editor): richer playground (drag, multiplayer, live output) + drop contenteditable outline
...
Reworks the editor playground into a tabbed showcase:
- Rich text & blocks: drag-to-reorder handles, bubble/slash menus, and a live output panel (block/word counts, selection readout, document JSON).
- Multiplayer: two CRDT replicas synced over an in-memory channel with remote cursors, an in-sync indicator, and a Connected/Offline toggle that demonstrates divergence → convergence.
Also removes the focus outline on the contenteditable (outline: none on the editable surface).
2026-06-08 21:02:30 +07:00
robonen
024685e265
docs(editor): add an interactive editor playground
...
A live @robonen/editor instance (default registry) as a doc section at /editor/playground: a reactive formatting toolbar, the bubble/slash menus, and a sample document exercising every block and mark — styled with the docs design tokens and wrapped in <ClientOnly> for SSR. Links it from the editor intro.
2026-06-08 20:37:51 +07:00
robonen
f4cc6e45eb
test(vue): avoid CSS-wide keyword as a custom-property value in useCssVar test
...
Setting a custom property to 'initial' (a CSS-wide keyword) computes to the guaranteed-invalid value, so getComputedStyle returns '' — correct per spec and now implemented by jsdom 29 (the deps bump from jsdom 28). Use a normal token ('start') so the read returns the value.
2026-06-08 17:32:29 +07:00
robonen
f335c7db61
test(editor): wait for async selectionchange in cross-block selection test
...
selectionchange is dispatched on a macrotask, so awaiting nextTick (microtasks) didn't wait for the editor to sync the native selection into the model — the assertion saw the initial selection. Poll with vi.waitFor instead. (Surfaced now that per-package CI runs editor's browser tests, which the root vitest projects list omitted.)
2026-06-08 17:20:40 +07:00
robonen
73e701a2c5
chore: update all deps
2026-06-08 17:11:14 +07:00
robonen
53f2d7ceef
docs: add package introductions and the @robonen/crdt guide
...
An intro.vue landing for all 12 packages, plus a multi-section crdt guide (Concepts, Primitives, Replication & Sync, and an interactive convergence Playground).
2026-06-08 15:52:03 +07:00
robonen
def1db8b6c
fix(primitives): component fixes and test cleanup
2026-06-08 15:51:30 +07:00
robonen
9ef8125965
chore(editor): view, selection-bridge, and type fixes
2026-06-08 15:51:30 +07:00
robonen
e83f10fe32
docs(vue): add interactive demo for every composable
...
A beautiful, SSR-safe demo.vue next to each composable, auto-discovered by the docs extractor and rendered client-only on each composable's page.
2026-06-08 15:51:16 +07:00
robonen
59e995d0b5
feat(vue): expand @robonen/vue composable collection
...
Composables, tests, category barrels, and README for @robonen/vue.
2026-06-08 15:51:16 +07:00
robonen
23a2795523
chore(stories): eslint/tsconfig migration
...
Migrate Storybook package to eslint flat config + composite tsconfig.
2026-06-07 16:30:05 +07:00
robonen
09272dffeb
feat(editor): eslint/tsconfig migration + type fixes
...
@robonen/editor: migrate to eslint flat config + composite tsconfig; fix
convergence test type annotations.
2026-06-07 16:30:05 +07:00
robonen
626fbc70d8
fix(primitives): eslint/tsconfig migration, asChild refactor, type fixes
...
- Migrate to eslint flat config + composite tsconfig.
- Complete the asChild→as="template" refactor (remove asChild prop + :as-child
bindings across components, matching Primitive's slot model).
- Fix test type errors and source type-safety (useGraceArea hull/point math,
FocusScope/util ref typing).
Note: ~53 vue-tsc errors remain (HTML attr/event passthrough typing on
transparent wrapper components + a couple of duplicate-export naming
collisions) — not gated by CI (build/lint/test green); pending a
component-attribute-typing design decision.
2026-06-07 16:29:56 +07:00
robonen
c7644ade69
fix(vue): eslint/tsconfig migration + resolve type errors
...
@robonen/vue (toolkit): migrate to eslint flat config + composite tsconfig;
fix composable + test type errors (writable computed returns, null guards,
overload-compatible signatures, typed test helpers) — all type-level.
2026-06-07 16:29:39 +07:00
robonen
1d3efa5028
feat(primitives): add menu, dropdown-menu, context-menu, and menubar primitives
...
Implements WAI-ARIA APG-compliant headless menu primitive families:
- menu: base primitive with MenuRoot, MenuContent, MenuItem,
MenuCheckboxItem, MenuRadioGroup/Item, MenuSub, and helpers
- dropdown-menu: DropdownMenuRoot with trigger anchoring
- context-menu: ContextMenuRoot with right-click virtual anchor
- menubar: MenubarRoot with keyboard navigation between menus
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-17 18:48:43 +07:00
robonen
333a18cbaf
refactor(presence): enhance slot handling and attribute forwarding
2026-03-26 17:19:31 +07:00
robonen
5fa38110b7
feat(vue/primitives): remove execArgv option from test configuration
2026-03-10 18:36:45 +07:00
robonen
4574bae0b6
feat(vue/primitives): add FocusScope component with auto-focus and focus trap functionality
2026-03-10 18:28:52 +07:00
robonen
a996eb74b9
feat: update package.json exports to support new module formats and types
2026-03-08 08:19:01 +07:00
robonen
bcc9cb2915
feat(vue/primitives): implement pagination components with accessibility and testing
2026-03-08 04:18:10 +07:00
robonen
41d5e18f6b
feat(monorepo): migrate vue packages and apply oxlint refactors
2026-03-07 18:07:22 +07:00