Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
b6b8077
checkpint
kianbazza Aug 10, 2025
bf46829
checkpoint
kianbazza Aug 10, 2025
7a4c2d8
checkpoint - refactor
kianbazza Aug 10, 2025
b22f789
checkpiont again before handling focus improvements
kianbazza Aug 10, 2025
f256e7b
checkpoint
kianbazza Aug 11, 2025
b112c54
checkpoint again
kianbazza Aug 11, 2025
8c3238d
checkpoint
kianbazza Aug 12, 2025
f0f4fbd
checkpoint
kianbazza Aug 12, 2025
69f2471
checkpoint
kianbazza Aug 14, 2025
6d48b5a
stable??!!!!???!!!!
kianbazza Aug 14, 2025
c5b32eb
more progress
kianbazza Aug 14, 2025
9a9b064
add data-state to content for opened state
kianbazza Aug 14, 2025
a8af03b
handle selection
kianbazza Aug 15, 2025
4f762e9
add command score
kianbazza Aug 15, 2025
65674fc
custom event for item selection to prevent losing input focus
kianbazza Aug 15, 2025
4efee39
checkpoint -- item builder?
kianbazza Aug 16, 2025
e28126d
checkpoint - sorta working search, styling broken
kianbazza Aug 16, 2025
d148c8e
checkpoint - trying multiple options
kianbazza Aug 17, 2025
848a514
progress
kianbazza Aug 17, 2025
d755e14
search working
kianbazza Aug 18, 2025
8b6a0d3
good state
kianbazza Aug 18, 2025
0d1d0ee
search working, scorll into view
kianbazza Aug 18, 2025
af77e36
refactor
kianbazza Aug 18, 2025
907841b
cleanup
kianbazza Aug 19, 2025
69b0553
progress -- checkpoint
kianbazza Aug 19, 2025
1badf91
cmdk style
kianbazza Aug 20, 2025
920877f
checkpoint
kianbazza Aug 21, 2025
f5b71f0
working
kianbazza Aug 21, 2025
126dfb1
checkpoint
kianbazza Aug 21, 2025
deabcce
checkpoint again
kianbazza Aug 21, 2025
d3ac3c3
checkpoint - keyboard nav, submenus are WORKING
kianbazza Aug 21, 2025
305efd8
intent zone displaying - no real functionality yet
kianbazza Aug 21, 2025
4a0b9bc
intenet zone working
kianbazza Aug 21, 2025
bb7a0b2
WORKING FINALLY - STILL NEEDS IRONING AND EDGE CASES BUT WORKING INTE…
kianbazza Aug 21, 2025
740c3c5
improve demo v2
kianbazza Aug 21, 2025
2922532
refactor + cleanup - NO NEW FEATURES
kianbazza Aug 22, 2025
8c3ecb6
fix exit animations. only apply animations to root menu content using…
kianbazza Aug 22, 2025
ec83f58
remove unused function
kianbazza Aug 23, 2025
b065f73
fix keyboard nav backing out of submenu
kianbazza Aug 23, 2025
c5da664
use blue caret for menu input
kianbazza Aug 23, 2025
d02fc65
deep searching work + keyboard nav working
kianbazza Aug 24, 2025
b60c9aa
example - move icons to separate file
kianbazza Aug 24, 2025
63072a0
more abstractions, classNames slots
kianbazza Aug 24, 2025
9a850a5
fix item onSelect for keyboard selection, use action menu for filters…
kianbazza Aug 24, 2025
a71242e
stuff happened
kianbazza Aug 25, 2025
0867f4e
add input placeholder prop
kianbazza Aug 26, 2025
0dfb19b
stuff
kianbazza Aug 26, 2025
5128d65
merge classNames properly using cn()
kianbazza Aug 26, 2025
8fc323f
checkpoint
kianbazza Aug 27, 2025
6bcdf95
restructure to include trigger in content layer to register clicks, h…
kianbazza Aug 27, 2025
78a312e
more work
kianbazza Aug 27, 2025
4ada9f1
add icon prop to SubmenuNode and ItemNode interfaces
kianbazza Aug 27, 2025
0c56aa3
alignToFirstItem prop for submenus
kianbazza Aug 27, 2025
3121357
more item align work
kianbazza Aug 28, 2025
b516a58
release
kianbazza Aug 28, 2025
5927b0a
cleanup, add comments via llm
kianbazza Aug 28, 2025
543b8a8
fix alignToFirstItem behaviour
kianbazza Aug 28, 2025
6ee9fa8
progress on docs
kianbazza Aug 28, 2025
75a70a4
don't wait until the next frame before aligning to first item
kianbazza Aug 28, 2025
de495a4
checkpoint - exampels coming along nicely
kianbazza Aug 29, 2025
d1ef044
more examples
kianbazza Aug 29, 2025
32a7b61
fix broken frame for filter docs
kianbazza Aug 29, 2025
1688e44
progress on footer
kianbazza Aug 29, 2025
b3c5c5d
default onSelect, configurable per instance & surface
kianbazza Aug 30, 2025
0fbd94c
default onSelect, configurable per instance & surface
kianbazza Aug 30, 2025
ee14504
cleanup styling
kianbazza Aug 30, 2025
76dca71
cleanup again
kianbazza Aug 30, 2025
09f2b35
initial refactoring of surface/shell for drawer functionality
kianbazza Aug 31, 2025
6ff39cd
fix focus for drawers
kianbazza Aug 31, 2025
bed4da9
done
kianbazza Aug 31, 2025
983f8ff
sidebar button hover fixed
kianbazza Sep 4, 2025
d2cd724
fix: allow item selection when query is active in action menu
kianbazza Sep 5, 2025
7ced7fb
pass defaults into ItemRow when renering search results
kianbazza Sep 5, 2025
f8ad5f3
add sonner, fix selection focus
kianbazza Sep 5, 2025
30ac633
fix menud efaults
kianbazza Sep 5, 2025
34c6ac0
update docs
kianbazza Sep 5, 2025
edd0617
get search context in onSelect. add `menu` prop pointer to item's par…
kianbazza Sep 5, 2025
58208e0
delay onCloseAutoClear
kianbazza Sep 5, 2025
b2069cc
progress
kianbazza Sep 5, 2025
de9fe38
checkpoint
kianbazza Sep 7, 2025
b01a7f4
done
kianbazza Sep 7, 2025
a03fe8c
remove changelog for dtf
kianbazza Sep 7, 2025
e3e71e7
vim open/close bindings
kianbazza Sep 7, 2025
79b9968
progress
kianbazza Sep 8, 2025
6d5d273
progress
kianbazza Sep 10, 2025
cc08bd8
revert filter menus to cmdk
kianbazza Sep 10, 2025
74f4314
build registry
kianbazza Sep 10, 2025
200a3bf
Merge branch 'canary' into kian/action-menu-DATA
kianbazza Sep 10, 2025
2b602b9
change pkg name
kianbazza Sep 10, 2025
2894cf4
update lockfile
kianbazza Sep 10, 2025
bd39a17
build registry
kianbazza Sep 10, 2025
45e392a
add notion example
kianbazza Sep 10, 2025
033d60e
drawer handle stuff
kianbazza Sep 10, 2025
e6f7cab
work
kianbazza Sep 10, 2025
0c2d9f3
registry
kianbazza Sep 11, 2025
1028d1d
done
kianbazza Sep 11, 2025
e10b139
more work
kianbazza Sep 11, 2025
68d24e2
fix git tagging
kianbazza Sep 11, 2025
b077d78
update workflow
kianbazza Sep 11, 2025
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
86 changes: 69 additions & 17 deletions .github/workflows/publish-canary-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,28 @@ name: Publish canary release
on:
workflow_dispatch:
inputs:
package:
description: "Which package(s) to release"
type: choice
options: [filters, action-menu, both]
default: both
required: true
bump_type:
description: "Bump type"
type: choice
options: [patch, minor, major]
default: patch
required: true
npm_tag:
description: "npm dist-tag"
type: choice
options: [canary, latest]
default: canary
required: true
dry_run:
description: 'Run in dry-run mode (no actual publishing or git commits)'
required: false
default: false
description: "Run in dry-run mode (no publish or git push)"
type: boolean
default: false
pull_request:
branches: [canary]

