kopia lustrzana https://github.com/shoelace-style/shoelace
				
				
				
			update framework pages
							rodzic
							
								
									1422e3ffb7
								
							
						
					
					
						commit
						f85b9e1b2b
					
				|  | @ -1,7 +1,29 @@ | ||||||
| # Angular | # Angular | ||||||
| 
 | 
 | ||||||
|  | Angular [plays nice](https://custom-elements-everywhere.com/#angular) with custom elements, so you can use Shoelace in your Angular apps with ease. | ||||||
|  | 
 | ||||||
| ## Installation | ## Installation | ||||||
| Angular [plays nice](https://custom-elements-everywhere.com/#angular) with custom elements. Just make sure to apply the custom elements schema as shown below. | 
 | ||||||
|  | To add Shoelace to your Angular app, install the package from npm. | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | npm install @shoelace-style/shoelace | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Next, [include a theme](/getting-started/themes) and set the [base path](/getting-started/installation#setting-the-base-path) for icons and other assets. In this example, we'll import the light theme and use the CDN as a base path. | ||||||
|  | 
 | ||||||
|  | ```jsx | ||||||
|  | import '@shoelace-style/shoelace/dist/themes/light.css'; | ||||||
|  | import { setBasePath } from '@shoelace-style/shoelace/dist/utilities/base-path'; | ||||||
|  | 
 | ||||||
|  | setBasePath('https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@%VERSION%/dist/'); | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ?> If you'd rather not use the CDN for assets, you can create a build task that copies `node_modules/@shoelace-style/shoelace/dist/assets` into a public folder in your app. Then you can point the base path to that folder instead. | ||||||
|  | 
 | ||||||
|  | ## Configuration | ||||||
|  | 
 | ||||||
|  | Then make sure to apply the custom elements schema as shown below. | ||||||
| 
 | 
 | ||||||
| ```js | ```js | ||||||
| import { BrowserModule } from '@angular/platform-browser'; | import { BrowserModule } from '@angular/platform-browser'; | ||||||
|  | @ -19,4 +41,6 @@ import { AppComponent } from './app.component'; | ||||||
| export class AppModule {} | export class AppModule {} | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ?> Are you using Shoelace with Angular? This page could use some love. [Please help us improve it!](https://github.com/shoelace-style/shoelace/blob/next/docs/frameworks/angular.md) | Now you can start using Shoelace components in your app! | ||||||
|  | 
 | ||||||
|  | ?> Are you using Shoelace with Angular? [Help us improve this page!](https://github.com/shoelace-style/shoelace/blob/next/docs/frameworks/angular.md) | ||||||
|  |  | ||||||
|  | @ -20,11 +20,13 @@ import { setBasePath } from '@shoelace-style/shoelace/dist/utilities/base-path'; | ||||||
| setBasePath('https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@%VERSION%/dist/'); | setBasePath('https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@%VERSION%/dist/'); | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ?> If you'd rather not use the CDN for assets, you can create a [copy task](https://webpack.js.org/plugins/copy-webpack-plugin/) to copy `node_modules/@shoelace-style/shoelace/dist/assets` into your app's `public` directory. Then you can point the base path to that folder instead. | ?> If you'd rather not use the CDN for assets, you can create a [build task](https://webpack.js.org/plugins/copy-webpack-plugin/) that copies `node_modules/@shoelace-style/shoelace/dist/assets` into your app's `public` directory. Then you can point the base path to that folder instead. | ||||||
| 
 | 
 | ||||||
| Now you can start using components! | Now you can start using components! | ||||||
| 
 | 
 | ||||||
| ## Importing Components | ## Usage | ||||||
|  | 
 | ||||||
|  | ### Importing Components | ||||||
| 
 | 
 | ||||||
| Every Shoelace component is available to import as a React component. Note that we're importing the `<SlButton>` _React component_ instead of the `<sl-button>` _custom element_ in the example below. | Every Shoelace component is available to import as a React component. Note that we're importing the `<SlButton>` _React component_ instead of the `<sl-button>` _custom element_ in the example below. | ||||||
| 
 | 
 | ||||||
|  | @ -42,7 +44,7 @@ export default MyComponent; | ||||||
| 
 | 
 | ||||||
| You can find a copy + paste import for every component at the bottom of each page in the documentation. | You can find a copy + paste import for every component at the bottom of each page in the documentation. | ||||||
| 
 | 
 | ||||||
| ## Event Handling | ### Event Handling | ||||||
| 
 | 
 | ||||||
| Many Shoelace components emit [custom events](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent). For example, the [input component](/components/input) emits the `sl-input` event when it receives input. In React, you can listen for the event using `onSlInput`. | Many Shoelace components emit [custom events](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent). For example, the [input component](/components/input) emits the `sl-input` event when it receives input. In React, you can listen for the event using `onSlInput`. | ||||||
| 
 | 
 | ||||||
|  | @ -86,3 +88,5 @@ function MyComponent() { | ||||||
| 
 | 
 | ||||||
| export default MyComponent; | export default MyComponent; | ||||||
| ``` | ``` | ||||||
|  | 
 | ||||||
|  | ?> Are you using Shoelace with React? [Help us improve this page!](https://github.com/shoelace-style/shoelace/blob/next/docs/frameworks/react.md) | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| 
 | 
 | ||||||
| Vue [plays nice](https://custom-elements-everywhere.com/#vue) with custom elements, so you can use Shoelace in your Vue apps with ease. | Vue [plays nice](https://custom-elements-everywhere.com/#vue) with custom elements, so you can use Shoelace in your Vue apps with ease. | ||||||
| 
 | 
 | ||||||
|  | ?> These instructions are for Vue 2. If you're using Vue 3, [please help us update this page](https://github.com/shoelace-style/shoelace/blob/next/docs/frameworks/vue.md). | ||||||
|  | 
 | ||||||
| ## Installation | ## Installation | ||||||
| 
 | 
 | ||||||
| To add Shoelace to your Vue app, install the package from npm. | To add Shoelace to your Vue app, install the package from npm. | ||||||
|  | @ -10,6 +12,19 @@ To add Shoelace to your Vue app, install the package from npm. | ||||||
| npm install @shoelace-style/shoelace | npm install @shoelace-style/shoelace | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | Next, [include a theme](/getting-started/themes) and set the [base path](/getting-started/installation#setting-the-base-path) for icons and other assets. In this example, we'll import the light theme and use the CDN as a base path. | ||||||
|  | 
 | ||||||
|  | ```jsx | ||||||
|  | import '@shoelace-style/shoelace/dist/themes/light.css'; | ||||||
|  | import { setBasePath } from '@shoelace-style/shoelace/dist/utilities/base-path'; | ||||||
|  | 
 | ||||||
|  | setBasePath('https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@%VERSION%/dist/'); | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ?> If you'd rather not use the CDN for assets, you can create a build task that copies `node_modules/@shoelace-style/shoelace/dist/assets` into a public folder in your app. Then you can point the base path to that folder instead. | ||||||
|  | 
 | ||||||
|  | ## Configuration | ||||||
|  | 
 | ||||||
| You'll need to tell Vue to ignore Shoelace components. This is pretty easy because they all start with `sl-`. | You'll need to tell Vue to ignore Shoelace components. This is pretty easy because they all start with `sl-`. | ||||||
| 
 | 
 | ||||||
| ```js | ```js | ||||||
|  | @ -23,7 +38,11 @@ app.config.compilerOptions.isCustomElement = tag => tag.startsWith('sl-'); | ||||||
| app.mount('#app'); | app.mount('#app'); | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Binding Complex Data | Now you can start using Shoelace components in your app! | ||||||
|  | 
 | ||||||
|  | ## Usage | ||||||
|  | 
 | ||||||
|  | ### Binding Complex Data | ||||||
| 
 | 
 | ||||||
| When binding complex data such as objects and arrays, use the `.prop` modifier to make Vue bind them as a property instead of an attribute. | When binding complex data such as objects and arrays, use the `.prop` modifier to make Vue bind them as a property instead of an attribute. | ||||||
| 
 | 
 | ||||||
|  | @ -31,7 +50,7 @@ When binding complex data such as objects and arrays, use the `.prop` modifier t | ||||||
| <sl-color-picker :swatches.prop="mySwatches" /> | <sl-color-picker :swatches.prop="mySwatches" /> | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Two-way Binding | ### Two-way Binding | ||||||
| 
 | 
 | ||||||
| One caveat is there's currently [no support for v-model on custom elements](https://github.com/vuejs/vue/issues/7830), but you can still achieve two-way binding manually. | One caveat is there's currently [no support for v-model on custom elements](https://github.com/vuejs/vue/issues/7830), but you can still achieve two-way binding manually. | ||||||
| 
 | 
 | ||||||
|  | @ -69,3 +88,5 @@ Now you can use the `v-sl-model` directive to keep your data in sync! | ||||||
| ```html | ```html | ||||||
| <sl-input v-sl-model="name"> | <sl-input v-sl-model="name"> | ||||||
| ``` | ``` | ||||||
|  | 
 | ||||||
|  | ?> Are you using Shoelace with Vue? [Help us improve this page!](https://github.com/shoelace-style/shoelace/blob/next/docs/frameworks/vue.md) | ||||||
|  |  | ||||||
		Ładowanie…
	
		Reference in New Issue
	
	 Cory LaViska
						Cory LaViska