🌐 AI搜索 & 代理 主页
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
515 commits
Select commit Hold shift + click to select a range
8467a8b
Update README.md
tmorehouse Dec 15, 2019
b138101
Merge branch 'dev' into feat/icons
tmorehouse Dec 15, 2019
e379fc7
Update index.js
tmorehouse Dec 15, 2019
2cec301
Update index.js
tmorehouse Dec 15, 2019
14baff7
Merge branch 'dev' into feat/icons
tmorehouse Dec 15, 2019
d98ec6b
Update icons-table.vue
tmorehouse Dec 15, 2019
6998492
Update icons-table.vue
tmorehouse Dec 15, 2019
fa5fe7f
Update icons-table.vue
tmorehouse Dec 15, 2019
2ce0c5e
Update icons-table.vue
tmorehouse Dec 15, 2019
616172d
Update icons-table.vue
tmorehouse Dec 15, 2019
bebe4de
Update icons-table.vue
tmorehouse Dec 15, 2019
5917c6d
Update icons-table.vue
tmorehouse Dec 15, 2019
bd28313
Update icons-table.vue
tmorehouse Dec 15, 2019
8a3f2d6
Update icons-table.vue
tmorehouse Dec 15, 2019
1be4bb1
Update icons-table.vue
tmorehouse Dec 15, 2019
d4935a1
Update icons-table.vue
tmorehouse Dec 15, 2019
9c4ffc1
Update icons-table.vue
tmorehouse Dec 15, 2019
7a1094c
Update icons-table.vue
tmorehouse Dec 15, 2019
87f7128
Update icons-table.vue
tmorehouse Dec 15, 2019
3b82429
Update icons-table.vue
tmorehouse Dec 15, 2019
3d4ddc3
Update make-icon.js
tmorehouse Dec 15, 2019
5867882
Create icons.js
tmorehouse Dec 15, 2019
70f77e0
Create icon.js
tmorehouse Dec 15, 2019
bbeec3f
Create icons.d.ts
tmorehouse Dec 15, 2019
d060c44
Update index.d.ts
tmorehouse Dec 15, 2019
c51a844
Update index.js
tmorehouse Dec 15, 2019
d3685d6
Update index.js
tmorehouse Dec 15, 2019
f865b56
Update browser.js
tmorehouse Dec 15, 2019
1aa7d38
Update index.js
tmorehouse Dec 15, 2019
d3a555d
Update index.js
tmorehouse Dec 15, 2019
dee81d8
Update index.js
tmorehouse Dec 15, 2019
61d76ad
Update icons-table.vue
tmorehouse Dec 15, 2019
41e611e
Update index.js
tmorehouse Dec 15, 2019
cb68751
Update index.js
tmorehouse Dec 15, 2019
e9349cc
Update index.js
tmorehouse Dec 15, 2019
dec1ec0
Update index.js
tmorehouse Dec 15, 2019
18bd4cb
Update icon.js
tmorehouse Dec 16, 2019
9ec6f93
Update icons.spec.js
tmorehouse Dec 16, 2019
9c11936
Update icons.spec.js
tmorehouse Dec 16, 2019
b1e3940
Update icon.js
tmorehouse Dec 16, 2019
7471bb7
Update icon.js
tmorehouse Dec 16, 2019
4be4638
Update icons.spec.js
tmorehouse Dec 16, 2019
f86bc55
Update icons-table.vue
tmorehouse Dec 16, 2019
a0103f2
Update README.md
tmorehouse Dec 16, 2019
8c8f6b1
Update icons.spec.js
tmorehouse Dec 16, 2019
9f1e8cb
Update icons.spec.js
tmorehouse Dec 16, 2019
6d050e3
Update icons.spec.js
tmorehouse Dec 16, 2019
5946e53
Update index.js
tmorehouse Dec 16, 2019
b8a744e
Update icons.d.ts
tmorehouse Dec 16, 2019
2420885
Update icons.d.ts
tmorehouse Dec 16, 2019
de5e816
Correct typos and minor tweaks
jacobmllr95 Dec 16, 2019
f35cb9d
Update icons-table.vue
tmorehouse Dec 16, 2019
86cfbe8
Update README.md
tmorehouse Dec 16, 2019
ff00592
Update icons-table.vue
tmorehouse Dec 16, 2019
f4ac576
Update icons-table.vue
tmorehouse Dec 16, 2019
5e72f4b
Update icons-table.vue
tmorehouse Dec 16, 2019
419a580
Update icons-table.vue
tmorehouse Dec 16, 2019
5054d41
Update icons-table.vue
tmorehouse Dec 16, 2019
01d3928
Update icons-table.vue
tmorehouse Dec 16, 2019
a6e42bb
Update icons-table.vue
tmorehouse Dec 16, 2019
7ba11a6
Update README.md
tmorehouse Dec 16, 2019
60b91c2
Update icons-table.vue
tmorehouse Dec 16, 2019
98b2736
Update index.vue
tmorehouse Dec 16, 2019
14a7c32
Update package.json
tmorehouse Dec 16, 2019
7e2cf18
Update README.md
tmorehouse Dec 16, 2019
1420d7e
Merge branch 'dev' into feat/icons
jacobmllr95 Dec 16, 2019
eac25e4
Update icons.js
tmorehouse Dec 17, 2019
b0630ec
Update icons.d.ts
tmorehouse Dec 17, 2019
92f129b
Create plugin.js
tmorehouse Dec 17, 2019
2a63994
Update index.js
tmorehouse Dec 17, 2019
9e78b4e
Update plugin.js
tmorehouse Dec 17, 2019
e4ea36f
Create create-icons.js
tmorehouse Dec 17, 2019
04df119
Update create-icons.js
tmorehouse Dec 17, 2019
d9d5c28
Update create-icons.js
tmorehouse Dec 17, 2019
a8490af
add bootstrap-icons as dev dependency
tmorehouse Dec 17, 2019
3d57dee
Update package.json
tmorehouse Dec 17, 2019
31ba603
Update package.json
tmorehouse Dec 17, 2019
fbfb4d4
Update README.md
tmorehouse Dec 17, 2019
c985c92
Update create-icons.js
tmorehouse Dec 17, 2019
175377e
Update create-icons.js
tmorehouse Dec 17, 2019
da346d7
Update index.js
tmorehouse Dec 17, 2019
12b2401
Update create-icons.js
tmorehouse Dec 17, 2019
8f8c006
Update build.sh
tmorehouse Dec 17, 2019
e7721a1
Update index.js
tmorehouse Dec 17, 2019
4f39f4b
Update package.json
tmorehouse Dec 17, 2019
ac33370
Update index.js
tmorehouse Dec 17, 2019
de0051b
Update index.js
tmorehouse Dec 17, 2019
438aad4
Update README.md
tmorehouse Dec 17, 2019
a79dadc
Update componentdoc.vue
tmorehouse Dec 17, 2019
3f93c32
Update index.js
tmorehouse Dec 17, 2019
a2023fc
Update componentdoc.vue
tmorehouse Dec 17, 2019
99b7445
Update componentdoc.vue
tmorehouse Dec 17, 2019
a0145a9
Update index.js
tmorehouse Dec 17, 2019
f8b925b
Update index.js
tmorehouse Dec 17, 2019
96c4d56
Update index.js
tmorehouse Dec 18, 2019
2f909d0
update icon files
tmorehouse Dec 18, 2019
3abb86f
update build scripts
tmorehouse Dec 18, 2019
592f6c2
Update create-web-types.js
tmorehouse Dec 18, 2019
609445f
Update package.json
tmorehouse Dec 18, 2019
9219259
Update index.js
tmorehouse Dec 18, 2019
fda9b25
Update index.js
tmorehouse Dec 18, 2019
168b309
Update index.js
tmorehouse Dec 18, 2019
b7c3d28
Update index.js
tmorehouse Dec 18, 2019
506ac68
Update README.md
tmorehouse Dec 18, 2019
cb58e44
Update index.js
tmorehouse Dec 18, 2019
4b6fc96
Update index.js
tmorehouse Dec 18, 2019
df005d7
Update index.js
tmorehouse Dec 18, 2019
35b0b14
Update index.js
tmorehouse Dec 18, 2019
29729dc
Update index.js
tmorehouse Dec 18, 2019
85c8d7c
Update index.js
tmorehouse Dec 18, 2019
de5c83b
Update index.js
tmorehouse Dec 18, 2019
01f37c7
Update index.js
tmorehouse Dec 18, 2019
e40bb71
Update index.js
tmorehouse Dec 18, 2019
8eb92f7
Update index.js
tmorehouse Dec 18, 2019
e2e355b
Update index.js
tmorehouse Dec 18, 2019
9d0f7c4
Update componentdoc.vue
tmorehouse Dec 18, 2019
0b155a4
Update componentdoc.vue
tmorehouse Dec 18, 2019
4da261f
Update _icons.scss
tmorehouse Dec 18, 2019
f4e6da6
Merge branch 'dev' into feat/icons
tmorehouse Dec 18, 2019
c5901b9
Update _icons.scss
tmorehouse Dec 18, 2019
95f1c27
Update README.md
tmorehouse Dec 18, 2019
6406cb3
Update _icons.scss
tmorehouse Dec 18, 2019
2821401
Update make-icon.js
tmorehouse Dec 18, 2019
2737eb7
Update make-icon.js
tmorehouse Dec 18, 2019
fbc3e6e
Update make-icon.js
tmorehouse Dec 18, 2019
3a40fef
Update _icons.scss
tmorehouse Dec 18, 2019
2c1b964
Update _icons.scss
tmorehouse Dec 19, 2019
d1a95c2
Update make-icon.js
tmorehouse Dec 19, 2019
2dce20a
Update make-icon.js
tmorehouse Dec 19, 2019
65c6851
Update make-icon.js
tmorehouse Dec 19, 2019
f423219
Update make-icon.js
tmorehouse Dec 19, 2019
6f433c9
Update make-icon.js
tmorehouse Dec 19, 2019
61a9ee0
Update icon.js
tmorehouse Dec 19, 2019
8abc5b0
Update make-icon.js
tmorehouse Dec 19, 2019
8a7b576
Update package.json
tmorehouse Dec 19, 2019
8ad2bc7
Update create-icons.js
tmorehouse Dec 19, 2019
43627be
Update make-icon.js
tmorehouse Dec 19, 2019
ff9e071
Update make-icon.js
tmorehouse Dec 19, 2019
6aa0f72
Update make-icon.js
tmorehouse Dec 19, 2019
44f4f04
Update _icons.scss
tmorehouse Dec 19, 2019
11333a7
Update _icons.scss
tmorehouse Dec 19, 2019
cb13747
Update make-icon.js
tmorehouse Dec 19, 2019
1af3f9d
Update README.md
tmorehouse Dec 19, 2019
2f2bf21
Update _icons.scss
tmorehouse Dec 19, 2019
fec8f41
Update icons.spec.js
tmorehouse Dec 19, 2019
012ef15
Update README.md
tmorehouse Dec 19, 2019
450a170
Update make-icon.js
tmorehouse Dec 19, 2019
d3dd3a7
Update make-icon.js
tmorehouse Dec 19, 2019
8be4368
Update README.md
tmorehouse Dec 19, 2019
590f993
Update _icons.scss
tmorehouse Dec 19, 2019
399d060
Update README.md
tmorehouse Dec 19, 2019
dfea112
Update make-icon.js
tmorehouse Dec 19, 2019
b9dbbc2
Update package.json
tmorehouse Dec 19, 2019
c8a19c1
Update create-icons.js
tmorehouse Dec 19, 2019
a091628
update auto generated files
tmorehouse Dec 19, 2019
6da8781
Update create-icons.js
tmorehouse Dec 19, 2019
0c84bcf
Update package.json
tmorehouse Dec 19, 2019
009400a
Update create-icons.js
tmorehouse Dec 19, 2019
07e159d
add shift-h and shift-v props
tmorehouse Dec 19, 2019
8d81ea7
Update make-icon.js
tmorehouse Dec 19, 2019
245cb7f
Update package.json
tmorehouse Dec 19, 2019
a7f2db5
Update package.json
tmorehouse Dec 19, 2019
5d7e82a
Update create-icons.js
tmorehouse Dec 19, 2019
d38d89e
Update make-icon.js
tmorehouse Dec 19, 2019
35108c5
Update make-icon.js
tmorehouse Dec 19, 2019
cc54ddf
Update make-icon.js
tmorehouse Dec 19, 2019
c96fc6c
Update README.md
tmorehouse Dec 19, 2019
970d609
Update package.json
tmorehouse Dec 19, 2019
f5a9581
Update README.md
tmorehouse Dec 19, 2019
3096309
Update README.md
tmorehouse Dec 19, 2019
962744b
Update README.md
tmorehouse Dec 19, 2019
c6fe932
Update componentdoc.vue
tmorehouse Dec 19, 2019
09ad07d
Update index.scss
tmorehouse Dec 19, 2019
95964ec
Update build.sh
tmorehouse Dec 19, 2019
6d30e1a
Update README.md
tmorehouse Dec 19, 2019
091c55b
Update README.md
tmorehouse Dec 19, 2019
c7e11a4
Update index.js
tmorehouse Dec 19, 2019
2d48868
Update README.md
tmorehouse Dec 19, 2019
c675cf8
Update index.js
tmorehouse Dec 19, 2019
27ec754
Update index.js
tmorehouse Dec 19, 2019
a4c28f2
Update index.js
tmorehouse Dec 19, 2019
6befe5d
Update README.md
tmorehouse Dec 19, 2019
e2947ae
Update README.md
tmorehouse Dec 19, 2019
3e5e214
Update README.md
tmorehouse Dec 19, 2019
d4188b2
Update make-icon.js
tmorehouse Dec 19, 2019
d845588
Update icons.spec.js
tmorehouse Dec 19, 2019
a3b0824
Update _icons.scss
tmorehouse Dec 19, 2019
4e3759e
Create icons.scss
tmorehouse Dec 19, 2019
ae86c7b
Update _icons.scss
tmorehouse Dec 19, 2019
952fb7e
Update build.sh
tmorehouse Dec 19, 2019
f9a46cd
Update make-icon.js
tmorehouse Dec 19, 2019
e95b6a8
Update README.md
tmorehouse Dec 19, 2019
e2158d1
Update plugins.js
tmorehouse Dec 19, 2019
ffe268e
Update create-icons.js
tmorehouse Dec 19, 2019
060f332
Update plugin.js
tmorehouse Dec 19, 2019
1ca8101
Update create-icons.js
tmorehouse Dec 20, 2019
11ecfa6
Update create-icons.js
tmorehouse Dec 20, 2019
cebefe6
Update index.js
tmorehouse Dec 20, 2019
3358f03
Update index.js
tmorehouse Dec 20, 2019
94015d0
Update index.d.ts
tmorehouse Dec 20, 2019
25e15d9
Update browser.js
tmorehouse Dec 20, 2019
ad27b9f
Update build.sh
tmorehouse Dec 20, 2019
aebde98
Create browser-icons.js
tmorehouse Dec 20, 2019
11b8c52
Update rollup.config.js
tmorehouse Dec 20, 2019
855e5a4
Update build.sh
tmorehouse Dec 20, 2019
bc1100a
Update build.sh
tmorehouse Dec 20, 2019
ba1ba83
Update build.sh
tmorehouse Dec 20, 2019
ff1c5c3
Create icons-only.js
tmorehouse Dec 20, 2019
ab8afa7
Update browser-icons.js
tmorehouse Dec 20, 2019
25efd1b
Update icons-only.js
tmorehouse Dec 20, 2019
68d799f
Update rollup.config.js
tmorehouse Dec 20, 2019
d11b37f
Update build.sh
tmorehouse Dec 20, 2019
c7c77c8
Update build.sh
tmorehouse Dec 20, 2019
bdf1fe7
Update browser.js
tmorehouse Dec 20, 2019
8edb47e
Update README.md
tmorehouse Dec 20, 2019
b0d386c
Update README.md
tmorehouse Dec 20, 2019
0bce53d
Update README.md
tmorehouse Dec 20, 2019
e88571d
Update README.md
tmorehouse Dec 20, 2019
832b813
Update README.md
tmorehouse Dec 20, 2019
625bdc4
Update README.md
tmorehouse Dec 20, 2019
986cc33
Update README.md
tmorehouse Dec 20, 2019
04f3555
Update README.md
tmorehouse Dec 20, 2019
3f7b88a
Merge branch 'dev' into feat/icons
tmorehouse Dec 20, 2019
51f22ec
Update README.md
tmorehouse Dec 20, 2019
b23f965
Merge branch 'dev' into feat/icons
tmorehouse Dec 20, 2019
6d85f91
Update plugin.template.js
tmorehouse Dec 20, 2019
9d94dc0
Update README.md
tmorehouse Dec 20, 2019
0895098
Update README.md
tmorehouse Dec 20, 2019
a43616b
Update README.md
tmorehouse Dec 20, 2019
ef716ca
Update README.md
tmorehouse Dec 20, 2019
903a1f8
Update bootstrap-vue.js
tmorehouse Dec 21, 2019
024fb45
Update README.md
tmorehouse Dec 21, 2019
0f7b0e2
Merge branch 'dev' into feat/icons
tmorehouse Dec 21, 2019
364e9e8
Update build.sh
tmorehouse Dec 21, 2019
c2a1f15
Update README.md
jacobmllr95 Dec 21, 2019
8791e03
Update index.js
jacobmllr95 Dec 21, 2019
d16941a
Export/Import `kebabCase` from docs utils
jacobmllr95 Dec 21, 2019
61403a7
Update index.js
jacobmllr95 Dec 21, 2019
945bf0a
Update create-icons.js
jacobmllr95 Dec 21, 2019
9f595bf
Use utils from source
jacobmllr95 Dec 21, 2019
ce0ee3a
Update README.md
jacobmllr95 Dec 21, 2019
738bcdd
Update string.js
jacobmllr95 Dec 21, 2019
4d6deb0
Update _icons.scss
jacobmllr95 Dec 21, 2019
e1e0799
Update make-icon.js
jacobmllr95 Dec 21, 2019
daa2be7
Rebuild icons
jacobmllr95 Dec 21, 2019
6ead0e3
`Boostrap` -> `Bootstrap` + regenrate icons
jacobmllr95 Dec 21, 2019
2c5dd76
Update README.md
tmorehouse Dec 21, 2019
0232708
Update index.js
tmorehouse Dec 21, 2019
dc80432
Update _icons.scss
tmorehouse Dec 21, 2019
2649c0f
upgrade bootstrap to 4.4.1. from 4.4.0
tmorehouse Dec 21, 2019
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
34 changes: 26 additions & 8 deletions docs/components/componentdoc.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<section v-if="component" class="bd-content">
<b-row tag="header" align-v="center">
<b-col sm="9">
<anchored-heading :id="`comp-ref-${componentName}`" level="3">
<anchored-heading :id="`comp-ref-${componentNameClean}`" level="3">
<code class="notranslate bigger" translate="no">{{ tag }}</code>
</anchored-heading>
<b-badge v-if="version" variant="success">v{{ version }}+</b-badge>
Expand All @@ -16,7 +16,13 @@
</b-badge>
</b-col>
<b-col sm="3" class="text-sm-right">
<b-btn variant="outline-secondary" size="sm" :href="githubURL" target="_blank">
<b-btn
v-if="githubURL"
variant="outline-secondary"
size="sm"
:href="githubURL"
target="_blank"
>
View source
</b-btn>
</b-col>
Expand Down Expand Up @@ -311,18 +317,23 @@ ul.component-ref-mini-toc:empty {

<script>
import Vue from 'vue'
import kebabCase from 'lodash/kebabCase'
import AnchoredHeading from './anchored-heading'
// Fallback descriptions for common props (mainly router-link props)
import commonProps from '../common-props.json'
import { kebabCase } from '../utils'
import AnchoredHeading from './anchored-heading'

export default {
name: 'BDVComponentdoc',
components: { AnchoredHeading },
props: {
component: {},
srcComponent: {
// This prop is used only when the above `component` is a
// "fake" component. This prop specifies a "real" component
// to use when grabbing the component definition options
},
propsMeta: {
// For getting pro descriptions
// For getting prop descriptions
type: Array,
default: () => []
},
Expand All @@ -349,7 +360,7 @@ export default {
},
computed: {
componentOptions() {
const component = Vue.options.components[this.component]
const component = Vue.options.components[this.srcComponent || this.component]
if (!component) {
return {}
}
Expand Down Expand Up @@ -492,15 +503,22 @@ export default {
return this.slots ? this.slots.map(s => ({ ...s })) : []
},
componentName() {
return kebabCase(this.component)
return kebabCase(this.component).replace('{', '-{')
},
componentNameClean() {
return this.componentName.replace('{', '').replace('}', '')
},
tag() {
return `<${this.componentName}>`
},
githubURL() {
const name = this.componentName.replace(/^b-/, '')
if (name.indexOf('{') !== -1) {
// Example component (most likely an auto generated component)
return ''
}
const base = 'https://github.com/bootstrap-vue/bootstrap-vue/tree/dev/src/components'
const slug = this.$route.params.slug
const name = kebabCase(this.component).replace(/^b-/, '')
// Always point to the .js file (which may import a .vue file)
return `${base}/${slug}/${name}.js`
}
Expand Down
20 changes: 11 additions & 9 deletions docs/components/feedback.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export default {
show() {
const name = this.$route.name
const slug = this.$route.params.slug
return slug || name === 'docs'
return slug || name === 'docs' || name === 'docs-icons'
},
reportIssueUrl() {
// Add appreciate query params for proper issue title
Expand All @@ -18,22 +18,24 @@ export default {
editPageUrl() {
const name = this.$route.name
const slug = this.$route.params.slug
let path = '/'
let path = ''
if (name === 'docs') {
path = `/docs/markdown/intro/README.md`
path = `docs/markdown/intro/README.md`
} else if (name === 'docs-components-slug') {
path = `/src/components/${slug}/README.md`
path = `src/components/${slug}/README.md`
} else if (name === 'docs-icons') {
path = `src/icons/README.md`
} else if (name === 'docs-directives-slug') {
path = `/src/directives/${slug}/README.md`
path = `src/directives/${slug}/README.md`
} else if (name === 'docs-reference-slug') {
path = `/docs/markdown/reference/${slug}/README.md`
path = `docs/markdown/reference/${slug}/README.md`
} else if (name === 'docs-misc-slug') {
if (slug === 'changelog') {
path = '/CHANGELOG.md'
path = 'CHANGELOG.md'
} else if (slug === 'contributing') {
path = '/CONTRIBUTING.md'
path = 'CONTRIBUTING.md'
} else if (slug === 'settings') {
path = '/docs/markdown/misc/settings/README.md'
path = 'docs/markdown/misc/settings/README.md'
}
}
return `${this.baseUrl}/tree/dev/${path}`
Expand Down
1 change: 1 addition & 0 deletions docs/components/footer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
<li><b-link to="/docs" exact>Getting started</b-link></li>
<li><b-link to="/docs/components" exact>Components</b-link></li>
<li><b-link to="/docs/directives" exact>Directives</b-link></li>
<li><b-link to="/docs/icons" exact>Icons</b-link></li>
<li><b-link to="/docs/reference" exact>Reference</b-link></li>
<li><b-link to="/docs/misc" exact>Miscellaneous</b-link></li>
<li><b-link to="/play" exact>Playground</b-link></li>
Expand Down
1 change: 1 addition & 0 deletions docs/components/header.vue
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
<b-nav-item to="/docs" active-class="active" exact>Docs</b-nav-item>
<b-nav-item to="/docs/components" active-class="active">Components</b-nav-item>
<b-nav-item to="/docs/directives" active-class="active">Directives</b-nav-item>
<b-nav-item to="/docs/icons" active-class="active">Icons</b-nav-item>
<b-nav-item to="/docs/reference" active-class="active">Reference</b-nav-item>
<b-nav-item to="/docs/misc" active-class="active">Misc</b-nav-item>
<b-nav-item to="/play" active-class="active">Play</b-nav-item>
Expand Down
162 changes: 162 additions & 0 deletions docs/components/icons-table.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
<template>
<div
key="_bv-icons-table_"
class="bv-icons-table notranslate"
role="group"
aria-labeledby="bv-icons-table-title"
>
<b-row align-v="start">
<b-col md="5" lg="6">
<div id="bv-icons-table-title" class="h3 text-muted mb-3 mb-md-0">
Icon explorer
</div>
</b-col>
<b-col md="7" lg="6">
<b-form @submit.prevent>
<b-form-group
label="Search icons"
label-for="bv-icons-table-search"
label-cols-sm="auto"
label-align-sm="right"
:description="`Showing ${filteredIcons.length} of ${totalIcons} icons`"
>
<b-input-group>
<b-input-group-prepend is-text>
<b-icon icon="search"></b-icon>
</b-input-group-prepend>
<b-form-input
id="bv-icons-table-search"
key="_bv-icons-table-search_"
v-model="iconFilter"
type="search"
debounce="250"
aria-controls="bv-icons-table-result"
></b-form-input>
</b-input-group>
</b-form-group>
</b-form>
</b-col>
</b-row>
<div id="bv-icons-table-result">
<transition-group
tag="ul"
name="flip-icon-list"
class="row row-cols-3 row-cols-sm-4 row-cols-lg-6 list-unstyled mb-n3 position-relative"
>
<b-col
v-for="icon in filteredIcons"
:key="`_icon_${icon.name}`"
tag="li"
class="flip-icon-list-icon d-inline-flex flex-column mb-3 text-center"
>
<div class="card bg-light p-3" :title="icon.name">
<b-icon :icon="icon.name" class="mx-auto"></b-icon>
</div>
<b-form-text class="mt-1 text-break" :title="icon.name">{{ icon.name }}</b-form-text>
</b-col>
</transition-group>
<div aria-live="polite" aria-atomic="true">
<b-alert
:show="filteredIcons.length === 0"
:role="null"
:aria-live="null"
:aria-atomic="null"
fade
variant="light"
class="text-center mt-4 d-flex align-items-center justify-content-center"
>
<b-icon icon="alert-triangle-fill" aria-hidden="true"></b-icon>
<span>No matching icons found. Try searching again.</span>
</b-alert>
</div>
</div>
</div>
</template>

<style lang="scss" scoped>
.bv-icons-table {
position: relative;
}

#bv-icons-table-result /deep/ .bi {
font-size: 2rem;
}

.form-group /deep/ .form-text {
text-align: right;
}

// Icon zoom on hover
.flip-icon-list-icon /deep/ .card {
.bi {
transition: transform 0.15s;
}

&:hover .bi {
transform: scale(2);
}
}

// Transion group classes
.flip-icon-list-icon {
transition: all 0.15s;
}

.flip-icon-list-move {
transition: transform 0.3s;
transition-delay: 0.15s;
}

.flip-icon-list-enter,
.flip-icon-list-leave-to {
opacity: 0;
transform: scale(0.75);
}

.flip-icon-list-enter-active {
transition-delay: 0.3s;
}

.flip-icon-list-leave-active {
position: absolute;
}
</style>

<script>
import { iconNames } from '~/../src/icons'

const icons = iconNames
.filter(name => name !== 'BIcon')
.sort()
.map(fullName => {
return {
component: fullName,
name: fullName
.replace(/^BIcon/, '')
.replace(/\B([A-Z])/g, '-$1')
.toLowerCase()
}
})

export default {
name: 'BVDIconsTable',
data() {
return {
iconFilter: '',
totalIcons: icons.length
}
},
computed: {
filteredIcons() {
const terms = this.iconFilter
.trim()
.toLowerCase()
.split(/\s+/)
if (terms.length === 0) {
return icons.slice()
}
return icons.filter(icon => terms.every(term => icon.name.indexOf(term) !== -1))
}
}
}
</script>
11 changes: 6 additions & 5 deletions docs/components/importdoc.vue
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,9 @@
</template>

<script>
import hljs from '../utils/hljs'
import kebabCase from 'lodash/kebabCase'
import startCase from 'lodash/startCase'
import hljs from '../utils/hljs'
import { kebabCase } from '../utils'
import AnchoredHeading from './anchored-heading'

const importPath = 'bootstrap-vue'
Expand All @@ -136,10 +136,11 @@ export default {
return 'bootstrap-vue'
},
isComponentRoute() {
return this.$route.name === 'docs-components-slug'
const name = this.$route.name
return name === 'docs-components-slug' || name === 'docs-icons'
},
pluginDir() {
return this.$route.params.slug
return this.$route.params.slug || this.meta.slug
},
pluginName() {
// Directive plugin names are prefixed with `VB`
Expand Down Expand Up @@ -218,7 +219,7 @@ export default {
},
methods: {
componentName(component) {
return kebabCase(component)
return kebabCase(component).replace('{', '-{')
},
componentTag(component) {
return `<${this.componentName(component)}>`
Expand Down
22 changes: 21 additions & 1 deletion docs/content/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { importAll, parseVersion } from '~/utils'
import { importAll, parseVersion, parseFullVersion } from '~/utils'
import { version, dependencies, devDependencies, description } from '~/../package.json'
import DEFAULT_CONFIG from '~/../src/utils/config-defaults'

Expand All @@ -8,6 +8,18 @@ export const components = importAll(componentsContext)
const directivesContext = require.context('~/../src/directives/', true, /package.json/)
export const directives = importAll(directivesContext)

const iconsContext = require.context('~/../src/icons', false, /package.json/)
const icons = importAll(iconsContext) || {}
// Since there are over 300 icons, we only return the first BIcon component, plus one
// extra example icon component which we modify the icon name to be `BIcon{IconName}`
// We sort the array to ensure `BIcon` appears first
icons[''].components = icons[''].components
.sort((a, b) => (a < b ? -1 : a > b ? 1 : 0))
.slice(0, 2)
.map(c => ({ ...c }))
icons[''].components[1].component = 'BIcon{IconName}'
export { icons }

const referenceContext = require.context('~/markdown/reference', true, /meta.json/)
export const reference = importAll(referenceContext)

Expand All @@ -32,6 +44,13 @@ export const nav = [
pages: directives,
description: 'BootstrapVue directives and directive group plugins'
},
{
title: 'Icons',
base: 'icons',
new: true,
version: '2.3.0',
description: 'BootstrapVue icons'
},
{
title: 'Reference',
base: 'reference/',
Expand All @@ -50,6 +69,7 @@ export const bootstrapVersion = parseVersion(dependencies.bootstrap)
export const nuxtVersion = parseVersion(devDependencies.nuxt)
export const portalVueVersion = parseVersion(dependencies['portal-vue'])
export const vueVersion = parseVersion(devDependencies.vue)
export const bootstrapIconsVersion = parseFullVersion(devDependencies['bootstrap-icons'])
export const defaultConfig = DEFAULT_CONFIG
export const bvDescription = description

Expand Down
Loading