Expand All @@ -16,6 +33,19 @@ jobs:
permissions:
contents: write
runs-on: ubuntu-24.04
# serialize matrix to avoid concurrent commits/tags racing
strategy:
max-parallel: 1
matrix:
package: [filters, action-menu]

# Skip matrix rows not selected by input
if: >
github.event_name == 'pull_request' ||
inputs.package == 'both' ||
(inputs.package == 'filters' && matrix.package == 'filters') ||
(inputs.package == 'action-menu' && matrix.package == 'action-menu')

steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -25,7 +55,7 @@ jobs:

- name: Configure Git
run: |
git config user.name "${{ github.actor }}"
git config user.name "${{ github.actor }}"
git config user.email "${{ github.actor }}@users.noreply.github.com"

- name: Setup Bun
Expand All @@ -47,24 +77,46 @@ jobs:
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Build and publish
- name: Build & release ${{ matrix.package }}
working-directory: packages/${{ matrix.package }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
cd packages/filters
# build (your publish.ts runs tests again as well)
bun run build
if [[ "${{ github.event_name }}" == "pull_request" ]] || [[ "${{ inputs.dry_run }}" == "true" ]]; then
bun run release:patch:canary --no-git-tag --dry-run
else
bun run release:patch:canary --no-git-tag

# Decide flags based on event + dry_run
EXTRA_FLAGS="--no-git-tag --tag ${{ inputs.npm_tag }}"
if [[ "${{ github.event_name }}" == "pull_request" || "${{ inputs.dry_run }}" == "true" ]]; then
EXTRA_FLAGS="$EXTRA_FLAGS --dry-run"
fi

- name: Commit version changes
# Call your release script directly (uses your custom versioning)
bun scripts/release.ts --bump ${{ inputs.bump_type }} --path . $EXTRA_FLAGS

- name: Commit version bump for ${{ matrix.package }}
if: github.event_name != 'pull_request' && !inputs.dry_run
working-directory: packages/${{ matrix.package }}
run: |
PKG_NAME=$(jq -r '.name' package.json)
NEXT_VERSION=$(jq -r '.version' package.json)

git add package.json
git commit -m "release(${PKG_NAME}): v${NEXT_VERSION}"

- name: Create per-package tag for ${{ matrix.package }}
if: github.event_name != 'pull_request' && !inputs.dry_run
working-directory: packages/${{ matrix.package }}
run: |
PKG_NAME=$(jq -r '.name' package.json)
NEXT_VERSION=$(jq -r '.version' package.json)
# Sanitize tag so it doesn't contain '/'
TAG_NAME="${PKG_NAME}@${NEXT_VERSION}"

git tag "$TAG_NAME"
git push origin "$TAG_NAME"

- name: Push branch (after commit)
if: github.event_name != 'pull_request' && !inputs.dry_run
run: |
NEXT_VERSION="v$(cat packages/filters/package.json | jq ".version" -r)"
git add packages/filters/package.json
git commit --amend --no-edit --no-verify
git tag $NEXT_VERSION
git push origin HEAD --force-with-lease --no-verify
git push origin $NEXT_VERSION --no-verify
git push origin HEAD
2 changes: 1 addition & 1 deletion .prototools
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
bun = "1.2.4"
bun = "1.2.21"
node = "~22"

[settings]
Expand Down
Loading