11<template >
2- <nav class =" k-toolbar k-markdown-toolbar" >
3- <template v-for =" ({ button , name , isActive , isDisabled }, buttonIndex ) in layout " >
4-
5- <!-- divider -->
6- <template v-if =" button .divider " >
7- <hr
8- :key =" buttonIndex"
9- aria-orientation =" vertical"
10- class =" k-toolbar-divider"
11- />
12- </template >
2+ <nav class =" k-markdown-toolbar" >
3+ <div class =" k-markdown-toolbar-wrapper" >
4+ <template v-for =" ({ button , name , isActive , isDisabled }, buttonIndex ) in layout " >
135
14- <!-- dropdown -->
15- <template v-else-if =" button .dropdown " >
16- <k-dropdown :key =" buttonIndex" >
6+ <!-- divider -->
7+ <template v-if =" button .divider " >
8+ <hr
9+ :key =" buttonIndex"
10+ aria-orientation =" vertical"
11+ class =" k-markdown-toolbar-divider"
12+ />
13+ </template >
14+
15+ <!-- dropdown -->
16+ <template v-else-if =" button .dropdown " >
17+ <k-dropdown :key =" buttonIndex" >
18+ <k-button
19+ :key =" buttonIndex"
20+ :icon =" button.icon"
21+ :tooltip =" button.label"
22+ tabindex =" -1"
23+ :class =" (isDisabled() ? 'is-disabled ' : '') + 'k-markdown-toolbar-button'"
24+ @click =" $refs[buttonIndex + '-dropdown'][0].toggle()"
25+ />
26+ <k-dropdown-content
27+ :ref =" buttonIndex + '-dropdown'"
28+ @open =" setOpen($refs[buttonIndex + '-dropdown'][0])"
29+ @close =" setOpen(null)"
30+ >
31+ <k-dropdown-item
32+ v-for =" (dropdownItem, dropdownItemIndex) in button.dropdown"
33+ :key =" dropdownItemIndex"
34+ :icon =" dropdownItem.icon"
35+ :current =" active.includes(dropdownItem.token)"
36+ @click =" dropdownItem.command"
37+ ><span v-html =" dropdownItem.label" /></k-dropdown-item >
38+ </k-dropdown-content >
39+ </k-dropdown >
40+ </template >
41+
42+ <!-- single button -->
43+ <template v-else >
1744 <k-button
1845 :key =" buttonIndex"
1946 :icon =" button.icon"
2047 :tooltip =" button.label"
48+ :class =" (isDisabled() ? 'is-disabled ' : '') + (isActive() || (name === 'invisibles' && invisibles) ? 'is-active ' : '') + 'k-markdown-toolbar-button' + (button.align === 'right' ? ' k-markdown-toolbar-button-right' : '')"
2149 tabindex =" -1"
22- :class =" (isDisabled() ? 'is-disabled ' : '') + 'k-toolbar-button k-markdown-button'"
23- @click =" $refs[buttonIndex + '-dropdown'][0].toggle()"
50+ @click =" button.command"
2451 />
25- <k-dropdown-content
26- :ref =" buttonIndex + '-dropdown'"
27- @open =" setOpen($refs[buttonIndex + '-dropdown'][0])"
28- @close =" setOpen(null)"
29- >
30- <k-dropdown-item
31- v-for =" (dropdownItem, dropdownItemIndex) in button.dropdown"
32- :key =" dropdownItemIndex"
33- :icon =" dropdownItem.icon"
34- :current =" active.includes(dropdownItem.token)"
35- @click =" dropdownItem.command"
36- ><span v-html =" dropdownItem.label" /></k-dropdown-item >
37- </k-dropdown-content >
38- </k-dropdown >
39- </template >
52+ </template >
4053
41- <!-- single button -->
42- <template v-else >
43- <k-button
44- :key =" buttonIndex"
45- :icon =" button.icon"
46- :tooltip =" button.label"
47- :class =" (isDisabled() ? 'is-disabled ' : '') + (isActive() || (name === 'invisibles' && invisibles) ? 'is-active ' : '') + 'k-toolbar-button k-markdown-button' + (button.align === 'right' ? ' k-markdown-toolbar-button-right' : '')"
48- tabindex =" -1"
49- @click =" button.command"
50- />
5154 </template >
52-
53- </template >
55+ </div >
5456 </nav >
5557</template >
5658
@@ -110,16 +112,40 @@ export default {
110112
111113.k-markdown-toolbar {
112114 height : auto ;
113- min-height : 38px ;
115+ background : var (--color-white );
116+ border-start-start-radius : var (--rounded );
117+ border-start-end-radius : var (--rounded );
118+ border-bottom : 1px solid var (--color-background );
119+ min-height : 38px ;
120+ }
121+
122+ .k-markdown-toolbar-wrapper {
123+ max-width : 100% ;
124+ display : flex ;
125+ }
126+
127+ .k-markdown-toolbar-button {
128+ width : 36px ;
129+ height : 36px ;
130+ }
131+
132+ .k-markdown-toolbar-divider {
133+ width : 1px ;
134+ border-width : 0 ;
135+ background : var (--color-background );
114136}
115137
116138/* disabled state of toolbar buttons */
117- .k-markdown-toolbar .k-markdown-button.is-disabled {
139+ .k-markdown-toolbar .k-markdown-toolbar- button.is-disabled {
118140 opacity : 0.25 ;
119141 pointer-events : none ;
120142}
121143
122144/* Editor has focus */
145+ .k-markdown-toolbar {
146+ color : #aaa
147+ }
148+
123149.k-markdown-input-wrap :focus-within .k-markdown-toolbar {
124150 border-bottom : 1px solid rgba (0 , 0 , 0 , 0.1 );
125151 box-shadow : 0 2px 5px rgba (0 , 0 , 0 , 0.05 );
@@ -131,11 +157,15 @@ export default {
131157 z-index : 4 ;
132158}
133159
134- .k-markdown-input-wrap :focus-within .k-markdown-toolbar .k-markdown-button.is-active {
160+ .k-markdown-input-wrap :focus-within .k-markdown-toolbar .k-markdown-toolbar-button :hover {
161+ background : rgba (239 ,239 ,239 ,.5 );
162+ }
163+
164+ .k-markdown-input-wrap :focus-within .k-markdown-toolbar .k-markdown-toolbar-button.is-active {
135165 color : #3872be ;
136166}
137167
138- .k-markdown-input-wrap :focus-within .k-toolbar .k-markdown-button.is-active :hover {
168+ .k-markdown-input-wrap :focus-within .k-markdown- toolbar .k-markdown-toolbar -button.is-active :hover {
139169 background : rgba (66 , 113 , 174 , 0.075 );
140170}
141171
0 commit comments