Skip to content

Commit 782eb83

Browse files
jesseleitejackmcdadejasonvarga
authored
[6.x] Command Palette (Part 1) (#11699)
Co-authored-by: Jack McDade <[email protected]> Co-authored-by: Jason Varga <[email protected]>
1 parent 248a7a6 commit 782eb83

28 files changed

+685
-476
lines changed

Diff for: package-lock.json

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"svgo": "svgo -f ./resources/svg/ -r",
99
"test": "vitest run",
1010
"test-watch": "npm run test -- --watch --notify",
11-
"frontend-dev": "vite build -c vite-frontend.config.js --watch",
11+
"frontend-dev": "vite -c vite-frontend.config.js",
1212
"frontend-build": "vite build -c vite-frontend.config.js",
1313
"prettier:format": "prettier --write \"**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,vue,blade.php,antlers.html,css}\"",
1414
"prettier:check": "prettier --check \"**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,vue,blade.php,antlers.html,css}\"",
@@ -63,6 +63,7 @@
6363
"cva": "^1.0.0-beta.3",
6464
"floating-vue": "^5.2.2",
6565
"fuse.js": "^7.0.0",
66+
"fuzzysort": "^3.1.0",
6667
"highlight.js": "^11.7.0",
6768
"laravel-echo": "^1.16.0",
6869
"lodash-es": "^4.17.21",

Diff for: resources/css/components/global-header.css

-113
Original file line numberDiff line numberDiff line change
@@ -29,119 +29,6 @@
2929
}
3030
}
3131

32-
/* Search
33-
========================================================================== */
34-
.global-search {
35-
@apply relative flex hidden items-center rounded-md border px-2 py-0 dark:border-dark-300;
36-
transition: 0.12s ease-out;
37-
38-
.search-input {
39-
@apply w-full max-w-full text-sm dark:bg-dark-600 dark:text-dark-150;
40-
padding-left: 5px;
41-
padding-right: 20px;
42-
[dir='rtl'] & {
43-
padding-left: 20px;
44-
padding-right: 5px;
45-
}
46-
height: 32px;
47-
&:focus {
48-
outline: 0;
49-
}
50-
}
51-
52-
.global-search-results {
53-
@apply absolute w-full rounded-sm border border-gray-500 bg-white p-0 shadow-lg;
54-
@apply dark:border-dark-900 dark:bg-dark-650;
55-
top: 36px;
56-
left: -1px;
57-
[dir='rtl'] & {
58-
left: auto;
59-
right: -1px;
60-
} /* border offset */
61-
z-index: 999;
62-
}
63-
64-
.global-search-loading-indicator {
65-
position: absolute;
66-
right: 8px;
67-
[dir='rtl'] & {
68-
right: auto;
69-
left: 8px;
70-
}
71-
}
72-
73-
.global-search-result-item {
74-
@apply cursor-pointer border-t dark:border-dark-800 dark:bg-dark-600 dark:text-dark-150;
75-
76-
&:first-child {
77-
@apply rounded-t border-none;
78-
}
79-
80-
&:last-child {
81-
@apply rounded-b;
82-
}
83-
}
84-
85-
.global-search-result-badge {
86-
@apply rounded-sm border bg-gray-200 px-1 text-2xs text-gray;
87-
@apply dark:border-dark-700 dark:bg-dark-600 dark:text-dark-100;
88-
}
89-
90-
.active {
91-
@apply bg-gray-300 dark:bg-dark-650;
92-
}
93-
94-
.title {
95-
@apply text-sm font-medium;
96-
}
97-
98-
.url {
99-
@apply text-2xs text-gray-400;
100-
}
101-
102-
.status {
103-
float: right;
104-
[dir='rtl'] & {
105-
float: left;
106-
}
107-
background: #ddd;
108-
border-radius: 2px;
109-
padding: 2px 4px;
110-
}
111-
112-
.icon {
113-
@apply relative cursor-pointer overflow-hidden text-gray dark:text-dark-175;
114-
font-size: 18px;
115-
top: 1px;
116-
width: 20px;
117-
height: 20px;
118-
line-height: 20px;
119-
}
120-
121-
.reset {
122-
font-size: 21px;
123-
left: -3px;
124-
[dir='rtl'] & {
125-
left: auto;
126-
right: -3px;
127-
}
128-
position: relative;
129-
}
130-
131-
kbd {
132-
@apply rounded-sm border px-1 pb-px font-sans text-2xs text-gray-500;
133-
}
134-
}
135-
136-
@media (width >= theme(--breakpoint-lg)) {
137-
.global-search {
138-
@apply flex w-128 max-w-full;
139-
.global-search-results {
140-
@apply w-128;
141-
}
142-
}
143-
}
144-
14532
.site-selector {
14633
.v-select {
14734
@apply h-full;

Diff for: resources/js/bootstrap/App.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<script>
2-
import GlobalSearch from '../components/GlobalSearch.vue';
32
import GlobalSiteSelector from '../components/GlobalSiteSelector.vue';
43
import Login from '../components/login/Login.vue';
54
import BaseEntryCreateForm from '../components/entries/BaseCreateForm.vue';
@@ -42,12 +41,13 @@ import AssetContainerEditForm from '../components/asset-containers/EditForm.vue'
4241
import Updater from '../components/updater/Updater.vue';
4342
import PortalTargets from '../components/portals/PortalTargets.vue';
4443
import SitesEditForm from '../components/sites/EditForm.vue';
44+
import CommandPalette from '../components/command-palette/CommandPalette.vue';
4545
import { defineAsyncComponent } from 'vue';
4646
import { ConfigProvider } from 'reka-ui';
4747
4848
export default {
4949
components: {
50-
GlobalSearch,
50+
CommandPalette,
5151
GlobalSiteSelector,
5252
Login,
5353
BaseEntryCreateForm,

Diff for: resources/js/bootstrap/statamic.js

+4
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ export default {
8686
return { defineStore };
8787
},
8888

89+
get $keys() {
90+
return this.$app.config.globalProperties.$keys;
91+
},
92+
8993
get $permissions() {
9094
return this.$app.config.globalProperties.$permissions;
9195
},

Diff for: resources/js/components/GlobalSearch.vue

-205
This file was deleted.

0 commit comments

Comments
 (0)