mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
Compare commits
No commits in common. "master" and "v0.88.2" have entirely different histories.
257 changed files with 4501 additions and 12373 deletions
67
.github/workflows/checks.yml
vendored
67
.github/workflows/checks.yml
vendored
|
@ -1,60 +1,37 @@
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
|
||||||
- "**.md"
|
|
||||||
- "docs/**"
|
|
||||||
- "examples/**"
|
|
||||||
push:
|
push:
|
||||||
branches: [master]
|
branches: [master]
|
||||||
paths-ignore:
|
|
||||||
- "**.md"
|
|
||||||
- "docs/**"
|
|
||||||
- "examples/**"
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
|
||||||
runs-on: macos-15-xlarge
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "22.x"
|
|
||||||
cache: "npm"
|
|
||||||
- run: npm ci
|
|
||||||
- run: npm run lint
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: macos-15-xlarge
|
runs-on: macos-latest-xlarge
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/cache@v4
|
||||||
|
id: npm-cache
|
||||||
with:
|
with:
|
||||||
node-version: "22.x"
|
path: "**/node_modules"
|
||||||
cache: "npm"
|
key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }}
|
||||||
- run: npm ci
|
|
||||||
- run: npm run test
|
|
||||||
|
|
||||||
types:
|
- name: Install dependencies
|
||||||
runs-on: macos-15-xlarge
|
run: npm install
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
- name: Run lint
|
||||||
- uses: actions/setup-node@v4
|
run: npm run lint
|
||||||
with:
|
|
||||||
node-version: "22.x"
|
- name: Unit tests
|
||||||
cache: "npm"
|
run: npm run test
|
||||||
- run: npm ci
|
|
||||||
- run: npm run test:src-types
|
- name: Test generated source types
|
||||||
- run: npm run test:types
|
run: npm run test:src-types
|
||||||
|
|
||||||
|
- name: Test types
|
||||||
|
run: npm run test:types
|
||||||
|
|
||||||
deploy-docs:
|
|
||||||
if: github.ref == 'refs/heads/master'
|
|
||||||
needs: [lint, test, types]
|
|
||||||
runs-on: macos-15-xlarge
|
|
||||||
steps:
|
|
||||||
- name: Trigger deploy
|
- name: Trigger deploy
|
||||||
|
if: github.ref == 'refs/heads/master'
|
||||||
env:
|
env:
|
||||||
deploy_url: ${{ secrets.RENDER_DEPLOY_HOOK_URL }}
|
deploy_url: ${{ secrets.RENDER_DEPLOY_HOOK_URL }}
|
||||||
run: curl -f "$deploy_url"
|
run: |
|
||||||
|
curl "$deploy_url"
|
||||||
|
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
@ -13,7 +13,7 @@ jobs:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "22.x"
|
node-version: "20.x"
|
||||||
registry-url: "https://registry.npmjs.org"
|
registry-url: "https://registry.npmjs.org"
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
|
76
CHANGELOG.md
76
CHANGELOG.md
|
@ -2,82 +2,6 @@
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
### [0.89.7](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.89.6...v0.89.7) (2025-09-05)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **combo-box:** address accessibility issues ([#2186](https://github.com/carbon-design-system/carbon-components-svelte/issues/2186)) ([2fc884c](https://github.com/carbon-design-system/carbon-components-svelte/commit/2fc884cacabfffcf7779d6ef9ba01dece0bf5d86)), closes [#2172](https://github.com/carbon-design-system/carbon-components-svelte/issues/2172)
|
|
||||||
- **data-table:** handle dynamic `headers` gracefully ([#2195](https://github.com/carbon-design-system/carbon-components-svelte/issues/2195)) ([6d0d3b1](https://github.com/carbon-design-system/carbon-components-svelte/commit/6d0d3b108bb4595d878fda20736c40b9656d14d7)), closes [#2193](https://github.com/carbon-design-system/carbon-components-svelte/issues/2193)
|
|
||||||
- **overflow-menu:** avoid dynamic style injection for performance ([#2198](https://github.com/carbon-design-system/carbon-components-svelte/issues/2198)) ([14edf41](https://github.com/carbon-design-system/carbon-components-svelte/commit/14edf41e57fea1ddbb2cf24c37e79475849bdea1)), closes [#2197](https://github.com/carbon-design-system/carbon-components-svelte/issues/2197)
|
|
||||||
- **pagination:** `on:change` dispatches with correct value ([#2194](https://github.com/carbon-design-system/carbon-components-svelte/issues/2194)) ([44a6cc0](https://github.com/carbon-design-system/carbon-components-svelte/commit/44a6cc0dfcbd3cdad1b442a760c9f604e58d56e6))
|
|
||||||
|
|
||||||
### [0.89.6](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.89.5...v0.89.6) (2025-08-16)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **toggle:** avoid dispatching `toggle` event on state change ([#2184](https://github.com/carbon-design-system/carbon-components-svelte/issues/2184)) ([0df727b](https://github.com/carbon-design-system/carbon-components-svelte/commit/0df727b704d6cc577681dc682269a6e224ddbb6e))
|
|
||||||
|
|
||||||
### [0.89.5](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.89.4...v0.89.5) (2025-08-05)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **checkbox:** prevent infinite effect loop when binding to same object ([#2178](https://github.com/carbon-design-system/carbon-components-svelte/issues/2178)) ([c7ad1eb](https://github.com/carbon-design-system/carbon-components-svelte/commit/c7ad1ebdd3764235f460abd95cdb7d1d389983d9)), closes [#2177](https://github.com/carbon-design-system/carbon-components-svelte/issues/2177)
|
|
||||||
|
|
||||||
### [0.89.4](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.89.3...v0.89.4) (2025-06-10)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **multi-select:** forward `on:input` for filterable variant ([#2170](https://github.com/carbon-design-system/carbon-components-svelte/issues/2170)) ([aecc4e8](https://github.com/carbon-design-system/carbon-components-svelte/commit/aecc4e8eec6571515233ec76ca06218814a279a7))
|
|
||||||
|
|
||||||
### [0.89.3](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.89.2...v0.89.3) (2025-06-07)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **combo-box:** "Escape" key clears input value ([#2169](https://github.com/carbon-design-system/carbon-components-svelte/issues/2169)) ([632320a](https://github.com/carbon-design-system/carbon-components-svelte/commit/632320ae3b8d9c602add0f4f7c708fc643cb7ffc)), closes [#2167](https://github.com/carbon-design-system/carbon-components-svelte/issues/2167)
|
|
||||||
- **combo-box:** clear button supports "Space" key ([#2168](https://github.com/carbon-design-system/carbon-components-svelte/issues/2168)) ([95c06a8](https://github.com/carbon-design-system/carbon-components-svelte/commit/95c06a83b3afcbb76acfc0a5efe2f178d333ff19)), closes [#2166](https://github.com/carbon-design-system/carbon-components-svelte/issues/2166)
|
|
||||||
|
|
||||||
### [0.89.2](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.89.1...v0.89.2) (2025-04-28)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **composed-modal:** ignore a11y warning in Svelte 5 ([#2159](https://github.com/carbon-design-system/carbon-components-svelte/issues/2159)) ([024d774](https://github.com/carbon-design-system/carbon-components-svelte/commit/024d77493c93e7823e4781a1a60aaf350d289d52))
|
|
||||||
- **pagination:** use `toLocaleString` for default text formatting ([#2161](https://github.com/carbon-design-system/carbon-components-svelte/issues/2161)) ([cdf5659](https://github.com/carbon-design-system/carbon-components-svelte/commit/cdf5659fa0177da77dc8ea1ccffdec54b746954b))
|
|
||||||
- **pagination:** window `totalItems` for performance ([#2160](https://github.com/carbon-design-system/carbon-components-svelte/issues/2160)) ([ed3928b](https://github.com/carbon-design-system/carbon-components-svelte/commit/ed3928bb01ecca2fa63f551938dbee1c1829a978)), closes [#2156](https://github.com/carbon-design-system/carbon-components-svelte/issues/2156)
|
|
||||||
- **to-hierarchy:** revert to previous implementation ([96d37cc](https://github.com/carbon-design-system/carbon-components-svelte/commit/96d37cc490f28830264c35c84447ee4526256314))
|
|
||||||
|
|
||||||
### [0.89.1](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.89.0...v0.89.1) (2025-04-21)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **toolbar-search:** re-filter rows if `DataTable` rows change ([#2154](https://github.com/carbon-design-system/carbon-components-svelte/issues/2154)) ([f09c2e2](https://github.com/carbon-design-system/carbon-components-svelte/commit/f09c2e2c311c15f633db8dc45930d8e58a4b362d)), closes [#2143](https://github.com/carbon-design-system/carbon-components-svelte/issues/2143)
|
|
||||||
|
|
||||||
### [0.89.0](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.88.4...v0.89.0) (2025-04-18)
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
- **combo-box:** add `hideLabel` prop ([#2153](https://github.com/carbon-design-system/carbon-components-svelte/issues/2153)) ([436dea4](https://github.com/carbon-design-system/carbon-components-svelte/commit/436dea47e8da35753a257c9b2bd6f33338e95ba5))
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **select:** falsy item `text` should fallback to `value` ([#2152](https://github.com/carbon-design-system/carbon-components-svelte/issues/2152)) ([61ea8dd](https://github.com/carbon-design-system/carbon-components-svelte/commit/61ea8dd82c2f9863dfe5f8a882e73624b994d9e5))
|
|
||||||
|
|
||||||
### [0.88.4](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.88.3...v0.88.4) (2025-03-24)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **list-box-selection:** fix `aria-label` for clear button ([#2134](https://github.com/carbon-design-system/carbon-components-svelte/issues/2134)) ([dd1338f](https://github.com/carbon-design-system/carbon-components-svelte/commit/dd1338ffc47926a13e231d4a0f724e923f2219e2))
|
|
||||||
- **list-box:** correct button/description translations based on selection count ([#2139](https://github.com/carbon-design-system/carbon-components-svelte/issues/2139)) ([1a5f2d8](https://github.com/carbon-design-system/carbon-components-svelte/commit/1a5f2d8e67734bfda20272ae6a77d13b3837416d))
|
|
||||||
- **list-box:** set `aria-disabled` if `disabled` ([#2125](https://github.com/carbon-design-system/carbon-components-svelte/issues/2125)) ([#2138](https://github.com/carbon-design-system/carbon-components-svelte/issues/2138)) ([9b61af0](https://github.com/carbon-design-system/carbon-components-svelte/commit/9b61af0306b422acf1e7cdde278e517740f667c5)), closes [#2130](https://github.com/carbon-design-system/carbon-components-svelte/issues/2130)
|
|
||||||
- **radio-button:** forward `focus`, `blur` events ([#2135](https://github.com/carbon-design-system/carbon-components-svelte/issues/2135)) ([1462e30](https://github.com/carbon-design-system/carbon-components-svelte/commit/1462e300d69f0cd7ee5476dfe3a7ea892ac8f4ad)), closes [#2131](https://github.com/carbon-design-system/carbon-components-svelte/issues/2131)
|
|
||||||
- **radio-tile:** allow standalone `RadioTile` usage ([#2136](https://github.com/carbon-design-system/carbon-components-svelte/issues/2136)) ([ca9beeb](https://github.com/carbon-design-system/carbon-components-svelte/commit/ca9beebaeac7eaed8079c010a86a78926b00147f))
|
|
||||||
- **text-area:** allow visually hidden label ([#2137](https://github.com/carbon-design-system/carbon-components-svelte/issues/2137)) ([43511e0](https://github.com/carbon-design-system/carbon-components-svelte/commit/43511e09ecf312c1b8e9339856b9d7d0785036de))
|
|
||||||
|
|
||||||
### [0.88.3](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.88.2...v0.88.3) (2025-03-19)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- Revert **list-box:** use `aria-disabled` instead of invalid `disabled` attribute ([#2125](https://github.com/carbon-design-system/carbon-components-svelte/issues/2125)) ([e1b3ef2](https://github.com/carbon-design-system/carbon-components-svelte/commit/e1b3ef22c9ee09474bacadbb0b22b41326566bab))
|
|
||||||
|
|
||||||
### [0.88.2](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.88.1...v0.88.2) (2025-03-19)
|
### [0.88.2](https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.88.1...v0.88.2) (2025-03-19)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Component Index
|
# Component Index
|
||||||
|
|
||||||
> 165 components exported from carbon-components-svelte@0.89.7.
|
> 165 components exported from carbon-components-svelte@0.88.2.
|
||||||
|
|
||||||
## Components
|
## Components
|
||||||
|
|
||||||
|
@ -671,7 +671,6 @@ export interface ComboBoxItem {
|
||||||
| size | No | <code>let</code> | No | <code>"sm" | "xl"</code> | <code>undefined</code> | Set the size of the combobox |
|
| size | No | <code>let</code> | No | <code>"sm" | "xl"</code> | <code>undefined</code> | Set the size of the combobox |
|
||||||
| disabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the combobox |
|
| disabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the combobox |
|
||||||
| titleText | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the title text of the combobox |
|
| titleText | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the title text of the combobox |
|
||||||
| hideLabel | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to visually hide the label text |
|
|
||||||
| placeholder | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the placeholder text |
|
| placeholder | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the placeholder text |
|
||||||
| helperText | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the helper text |
|
| helperText | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the helper text |
|
||||||
| invalidText | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the invalid state text |
|
| invalidText | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the invalid state text |
|
||||||
|
@ -2419,7 +2418,6 @@ export interface MultiSelectItem {
|
||||||
| clear | dispatched | <code>null</code> |
|
| clear | dispatched | <code>null</code> |
|
||||||
| blur | dispatched | <code>FocusEvent | CustomEvent<FocusEvent></code> |
|
| blur | dispatched | <code>FocusEvent | CustomEvent<FocusEvent></code> |
|
||||||
| keydown | forwarded | -- |
|
| keydown | forwarded | -- |
|
||||||
| input | forwarded | -- |
|
|
||||||
| keyup | forwarded | -- |
|
| keyup | forwarded | -- |
|
||||||
| focus | forwarded | -- |
|
| focus | forwarded | -- |
|
||||||
| paste | forwarded | -- |
|
| paste | forwarded | -- |
|
||||||
|
@ -2683,23 +2681,22 @@ None.
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| Prop name | Required | Kind | Reactive | Type | Default value | Description |
|
| Prop name | Required | Kind | Reactive | Type | Default value | Description |
|
||||||
| :-------------------- | :------- | :--------------- | :------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| :-------------------- | :------- | :--------------- | :------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------ |
|
||||||
| pageSize | No | <code>let</code> | Yes | <code>number</code> | <code>10</code> | Specify the number of items to display in a page |
|
| pageSize | No | <code>let</code> | Yes | <code>number</code> | <code>10</code> | Specify the number of items to display in a page |
|
||||||
| page | No | <code>let</code> | Yes | <code>number</code> | <code>1</code> | Specify the current page index |
|
| page | No | <code>let</code> | Yes | <code>number</code> | <code>1</code> | Specify the current page index |
|
||||||
| totalItems | No | <code>let</code> | No | <code>number</code> | <code>0</code> | Specify the total number of items |
|
| totalItems | No | <code>let</code> | No | <code>number</code> | <code>0</code> | Specify the total number of items |
|
||||||
| pageWindow | No | <code>let</code> | No | <code>number</code> | <code>1000</code> | If `totalItems` is a large number, it can affect the<br />rendering performance of this component since its value<br />is used to calculate the number of pages in the native<br />select dropdown. This value creates a small window of<br />pages rendered around the current page. By default,<br />a maximum of 1000 select items are rendered. |
|
|
||||||
| disabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the pagination |
|
| disabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the pagination |
|
||||||
| forwardText | No | <code>let</code> | No | <code>string</code> | <code>"Next page"</code> | Specify the forward button text |
|
| forwardText | No | <code>let</code> | No | <code>string</code> | <code>"Next page"</code> | Specify the forward button text |
|
||||||
| backwardText | No | <code>let</code> | No | <code>string</code> | <code>"Previous page"</code> | Specify the backward button text |
|
| backwardText | No | <code>let</code> | No | <code>string</code> | <code>"Previous page"</code> | Specify the backward button text |
|
||||||
| itemsPerPageText | No | <code>let</code> | No | <code>string</code> | <code>"Items per page:"</code> | Specify the items per page text |
|
| itemsPerPageText | No | <code>let</code> | No | <code>string</code> | <code>"Items per page:"</code> | Specify the items per page text |
|
||||||
| itemText | No | <code>let</code> | No | <code>(min: number, max: number) => string</code> | <code>(min, max) => \`${min.toLocaleString()}–${max.toLocaleString()} item${max === 1 ? "" : "s"}\`</code> | Override the item text |
|
| itemText | No | <code>let</code> | No | <code>(min: number, max: number) => string</code> | <code>(min, max) => \`${min}–${max} item${max === 1 ? "" : "s"}\`</code> | Override the item text |
|
||||||
| itemRangeText | No | <code>let</code> | No | <code>(min: number, max: number, total: number) => string</code> | <code>(min, max, total) => \`${min.toLocaleString()}–${max.toLocaleString()} of ${total.toLocaleString()} item${max === 1 ? "" : "s"}\`</code> | Override the item range text |
|
| itemRangeText | No | <code>let</code> | No | <code>(min: number, max: number, total: number) => string</code> | <code>(min, max, total) => \`${min}–${max} of ${total} item${max === 1 ? "" : "s"}\`</code> | Override the item range text |
|
||||||
| pageInputDisabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the page input |
|
| pageInputDisabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the page input |
|
||||||
| pageSizeInputDisabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the page size input |
|
| pageSizeInputDisabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the page size input |
|
||||||
| pageSizes | No | <code>let</code> | No | <code>ReadonlyArray<number></code> | <code>[10]</code> | Specify the available page sizes |
|
| pageSizes | No | <code>let</code> | No | <code>ReadonlyArray<number></code> | <code>[10]</code> | Specify the available page sizes |
|
||||||
| pagesUnknown | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` if the number of pages is unknown |
|
| pagesUnknown | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` if the number of pages is unknown |
|
||||||
| pageText | No | <code>let</code> | No | <code>(page: number) => string</code> | <code>(page) => \`page ${page.toLocaleString()}\`</code> | Override the page text |
|
| pageText | No | <code>let</code> | No | <code>(page: number) => string</code> | <code>(page) => \`page ${page}\`</code> | Override the page text |
|
||||||
| pageRangeText | No | <code>let</code> | No | <code>(current: number, total: number) => string</code> | <code>(current, total) => \`of ${total.toLocaleString()} page${total === 1 ? "" : "s"}\`</code> | Override the page range text |
|
| pageRangeText | No | <code>let</code> | No | <code>(current: number, total: number) => string</code> | <code>(current, total) => \`of ${total} page${total === 1 ? "" : "s"}\`</code> | Override the page range text |
|
||||||
| id | No | <code>let</code> | No | <code>string</code> | <code>"ccs-" + Math.random().toString(36)</code> | Set an id for the top-level element |
|
| id | No | <code>let</code> | No | <code>string</code> | <code>"ccs-" + Math.random().toString(36)</code> | Set an id for the top-level element |
|
||||||
|
|
||||||
### Slots
|
### Slots
|
||||||
|
@ -2969,8 +2966,6 @@ None.
|
||||||
|
|
||||||
| Event name | Type | Detail |
|
| Event name | Type | Detail |
|
||||||
| :--------- | :-------- | :----- |
|
| :--------- | :-------- | :----- |
|
||||||
| focus | forwarded | -- |
|
|
||||||
| blur | forwarded | -- |
|
|
||||||
| change | forwarded | -- |
|
| change | forwarded | -- |
|
||||||
|
|
||||||
## `RadioButtonGroup`
|
## `RadioButtonGroup`
|
||||||
|
@ -3224,9 +3219,9 @@ None.
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| Prop name | Required | Kind | Reactive | Type | Default value | Description |
|
| Prop name | Required | Kind | Reactive | Type | Default value | Description |
|
||||||
| :-------- | :------- | :--------------- | :------- | --------------------------------- | ---------------------- | ---------------------------------------------------------------------------------- |
|
| :-------- | :------- | :--------------- | :------- | --------------------------------- | ---------------------- | ----------------------------------------- |
|
||||||
| value | No | <code>let</code> | No | <code>string | number</code> | <code>""</code> | Specify the option value |
|
| value | No | <code>let</code> | No | <code>string | number</code> | <code>""</code> | Specify the option value |
|
||||||
| text | No | <code>let</code> | No | <code>string</code> | <code>undefined</code> | Specify the option text<br />If not specified, the value will be used as the text. |
|
| text | No | <code>let</code> | No | <code>string</code> | <code>""</code> | Specify the option text |
|
||||||
| hidden | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to hide the option |
|
| hidden | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to hide the option |
|
||||||
| disabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the option |
|
| disabled | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to disable the option |
|
||||||
| class | No | <code>let</code> | No | <code>string</code> | <code>undefined</code> | Specify the class of the `option` element |
|
| class | No | <code>let</code> | No | <code>string</code> | <code>undefined</code> | Specify the class of the `option` element |
|
||||||
|
|
|
@ -13,8 +13,8 @@ Design systems facilitate design and development through reuse, consistency, and
|
||||||
|
|
||||||
The Carbon Svelte portfolio also includes:
|
The Carbon Svelte portfolio also includes:
|
||||||
|
|
||||||
- **[Carbon Icons Svelte](https://github.com/carbon-design-system/carbon-icons-svelte)**: 2,500+ Carbon icons as Svelte components
|
- **[Carbon Icons Svelte](https://github.com/carbon-design-system/carbon-icons-svelte)**: 2,400+ Carbon icons as Svelte components
|
||||||
- **[Carbon Pictograms Svelte](https://github.com/carbon-design-system/carbon-pictograms-svelte)**: 1,300+ Carbon pictograms as Svelte components
|
- **[Carbon Pictograms Svelte](https://github.com/carbon-design-system/carbon-pictograms-svelte)**: 1,200+ Carbon pictograms as Svelte components
|
||||||
- **[Carbon Charts Svelte](https://github.com/carbon-design-system/carbon-charts/tree/master/packages/svelte)**: 25+ charts, powered by d3
|
- **[Carbon Charts Svelte](https://github.com/carbon-design-system/carbon-charts/tree/master/packages/svelte)**: 25+ charts, powered by d3
|
||||||
- **[Carbon Preprocess Svelte](https://github.com/carbon-design-system/carbon-preprocess-svelte)**: Collection of Svelte preprocessors for Carbon
|
- **[Carbon Preprocess Svelte](https://github.com/carbon-design-system/carbon-preprocess-svelte)**: Collection of Svelte preprocessors for Carbon
|
||||||
|
|
||||||
|
|
161
docs/package-lock.json
generated
161
docs/package-lock.json
generated
|
@ -20,12 +20,12 @@
|
||||||
"prismjs": "^1.30.0",
|
"prismjs": "^1.30.0",
|
||||||
"remark-slug": "^6.1.0",
|
"remark-slug": "^6.1.0",
|
||||||
"svelte": "^4.2.19",
|
"svelte": "^4.2.19",
|
||||||
"vite": "^5.4.19"
|
"vite": "^5.4.14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"..": {
|
"..": {
|
||||||
"name": "carbon-components-svelte",
|
"name": "carbon-components-svelte",
|
||||||
"version": "0.89.4",
|
"version": "0.88.0",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
@ -36,25 +36,25 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
||||||
"@testing-library/jest-dom": "^6.6.3",
|
"@testing-library/jest-dom": "^6.6.3",
|
||||||
"@testing-library/svelte": "^5.2.8",
|
"@testing-library/svelte": "^5.2.7",
|
||||||
"@testing-library/user-event": "^14.6.1",
|
"@testing-library/user-event": "^14.6.1",
|
||||||
"autoprefixer": "^10.4.21",
|
"autoprefixer": "^10.4.8",
|
||||||
"carbon-components": "10.58.12",
|
"carbon-components": "10.58.12",
|
||||||
"carbon-icons-svelte": "^13.4.0",
|
"carbon-icons-svelte": "^13.3.0",
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"culls": "^0.1.1",
|
"culls": "^0.1.1",
|
||||||
"jsdom": "^26.1.0",
|
"jsdom": "^26.0.0",
|
||||||
"postcss": "^8.5.5",
|
"postcss": "^8.5.3",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"prettier-plugin-svelte": "^3.4.0",
|
"prettier-plugin-svelte": "^3.3.3",
|
||||||
"sass": "^1.49.11",
|
"sass": "^1.49.11",
|
||||||
"standard-version": "^9.5.0",
|
"standard-version": "^9.5.0",
|
||||||
"sveld": "^0.22.1",
|
"sveld": "^0.22.1",
|
||||||
"svelte": "^4.2.20",
|
"svelte": "^4.2.19",
|
||||||
"svelte-check": "^4.2.1",
|
"svelte-check": "^4.1.5",
|
||||||
"tinyglobby": "^0.2.14",
|
"tinyglobby": "^0.2.12",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.2",
|
||||||
"vitest": "^3.2.3"
|
"vitest": "^3.0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
|
@ -1035,20 +1035,6 @@
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/call-bind-apply-helpers": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"es-errors": "^1.3.0",
|
|
||||||
"function-bind": "^1.1.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/carbon-components-svelte": {
|
"node_modules/carbon-components-svelte": {
|
||||||
"resolved": "..",
|
"resolved": "..",
|
||||||
"link": true
|
"link": true
|
||||||
|
@ -1411,21 +1397,6 @@
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/dunder-proto": {
|
|
||||||
"version": "1.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
|
||||||
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"call-bind-apply-helpers": "^1.0.1",
|
|
||||||
"es-errors": "^1.3.0",
|
|
||||||
"gopd": "^1.2.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/error-ex": {
|
"node_modules/error-ex": {
|
||||||
"version": "1.3.2",
|
"version": "1.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
|
||||||
|
@ -1496,11 +1467,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-define-property": {
|
"node_modules/es-define-property": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
|
||||||
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"dependencies": {
|
||||||
|
"get-intrinsic": "^1.2.4"
|
||||||
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
|
@ -1515,11 +1488,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-object-atoms": {
|
"node_modules/es-object-atoms": {
|
||||||
"version": "1.1.1",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
|
||||||
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
"integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"es-errors": "^1.3.0"
|
"es-errors": "^1.3.0"
|
||||||
},
|
},
|
||||||
|
@ -1528,16 +1500,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-set-tostringtag": {
|
"node_modules/es-set-tostringtag": {
|
||||||
"version": "2.1.0",
|
"version": "2.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
|
||||||
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
"integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"es-errors": "^1.3.0",
|
"get-intrinsic": "^1.2.4",
|
||||||
"get-intrinsic": "^1.2.6",
|
|
||||||
"has-tostringtag": "^1.0.2",
|
"has-tostringtag": "^1.0.2",
|
||||||
"hasown": "^2.0.2"
|
"hasown": "^2.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
|
@ -1684,17 +1654,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/form-data": {
|
"node_modules/form-data": {
|
||||||
"version": "3.0.4",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz",
|
||||||
"integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
|
"integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"asynckit": "^0.4.0",
|
"asynckit": "^0.4.0",
|
||||||
"combined-stream": "^1.0.8",
|
"combined-stream": "^1.0.8",
|
||||||
"es-set-tostringtag": "^2.1.0",
|
"mime-types": "^2.1.12"
|
||||||
"hasown": "^2.0.2",
|
|
||||||
"mime-types": "^2.1.35"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
|
@ -1766,22 +1733,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/get-intrinsic": {
|
"node_modules/get-intrinsic": {
|
||||||
"version": "1.3.0",
|
"version": "1.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
|
||||||
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"call-bind-apply-helpers": "^1.0.2",
|
|
||||||
"es-define-property": "^1.0.1",
|
|
||||||
"es-errors": "^1.3.0",
|
"es-errors": "^1.3.0",
|
||||||
"es-object-atoms": "^1.1.1",
|
|
||||||
"function-bind": "^1.1.2",
|
"function-bind": "^1.1.2",
|
||||||
"get-proto": "^1.0.1",
|
"has-proto": "^1.0.1",
|
||||||
"gopd": "^1.2.0",
|
"has-symbols": "^1.0.3",
|
||||||
"has-symbols": "^1.1.0",
|
"hasown": "^2.0.0"
|
||||||
"hasown": "^2.0.2",
|
|
||||||
"math-intrinsics": "^1.1.0"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
|
@ -1790,20 +1751,6 @@
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/get-proto": {
|
|
||||||
"version": "1.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
|
||||||
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"dunder-proto": "^1.0.1",
|
|
||||||
"es-object-atoms": "^1.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/get-symbol-description": {
|
"node_modules/get-symbol-description": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
|
||||||
|
@ -1844,13 +1791,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/gopd": {
|
"node_modules/gopd": {
|
||||||
"version": "1.2.0",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
|
||||||
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"dependencies": {
|
||||||
"engines": {
|
"get-intrinsic": "^1.1.3"
|
||||||
"node": ">= 0.4"
|
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
@ -1905,11 +1851,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/has-symbols": {
|
"node_modules/has-symbols": {
|
||||||
"version": "1.1.0",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
||||||
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
},
|
},
|
||||||
|
@ -2472,16 +2417,6 @@
|
||||||
"@jridgewell/sourcemap-codec": "^1.5.0"
|
"@jridgewell/sourcemap-codec": "^1.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/math-intrinsics": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
|
||||||
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mdast-util-to-string": {
|
"node_modules/mdast-util-to-string": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz",
|
||||||
|
@ -3774,9 +3709,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "5.4.19",
|
"version": "5.4.14",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz",
|
||||||
"integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==",
|
"integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
"prismjs": "^1.30.0",
|
"prismjs": "^1.30.0",
|
||||||
"remark-slug": "^6.1.0",
|
"remark-slug": "^6.1.0",
|
||||||
"svelte": "^4.2.19",
|
"svelte": "^4.2.19",
|
||||||
"vite": "^5.4.19"
|
"vite": "^5.4.14"
|
||||||
},
|
},
|
||||||
"routify": {
|
"routify": {
|
||||||
"routifyDir": ".routify",
|
"routifyDir": ".routify",
|
||||||
|
|
|
@ -1851,18 +1851,6 @@
|
||||||
"constant": false,
|
"constant": false,
|
||||||
"reactive": false
|
"reactive": false
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "hideLabel",
|
|
||||||
"kind": "let",
|
|
||||||
"description": "Set to `true` to visually hide the label text",
|
|
||||||
"type": "boolean",
|
|
||||||
"value": "false",
|
|
||||||
"isFunction": false,
|
|
||||||
"isFunctionDeclaration": false,
|
|
||||||
"isRequired": false,
|
|
||||||
"constant": false,
|
|
||||||
"reactive": false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "placeholder",
|
"name": "placeholder",
|
||||||
"kind": "let",
|
"kind": "let",
|
||||||
|
@ -8943,11 +8931,6 @@
|
||||||
"name": "keydown",
|
"name": "keydown",
|
||||||
"element": "input"
|
"element": "input"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "forwarded",
|
|
||||||
"name": "input",
|
|
||||||
"element": "input"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "forwarded",
|
"type": "forwarded",
|
||||||
"name": "keyup",
|
"name": "keyup",
|
||||||
|
@ -10053,18 +10036,6 @@
|
||||||
"constant": false,
|
"constant": false,
|
||||||
"reactive": false
|
"reactive": false
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "pageWindow",
|
|
||||||
"kind": "let",
|
|
||||||
"description": "If `totalItems` is a large number, it can affect the\nrendering performance of this component since its value\nis used to calculate the number of pages in the native\nselect dropdown. This value creates a small window of\npages rendered around the current page. By default,\na maximum of 1000 select items are rendered.",
|
|
||||||
"type": "number",
|
|
||||||
"value": "1000",
|
|
||||||
"isFunction": false,
|
|
||||||
"isFunctionDeclaration": false,
|
|
||||||
"isRequired": false,
|
|
||||||
"constant": false,
|
|
||||||
"reactive": false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "disabled",
|
"name": "disabled",
|
||||||
"kind": "let",
|
"kind": "let",
|
||||||
|
@ -10118,7 +10089,7 @@
|
||||||
"kind": "let",
|
"kind": "let",
|
||||||
"description": "Override the item text",
|
"description": "Override the item text",
|
||||||
"type": "(min: number, max: number) => string",
|
"type": "(min: number, max: number) => string",
|
||||||
"value": "(min, max) =>\n `${min.toLocaleString()}–${max.toLocaleString()} item${max === 1 ? \"\" : \"s\"}`",
|
"value": "(min, max) =>\n `${min}–${max} item${max === 1 ? \"\" : \"s\"}`",
|
||||||
"isFunction": true,
|
"isFunction": true,
|
||||||
"isFunctionDeclaration": false,
|
"isFunctionDeclaration": false,
|
||||||
"isRequired": false,
|
"isRequired": false,
|
||||||
|
@ -10130,7 +10101,7 @@
|
||||||
"kind": "let",
|
"kind": "let",
|
||||||
"description": "Override the item range text",
|
"description": "Override the item range text",
|
||||||
"type": "(min: number, max: number, total: number) => string",
|
"type": "(min: number, max: number, total: number) => string",
|
||||||
"value": "(\n min,\n max,\n total,\n) =>\n `${min.toLocaleString()}–${max.toLocaleString()} of ${total.toLocaleString()} item${max === 1 ? \"\" : \"s\"}`",
|
"value": "(\n min,\n max,\n total,\n) =>\n `${min}–${max} of ${total} item${max === 1 ? \"\" : \"s\"}`",
|
||||||
"isFunction": true,
|
"isFunction": true,
|
||||||
"isFunctionDeclaration": false,
|
"isFunctionDeclaration": false,
|
||||||
"isRequired": false,
|
"isRequired": false,
|
||||||
|
@ -10202,7 +10173,7 @@
|
||||||
"kind": "let",
|
"kind": "let",
|
||||||
"description": "Override the page text",
|
"description": "Override the page text",
|
||||||
"type": "(page: number) => string",
|
"type": "(page: number) => string",
|
||||||
"value": "(page) => `page ${page.toLocaleString()}`",
|
"value": "(page) => `page ${page}`",
|
||||||
"isFunction": true,
|
"isFunction": true,
|
||||||
"isFunctionDeclaration": false,
|
"isFunctionDeclaration": false,
|
||||||
"isRequired": false,
|
"isRequired": false,
|
||||||
|
@ -10214,7 +10185,7 @@
|
||||||
"kind": "let",
|
"kind": "let",
|
||||||
"description": "Override the page range text",
|
"description": "Override the page range text",
|
||||||
"type": "(current: number, total: number) => string",
|
"type": "(current: number, total: number) => string",
|
||||||
"value": "(\n current,\n total,\n) =>\n `of ${total.toLocaleString()} page${total === 1 ? \"\" : \"s\"}`",
|
"value": "(\n current,\n total,\n) =>\n `of ${total} page${total === 1 ? \"\" : \"s\"}`",
|
||||||
"isFunction": true,
|
"isFunction": true,
|
||||||
"isFunctionDeclaration": false,
|
"isFunctionDeclaration": false,
|
||||||
"isRequired": false,
|
"isRequired": false,
|
||||||
|
@ -11418,16 +11389,6 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"events": [
|
"events": [
|
||||||
{
|
|
||||||
"type": "forwarded",
|
|
||||||
"name": "focus",
|
|
||||||
"element": "input"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "forwarded",
|
|
||||||
"name": "blur",
|
|
||||||
"element": "input"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "forwarded",
|
"type": "forwarded",
|
||||||
"name": "change",
|
"name": "change",
|
||||||
|
@ -12548,8 +12509,9 @@
|
||||||
{
|
{
|
||||||
"name": "text",
|
"name": "text",
|
||||||
"kind": "let",
|
"kind": "let",
|
||||||
"description": "Specify the option text\nIf not specified, the value will be used as the text.",
|
"description": "Specify the option text",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
"value": "\"\"",
|
||||||
"isFunction": false,
|
"isFunction": false,
|
||||||
"isFunctionDeclaration": false,
|
"isFunctionDeclaration": false,
|
||||||
"isRequired": false,
|
"isRequired": false,
|
||||||
|
|
|
@ -2,19 +2,12 @@ html[theme="g90"] .code-override {
|
||||||
border: 1px solid var(--cds-ui-03);
|
border: 1px solid var(--cds-ui-03);
|
||||||
}
|
}
|
||||||
|
|
||||||
.prose > pre,
|
|
||||||
.code-override .bx--snippet {
|
.code-override .bx--snippet {
|
||||||
/** Docs code snippet is always dark mode */
|
/** Docs code snippet is always dark mode */
|
||||||
color-scheme: dark;
|
color-scheme: dark;
|
||||||
max-width: none;
|
max-width: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prose > pre {
|
|
||||||
padding: 1rem;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose > pre,
|
|
||||||
.code-override .bx--copy-btn,
|
.code-override .bx--copy-btn,
|
||||||
.code-override .bx--snippet,
|
.code-override .bx--snippet,
|
||||||
.code-override button.bx--btn.bx--snippet-btn--expand {
|
.code-override button.bx--btn.bx--snippet-btn--expand {
|
||||||
|
@ -31,7 +24,6 @@ html[theme="g90"] .code-override {
|
||||||
fill: #f4f4f4;
|
fill: #f4f4f4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prose > pre,
|
|
||||||
.code-override .bx--snippet-container pre {
|
.code-override .bx--snippet-container pre {
|
||||||
font-size: var(--cds-code-02-font-size);
|
font-size: var(--cds-code-02-font-size);
|
||||||
line-height: var(--cds-code-02-line-height);
|
line-height: var(--cds-code-02-line-height);
|
||||||
|
|
|
@ -10,15 +10,8 @@ components: ["Accordion", "AccordionItem", "AccordionSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Accordion` creates a vertically stacked list of expandable sections that show or hide content. It supports custom titles, different sizes, and various states including disabled and skeleton loading.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Use the `Accordion` and `AccordionItem` components to compose a collapsible list of
|
|
||||||
items.
|
|
||||||
|
|
||||||
By default, the chevron icon is on the right side of the accordion item.
|
|
||||||
|
|
||||||
<Accordion>
|
<Accordion>
|
||||||
<AccordionItem title="Natural Language Classifier">
|
<AccordionItem title="Natural Language Classifier">
|
||||||
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
||||||
|
@ -34,10 +27,6 @@ By default, the chevron icon is on the right side of the accordion item.
|
||||||
|
|
||||||
## Left-aligned chevron
|
## Left-aligned chevron
|
||||||
|
|
||||||
The chevron icon can be aligned to the left side of the accordion item by setting
|
|
||||||
the `align` prop to "start". This provides an alternative visual style while
|
|
||||||
maintaining the same functionality.
|
|
||||||
|
|
||||||
<Accordion align="start">
|
<Accordion align="start">
|
||||||
<AccordionItem title="Natural Language Classifier">
|
<AccordionItem title="Natural Language Classifier">
|
||||||
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
||||||
|
@ -53,9 +42,6 @@ maintaining the same functionality.
|
||||||
|
|
||||||
## Custom title slot
|
## Custom title slot
|
||||||
|
|
||||||
Customize the title content by using the `title` slot instead of the `title` prop.
|
|
||||||
This allows for more complex title layouts with multiple elements.
|
|
||||||
|
|
||||||
<Accordion>
|
<Accordion>
|
||||||
<AccordionItem>
|
<AccordionItem>
|
||||||
<svelte:fragment slot="title">
|
<svelte:fragment slot="title">
|
||||||
|
@ -83,9 +69,6 @@ This allows for more complex title layouts with multiple elements.
|
||||||
|
|
||||||
## First item open
|
## First item open
|
||||||
|
|
||||||
Set the `open` prop on an `AccordionItem` to have it expanded by default when the
|
|
||||||
accordion is first rendered.
|
|
||||||
|
|
||||||
<Accordion>
|
<Accordion>
|
||||||
<AccordionItem open title="Natural Language Classifier">
|
<AccordionItem open title="Natural Language Classifier">
|
||||||
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
||||||
|
@ -101,18 +84,12 @@ accordion is first rendered.
|
||||||
|
|
||||||
## Programmatic example
|
## Programmatic example
|
||||||
|
|
||||||
This example demonstrates how to programmatically control the accordion items using
|
This example demonstrates how a list of items can be programmatically expanded and collapsed.
|
||||||
the `bind:open` directive. Expand and collapse items based on user
|
|
||||||
interactions or application state.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Accordion/ExpandableAccordion" />
|
<FileSource src="/framed/Accordion/ExpandableAccordion" />
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
The accordion can be displayed in an extra-large size by setting the `size` prop to
|
|
||||||
"xl". This provides more visual emphasis and is suitable for prominent content
|
|
||||||
sections.
|
|
||||||
|
|
||||||
<Accordion size="xl">
|
<Accordion size="xl">
|
||||||
<AccordionItem title="Natural Language Classifier">
|
<AccordionItem title="Natural Language Classifier">
|
||||||
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
||||||
|
@ -128,10 +105,6 @@ sections.
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
For more compact layouts, set the `size` prop to "sm" to display the accordion in a
|
|
||||||
smaller size. This is useful when space is limited or when the accordion is used as
|
|
||||||
a secondary UI element.
|
|
||||||
|
|
||||||
<Accordion size="sm">
|
<Accordion size="sm">
|
||||||
<AccordionItem title="Natural Language Classifier">
|
<AccordionItem title="Natural Language Classifier">
|
||||||
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
||||||
|
@ -147,9 +120,6 @@ a secondary UI element.
|
||||||
|
|
||||||
## Disabled
|
## Disabled
|
||||||
|
|
||||||
Set the `disabled` prop on the `Accordion` component to disable all items at once.
|
|
||||||
This prevents users from expanding or collapsing any items in the accordion.
|
|
||||||
|
|
||||||
<Accordion disabled>
|
<Accordion disabled>
|
||||||
<AccordionItem title="Natural Language Classifier">
|
<AccordionItem title="Natural Language Classifier">
|
||||||
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
||||||
|
@ -165,10 +135,6 @@ This prevents users from expanding or collapsing any items in the accordion.
|
||||||
|
|
||||||
## Disabled (item)
|
## Disabled (item)
|
||||||
|
|
||||||
Individual accordion items can be disabled by setting the `disabled` prop on
|
|
||||||
specific `AccordionItem` components. This allows for more granular control over
|
|
||||||
which items are interactive.
|
|
||||||
|
|
||||||
<Accordion>
|
<Accordion>
|
||||||
<AccordionItem disabled title="Natural Language Classifier">
|
<AccordionItem disabled title="Natural Language Classifier">
|
||||||
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
<p>Natural Language Classifier uses advanced natural language processing and machine learning techniques to create custom classification models. Users train their data and the service predicts the appropriate category for the inputted text.
|
||||||
|
@ -184,45 +150,25 @@ which items are interactive.
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
The skeleton state provides a loading placeholder for the accordion. It displays a
|
|
||||||
simplified version of the component while content is being loaded.
|
|
||||||
|
|
||||||
<Accordion skeleton />
|
<Accordion skeleton />
|
||||||
|
|
||||||
## Skeleton (left-aligned chevron)
|
## Skeleton (left-aligned chevron)
|
||||||
|
|
||||||
The skeleton state can be combined with the left-aligned chevron style by setting
|
|
||||||
both the `skeleton` and `align="start"` props.
|
|
||||||
|
|
||||||
<Accordion skeleton align="start" />
|
<Accordion skeleton align="start" />
|
||||||
|
|
||||||
## Skeleton (custom count)
|
## Skeleton (custom count)
|
||||||
|
|
||||||
By default, the skeleton state displays 4 items.
|
|
||||||
|
|
||||||
Specify the number of skeleton items to display using the `count` prop. This is
|
|
||||||
useful when you know the exact number of items that will be loaded.
|
|
||||||
|
|
||||||
<Accordion skeleton count={3} />
|
<Accordion skeleton count={3} />
|
||||||
|
|
||||||
## Skeleton (closed)
|
## Skeleton (closed)
|
||||||
|
|
||||||
By default, the first skeleton item is open. The skeleton state can be displayed
|
|
||||||
in a collapsed state by setting `open={false}`.
|
|
||||||
|
|
||||||
<Accordion skeleton open={false} />
|
<Accordion skeleton open={false} />
|
||||||
|
|
||||||
## Skeleton (extra-large)
|
## Skeleton (extra-large)
|
||||||
|
|
||||||
The skeleton state supports the extra-large size variant, maintaining visual
|
|
||||||
consistency with the active component states.
|
|
||||||
|
|
||||||
<Accordion skeleton size="xl" />
|
<Accordion skeleton size="xl" />
|
||||||
|
|
||||||
## Skeleton (small)
|
## Skeleton (small)
|
||||||
|
|
||||||
The skeleton state also supports the small size variant, providing a compact
|
|
||||||
loading placeholder for space-constrained layouts.
|
|
||||||
|
|
||||||
<Accordion skeleton size="sm" />
|
<Accordion skeleton size="sm" />
|
||||||
|
|
||||||
|
|
|
@ -3,13 +3,11 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `AspectRatio` component maintains consistent proportions for content across different screen sizes. It's particularly useful for images, videos, and other media that need to preserve their aspect ratio when resizing.
|
The `AspectRatio` component is useful for constraining fluid content within an aspect ratio. To demo this, resize your browser for the examples below.
|
||||||
|
|
||||||
Supported aspect ratios include `"2x1"`, `"2x3"`, `"16x9"`, `"4x3"`, `"1x1"`, `"3x4"`, `"3x2"`, `"9x16"` and `"1x2"`.
|
Supported aspect ratios include `"2x1"`, `"2x3"`, `"16x9"`, `"4x3"`, `"1x1"`, `"3x4"`, `"3x2"`, `"9x16"` and `"1x2"`.
|
||||||
|
|
||||||
## Default
|
## Default (2x1)
|
||||||
|
|
||||||
Display a 2:1 aspect ratio container by default.
|
|
||||||
|
|
||||||
<AspectRatio>
|
<AspectRatio>
|
||||||
2x1
|
2x1
|
||||||
|
|
|
@ -12,12 +12,8 @@ components: ["Breadcrumb", "BreadcrumbItem"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Breadcrumb` displays a hierarchical navigation trail that shows users their current location within an application. It supports current page indication, trailing slash customization, and overflow handling for long navigation paths.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Display a hierarchical navigation trail with slashes between items. Mark the current page with `isCurrentPage`.
|
|
||||||
|
|
||||||
<Breadcrumb>
|
<Breadcrumb>
|
||||||
<BreadcrumbItem href="/">Dashboard</BreadcrumbItem>
|
<BreadcrumbItem href="/">Dashboard</BreadcrumbItem>
|
||||||
<BreadcrumbItem href="/reports">Annual reports</BreadcrumbItem>
|
<BreadcrumbItem href="/reports">Annual reports</BreadcrumbItem>
|
||||||
|
@ -26,8 +22,6 @@ Display a hierarchical navigation trail with slashes between items. Mark the cur
|
||||||
|
|
||||||
## No trailing slash
|
## No trailing slash
|
||||||
|
|
||||||
Remove the trailing slash from the last breadcrumb item using `noTrailingSlash`.
|
|
||||||
|
|
||||||
<Breadcrumb noTrailingSlash>
|
<Breadcrumb noTrailingSlash>
|
||||||
<BreadcrumbItem href="/">Home</BreadcrumbItem>
|
<BreadcrumbItem href="/">Home</BreadcrumbItem>
|
||||||
<BreadcrumbItem href="/profile" isCurrentPage>Profile</BreadcrumbItem>
|
<BreadcrumbItem href="/profile" isCurrentPage>Profile</BreadcrumbItem>
|
||||||
|
@ -35,8 +29,6 @@ Remove the trailing slash from the last breadcrumb item using `noTrailingSlash`.
|
||||||
|
|
||||||
## Overflow menu
|
## Overflow menu
|
||||||
|
|
||||||
Add an `OverflowMenu` to handle long breadcrumb trails. Use `OverflowMenuItem` components for menu options.
|
|
||||||
|
|
||||||
<Breadcrumb>
|
<Breadcrumb>
|
||||||
<BreadcrumbItem href="/">Home</BreadcrumbItem>
|
<BreadcrumbItem href="/">Home</BreadcrumbItem>
|
||||||
<BreadcrumbItem href="/api">API documentation</BreadcrumbItem>
|
<BreadcrumbItem href="/api">API documentation</BreadcrumbItem>
|
||||||
|
@ -55,6 +47,4 @@ Add an `OverflowMenu` to handle long breadcrumb trails. Use `OverflowMenuItem` c
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Display a loading state with `skeleton` prop. Use `count` to specify the number of items.
|
|
||||||
|
|
||||||
<Breadcrumb noTrailingSlash skeleton count={3} />
|
<Breadcrumb noTrailingSlash skeleton count={3} />
|
|
@ -1,12 +1,12 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
UnorderedList, ListItem
|
Breakpoint, UnorderedList, ListItem
|
||||||
} from "carbon-components-svelte";
|
} from "carbon-components-svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The Carbon Design System [grid implementation](https://carbondesignsystem.com/guidelines/2x-grid/implementation#responsive-options) defines five responsive breakpoints:
|
The [Carbon Design System grid implementation](https://carbondesignsystem.com/guidelines/2x-grid/implementation#responsive-options) defines five responsive breakpoints:
|
||||||
|
|
||||||
<UnorderedList svx-ignore style="margin-bottom: var(--cds-spacing-08)">
|
<UnorderedList svx-ignore style="margin-bottom: var(--cds-spacing-08)">
|
||||||
<ListItem><strong>Small</strong>: less than 672px</ListItem>
|
<ListItem><strong>Small</strong>: less than 672px</ListItem>
|
||||||
|
@ -28,8 +28,8 @@ The `"on:change"` event will fire when the size is initially determined and when
|
||||||
|
|
||||||
## Store and Breakpoint Values
|
## Store and Breakpoint Values
|
||||||
|
|
||||||
Use `breakpointObserver` as an alternative to the component to get the current size as a Svelte store. The store provides two additional functions that create derived stores returning a `boolean` indicating whether the size is smaller/larger than a certain breakpoint.
|
As an alternative to the component, `breakpointObserver` can be used to get the current size as a Svelte store. The store has two additional functions which create derived stores that return a `boolean` indicating whether the size is smaller/larger than a certain breakpoint.
|
||||||
|
|
||||||
Access the `breakpoints` dictionary to map from `BreakpointSize` to `BreakpointValue`.
|
There also exists a `breakpoints` dictionary mapping from `BreakpointSize` to `BreakpointValue`.
|
||||||
|
|
||||||
<FileSource src="/framed/Breakpoint/BreakpointObserver" />
|
<FileSource src="/framed/Breakpoint/BreakpointObserver" />
|
||||||
|
|
|
@ -4,51 +4,39 @@
|
||||||
import TrashCan from "carbon-icons-svelte/lib/TrashCan.svelte";
|
import TrashCan from "carbon-icons-svelte/lib/TrashCan.svelte";
|
||||||
import Login from "carbon-icons-svelte/lib/Login.svelte";
|
import Login from "carbon-icons-svelte/lib/Login.svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
|
|
||||||
|
let index = 1;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
Buttons trigger actions in the interface. Use them to submit forms, navigate between pages, or perform specific tasks. Choose from different styles and sizes to match the importance and context of each action.
|
|
||||||
|
|
||||||
## Primary button
|
## Primary button
|
||||||
|
|
||||||
The default button style is primary. This should be used for primary actions.
|
|
||||||
|
|
||||||
<Button>Primary button</Button>
|
<Button>Primary button</Button>
|
||||||
|
|
||||||
## Secondary button
|
## Secondary button
|
||||||
|
|
||||||
Set `kind="secondary"` for secondary actions.
|
|
||||||
|
|
||||||
<Button kind="secondary">Secondary button</Button>
|
<Button kind="secondary">Secondary button</Button>
|
||||||
|
|
||||||
## Tertiary button
|
## Tertiary button
|
||||||
|
|
||||||
Set `kind="tertiary"` for tertiary actions.
|
|
||||||
|
|
||||||
<Button kind="tertiary">Tertiary button</Button>
|
<Button kind="tertiary">Tertiary button</Button>
|
||||||
|
|
||||||
## Ghost button
|
## Ghost button
|
||||||
|
|
||||||
Set `kind="ghost"` for ghost-style buttons.
|
|
||||||
|
|
||||||
<Button kind="ghost">Ghost button</Button>
|
<Button kind="ghost">Ghost button</Button>
|
||||||
|
|
||||||
## Danger button
|
## Danger button
|
||||||
|
|
||||||
Set `kind="danger"` for destructive actions.
|
|
||||||
|
|
||||||
<Button kind="danger">Danger button</Button>
|
<Button kind="danger">Danger button</Button>
|
||||||
|
|
||||||
## Danger tertiary button
|
## Danger tertiary button
|
||||||
|
|
||||||
Set `kind="danger-tertiary"` for less prominent destructive actions.
|
|
||||||
|
|
||||||
<Button kind="danger-tertiary">Danger tertiary button</Button>
|
<Button kind="danger-tertiary">Danger tertiary button</Button>
|
||||||
|
|
||||||
## Danger tertiary, icon-only button
|
## Danger tertiary, icon-only button
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
Provide an <strong>iconDescription</strong> for accessibility. This text will be used as the button's tooltip and screen reader label.
|
You must provide an <strong>iconDescription</strong> for the button tooltip.
|
||||||
</div>
|
</div>
|
||||||
</InlineNotification>
|
</InlineNotification>
|
||||||
|
|
||||||
|
@ -56,21 +44,17 @@ Set `kind="danger-tertiary"` for less prominent destructive actions.
|
||||||
|
|
||||||
## Danger ghost button
|
## Danger ghost button
|
||||||
|
|
||||||
Set `kind="danger-ghost"` for ghost-style destructive actions.
|
|
||||||
|
|
||||||
<Button kind="danger-ghost">Danger ghost button</Button>
|
<Button kind="danger-ghost">Danger ghost button</Button>
|
||||||
|
|
||||||
## Button with icon
|
## Button with icon
|
||||||
|
|
||||||
Add an icon to the button using the `icon` prop.
|
|
||||||
|
|
||||||
<Button icon={Add}>With icon</Button>
|
<Button icon={Add}>With icon</Button>
|
||||||
|
|
||||||
## Icon-only button
|
## Icon-only button
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
Provide an <strong>iconDescription</strong> for accessibility. This text will be used as the button's tooltip and screen reader label.
|
You must provide an <strong>iconDescription</strong> for the button tooltip.
|
||||||
</div>
|
</div>
|
||||||
</InlineNotification>
|
</InlineNotification>
|
||||||
|
|
||||||
|
@ -78,13 +62,11 @@ Add an icon to the button using the `icon` prop.
|
||||||
|
|
||||||
## Icon-only, link button
|
## Icon-only, link button
|
||||||
|
|
||||||
Set `href` to create an icon-only link button.
|
|
||||||
|
|
||||||
<Button iconDescription="Login" icon={Login} href="#" />
|
<Button iconDescription="Login" icon={Login} href="#" />
|
||||||
|
|
||||||
## Icon-only button (custom tooltip position)
|
## Icon-only button (custom tooltip position)
|
||||||
|
|
||||||
Control the tooltip position and alignment with `tooltipPosition` and `tooltipAlignment`.
|
The tooltip position and alignment can be controlled by `tooltipPosition` and `tooltipAlignment`.
|
||||||
|
|
||||||
<Button tooltipPosition="right" tooltipAlignment="end" iconDescription="Tooltip text" icon={Add} />
|
<Button tooltipPosition="right" tooltipAlignment="end" iconDescription="Tooltip text" icon={Add} />
|
||||||
|
|
||||||
|
@ -96,21 +78,19 @@ Set `isSelected` to `true` to enable the selected state for an icon-only, ghost
|
||||||
|
|
||||||
## Link button
|
## Link button
|
||||||
|
|
||||||
Set `href` to render an [anchor element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a) instead of a `button` element.
|
If an `href` value is specified, the component will render an [anchor element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a) instead of a `button` element.
|
||||||
|
|
||||||
<Button href="#">Link button</Button>
|
<Button href="#">Link button</Button>
|
||||||
|
|
||||||
## Link button with icon
|
## Link button with icon
|
||||||
|
|
||||||
Similarly, link buttons can have icons.
|
|
||||||
|
|
||||||
<Button href="#" icon={Add}>Link button with icon</Button>
|
<Button href="#" icon={Add}>Link button with icon</Button>
|
||||||
|
|
||||||
## Custom element
|
## Custom element
|
||||||
|
|
||||||
By default, the `Button` will render either a `button` or `a` element.
|
By default, the `Button` will render either a `button` or `a` element.
|
||||||
|
|
||||||
To render a different element, set `as` to `true` and spread `let:props` to the element.
|
If you need to render a different element, set `as` to `true` and spread `let:props` to the element.
|
||||||
|
|
||||||
<Button as let:props>
|
<Button as let:props>
|
||||||
<p {...props}>Custom element</p>
|
<p {...props}>Custom element</p>
|
||||||
|
@ -118,10 +98,6 @@ To render a different element, set `as` to `true` and spread `let:props` to the
|
||||||
|
|
||||||
## Field size
|
## Field size
|
||||||
|
|
||||||
The default size is "default".
|
|
||||||
|
|
||||||
Set `size="field"` for field-sized buttons.
|
|
||||||
|
|
||||||
<Button size="field">Primary</Button>
|
<Button size="field">Primary</Button>
|
||||||
<Button size="field" kind="secondary">Secondary</Button>
|
<Button size="field" kind="secondary">Secondary</Button>
|
||||||
<Button size="field" kind="tertiary">Tertiary</Button>
|
<Button size="field" kind="tertiary">Tertiary</Button>
|
||||||
|
@ -130,8 +106,6 @@ Set `size="field"` for field-sized buttons.
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Set `size="small"` for small buttons.
|
|
||||||
|
|
||||||
<Button size="small">Primary</Button>
|
<Button size="small">Primary</Button>
|
||||||
<Button size="small" kind="secondary">Secondary</Button>
|
<Button size="small" kind="secondary">Secondary</Button>
|
||||||
<Button size="small" kind="tertiary">Tertiary</Button>
|
<Button size="small" kind="tertiary">Tertiary</Button>
|
||||||
|
@ -140,8 +114,6 @@ Set `size="small"` for small buttons.
|
||||||
|
|
||||||
## Large size
|
## Large size
|
||||||
|
|
||||||
Set `size="lg"` for large buttons.
|
|
||||||
|
|
||||||
<Button size="lg">Primary</Button>
|
<Button size="lg">Primary</Button>
|
||||||
<Button size="lg" kind="secondary">Secondary</Button>
|
<Button size="lg" kind="secondary">Secondary</Button>
|
||||||
<Button size="lg" kind="tertiary">Tertiary</Button>
|
<Button size="lg" kind="tertiary">Tertiary</Button>
|
||||||
|
@ -150,8 +122,6 @@ Set `size="lg"` for large buttons.
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Set `size="xl"` for extra-large buttons.
|
|
||||||
|
|
||||||
<Button size="xl">Primary</Button>
|
<Button size="xl">Primary</Button>
|
||||||
<Button size="xl" kind="secondary">Secondary</Button>
|
<Button size="xl" kind="secondary">Secondary</Button>
|
||||||
<Button size="xl" kind="tertiary">Tertiary</Button>
|
<Button size="xl" kind="tertiary">Tertiary</Button>
|
||||||
|
@ -160,8 +130,6 @@ Set `size="xl"` for extra-large buttons.
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Set `disabled` to disable the button.
|
|
||||||
|
|
||||||
<Button disabled>Disabled button</Button>
|
<Button disabled>Disabled button</Button>
|
||||||
<Button disabled iconDescription="Tooltip text" icon={Add} />
|
<Button disabled iconDescription="Tooltip text" icon={Add} />
|
||||||
|
|
||||||
|
@ -171,7 +139,7 @@ Set `expressive` to `true` to use Carbon's expressive typesetting.
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
Use expressive styles with default, "lg", or "xl" button sizes.
|
Expressive styles only work with the default, "lg", and "xl" button sizes.
|
||||||
</div>
|
</div>
|
||||||
</InlineNotification>
|
</InlineNotification>
|
||||||
|
|
||||||
|
@ -195,8 +163,6 @@ Set `expressive` to `true` to use Carbon's expressive typesetting.
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Set `skeleton` to show a loading state.
|
|
||||||
|
|
||||||
<Button size="xl" skeleton />
|
<Button size="xl" skeleton />
|
||||||
<Button size="lg" skeleton />
|
<Button size="lg" skeleton />
|
||||||
<Button skeleton />
|
<Button skeleton />
|
||||||
|
@ -205,6 +171,8 @@ Set `skeleton` to show a loading state.
|
||||||
|
|
||||||
## Programmatic focus
|
## Programmatic focus
|
||||||
|
|
||||||
Bind to the `ref` prop to access the button element for programmatic focus.
|
Bind to the `ref` prop to access a reference to the underlying button element.
|
||||||
|
|
||||||
|
You can use this reference to programmatically focus the button.
|
||||||
|
|
||||||
<FileSource src="/framed/Button/ProgrammaticFocus" />
|
<FileSource src="/framed/Button/ProgrammaticFocus" />
|
||||||
|
|
|
@ -4,11 +4,9 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
Group related buttons together in a set. Use this component to create consistent spacing and alignment between multiple buttons.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Place buttons side by side in a horizontal layout.
|
Buttons in a button set are juxtaposed by default.
|
||||||
|
|
||||||
<ButtonSet>
|
<ButtonSet>
|
||||||
<Button kind="secondary">Cancel</Button>
|
<Button kind="secondary">Cancel</Button>
|
||||||
|
@ -17,7 +15,7 @@ Place buttons side by side in a horizontal layout.
|
||||||
|
|
||||||
## Stacked
|
## Stacked
|
||||||
|
|
||||||
Set `stacked` to `true` to arrange buttons vertically.
|
Set `stacked` to `true` to use the stacked variant.
|
||||||
|
|
||||||
<ButtonSet stacked>
|
<ButtonSet stacked>
|
||||||
<Button icon={Login}>Log in</Button>
|
<Button icon={Login}>Log in</Button>
|
||||||
|
|
|
@ -3,53 +3,39 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
Checkboxes let users select one or more options from a list. Use them for multiple-choice questions, settings, or to confirm actions.
|
## Default (unchecked)
|
||||||
|
|
||||||
## Default
|
|
||||||
|
|
||||||
Create a checkbox with a label using `labelText`.
|
|
||||||
|
|
||||||
By default, the checkbox is unchecked.
|
|
||||||
|
|
||||||
<Checkbox labelText="Label text" />
|
<Checkbox labelText="Label text" />
|
||||||
|
|
||||||
## Checked
|
## Checked
|
||||||
|
|
||||||
Set `checked` to `true` to pre-select the checkbox.
|
|
||||||
|
|
||||||
<Checkbox labelText="Label text" checked />
|
<Checkbox labelText="Label text" checked />
|
||||||
|
|
||||||
## Indeterminate
|
## Indeterminate
|
||||||
|
|
||||||
Set `indeterminate` to `true` to show a mixed state, typically used in parent checkboxes with some children selected.
|
|
||||||
|
|
||||||
<Checkbox labelText="Label text" indeterminate />
|
<Checkbox labelText="Label text" indeterminate />
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Set `hideLabel` to `true` to visually hide the label while keeping it accessible to screen readers.
|
|
||||||
|
|
||||||
<Checkbox labelText="Label text" hideLabel />
|
<Checkbox labelText="Label text" hideLabel />
|
||||||
|
|
||||||
## Disabled state
|
## Disabled
|
||||||
|
|
||||||
Set `disabled` to `true` to prevent user interaction.
|
|
||||||
|
|
||||||
<Checkbox labelText="Label text" disabled />
|
<Checkbox labelText="Label text" disabled />
|
||||||
|
|
||||||
## Reactive example (bind:checked)
|
## Reactive example (bind:checked)
|
||||||
|
|
||||||
Use two-way binding with `bind:checked` to track the checkbox state.
|
The `checked` prop supports two-way binding.
|
||||||
|
|
||||||
<FileSource src="/framed/Checkbox/CheckboxReactive" />
|
<FileSource src="/framed/Checkbox/CheckboxReactive" />
|
||||||
|
|
||||||
## Reactive example (bind:group)
|
## Reactive example (bind:group)
|
||||||
|
|
||||||
Bind an array of values using `group` to manage multiple checkboxes. This API is inspired by Svelte [group inputs](https://svelte.dev/tutorial/group-inputs).
|
An alternative to `checked` is binding an array of values using `group`. This API in inspired by Svelte [group inputs](https://svelte.dev/tutorial/group-inputs).
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
When using <strong>bind:group</strong>, <strong>bind:checked</strong> only supports one-way binding.
|
If using <strong>bind:group</strong>, <strong>bind:checked</strong> will only support one-way binding.
|
||||||
</div>
|
</div>
|
||||||
</InlineNotification>
|
</InlineNotification>
|
||||||
|
|
||||||
|
@ -57,6 +43,4 @@ Bind an array of values using `group` to manage multiple checkboxes. This API is
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Set `skeleton` to `true` to show a loading state.
|
|
||||||
|
|
||||||
<Checkbox skeleton />
|
<Checkbox skeleton />
|
||||||
|
|
|
@ -3,19 +3,15 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
Clickable tiles create interactive content areas that link to other pages or trigger actions. Use them to group related content and provide clear navigation targets.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a clickable tile with an `href` to link to another page.
|
|
||||||
|
|
||||||
<ClickableTile href="https://www.carbondesignsystem.com/">
|
<ClickableTile href="https://www.carbondesignsystem.com/">
|
||||||
Carbon Design System
|
Carbon Design System
|
||||||
</ClickableTile>
|
</ClickableTile>
|
||||||
|
|
||||||
## Prevent default behavior
|
## Prevent default behavior
|
||||||
|
|
||||||
Handle the `click` event to override the default link behavior. Use `e.preventDefault()` to stop navigation.
|
Use the forwarded `click` event and invoke `e.preventDefault()` to prevent the native link behavior.
|
||||||
|
|
||||||
<ClickableTile
|
<ClickableTile
|
||||||
href="/"
|
href="/"
|
||||||
|
@ -29,16 +25,12 @@ Handle the `click` event to override the default link behavior. Use `e.preventDe
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Set `light` to `true` to use the light color scheme.
|
|
||||||
|
|
||||||
<ClickableTile light href="https://www.carbondesignsystem.com/">
|
<ClickableTile light href="https://www.carbondesignsystem.com/">
|
||||||
Carbon Design System
|
Carbon Design System
|
||||||
</ClickableTile>
|
</ClickableTile>
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Set `disabled` to `true` to prevent interaction.
|
|
||||||
|
|
||||||
<ClickableTile disabled href="https://www.carbondesignsystem.com/">
|
<ClickableTile disabled href="https://www.carbondesignsystem.com/">
|
||||||
Carbon Design System
|
Carbon Design System
|
||||||
</ClickableTile>
|
</ClickableTile>
|
||||||
|
|
|
@ -27,21 +27,20 @@ let comment = `
|
||||||
`
|
`
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
Code snippets display and copy code examples. They support single-line, multi-line, and inline formats with customizable copy and expand functionality.
|
|
||||||
|
|
||||||
This component uses the native, asynchronous [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText) to copy text.
|
This component uses the native, asynchronous [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText) to copy text.
|
||||||
|
|
||||||
|
Please note that the `clipboard.writeText` API is not supported in [IE 11 nor Safari iOS version 13.3 or lower](https://caniuse.com/mdn-api_clipboard_writetext).
|
||||||
|
|
||||||
You can override the default copy functionality with your own implementation. See [Overriding copy functionality](#overriding-copy-functionality).
|
You can override the default copy functionality with your own implementation. See [Overriding copy functionality](#overriding-copy-functionality).
|
||||||
|
|
||||||
## Default
|
|
||||||
|
|
||||||
Display a single-line code snippet by default.
|
## Default (single-line)
|
||||||
|
|
||||||
<CodeSnippet code="npm i carbon-components-svelte" />
|
<CodeSnippet code="npm i carbon-components-svelte" />
|
||||||
|
|
||||||
## Overriding copy functionality
|
## Overriding copy functionality
|
||||||
|
|
||||||
Pass a custom function to the `copy` prop to override the default copy behavior.
|
To override the default copy behavior, pass a custom function to the `copy` prop.
|
||||||
|
|
||||||
In this example, we use the open source module [clipboard-copy](https://github.com/feross/clipboard-copy) to copy the text instead of the default Clipboard API.
|
In this example, we use the open source module [clipboard-copy](https://github.com/feross/clipboard-copy) to copy the text instead of the default Clipboard API.
|
||||||
|
|
||||||
|
@ -49,37 +48,33 @@ In this example, we use the open source module [clipboard-copy](https://github.c
|
||||||
|
|
||||||
## Preventing copy functionality
|
## Preventing copy functionality
|
||||||
|
|
||||||
Pass a no-op function to the `copy` prop to disable copying.
|
To prevent text from being copied entirely, pass a no-op function to the `copy` prop.
|
||||||
|
|
||||||
<CodeSnippet code="npm i carbon-components-svelte" copy={() => {}} />
|
<CodeSnippet code="npm i carbon-components-svelte" copy={() => {}} />
|
||||||
|
|
||||||
## Inline
|
## Inline
|
||||||
|
|
||||||
Set `type="inline"` to display code inline with text.
|
|
||||||
|
|
||||||
<CodeSnippet type="inline" code="rm -rf node_modules/" />
|
<CodeSnippet type="inline" code="rm -rf node_modules/" />
|
||||||
|
|
||||||
## Multi-line
|
## Multi-line
|
||||||
|
|
||||||
Set `type="multi"` to display multiple lines of code with expand/collapse functionality.
|
|
||||||
|
|
||||||
<CodeSnippet type="multi" {code} />
|
<CodeSnippet type="multi" {code} />
|
||||||
|
|
||||||
## Expanded by default
|
## Expanded by default
|
||||||
|
|
||||||
Set `expanded` to `true` to show the full multi-line code snippet.
|
Use the `expanded` prop to control whether the multi-line code snippet is expanded or not.
|
||||||
|
|
||||||
<CodeSnippet type="multi" {code} expanded />
|
<CodeSnippet type="multi" {code} expanded />
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
The multi-line code snippet dispatches "expand" and "collapse" events.
|
The multi-line code snippet also dispatches "expand" and "collapse" events.
|
||||||
|
|
||||||
<FileSource src="/framed/CodeSnippet/CodeSnippetReactive" />
|
<FileSource src="/framed/CodeSnippet/CodeSnippetReactive" />
|
||||||
|
|
||||||
## Custom copy feedback text
|
## Custom copy feedback text
|
||||||
|
|
||||||
Set `feedback` to customize the copy button feedback text.
|
Use the `feedback` prop to override the default copy button feedback text.
|
||||||
|
|
||||||
<CodeSnippet type="multi" {code} feedback="Copied to clipboard" />
|
<CodeSnippet type="multi" {code} feedback="Copied to clipboard" />
|
||||||
|
|
||||||
|
@ -91,25 +86,23 @@ Set `hideCopyButton` to `true` to hide the copy button.
|
||||||
|
|
||||||
## Hidden show more button
|
## Hidden show more button
|
||||||
|
|
||||||
Set `showMoreLess` to `false` to hide the expand/collapse button on multi-line snippets.
|
Only multi-line code snippets have a "Show more" button by default. Set `showMoreLess` to `false` to hide it.
|
||||||
|
|
||||||
<CodeSnippet type="multi" {code} showMoreLess={false} />
|
<CodeSnippet type="multi" {code} showMoreLess={false} />
|
||||||
|
|
||||||
## Hidden copy, show more buttons
|
## Hidden copy, show more buttons
|
||||||
|
|
||||||
Hide both the copy and expand/collapse buttons.
|
|
||||||
|
|
||||||
<CodeSnippet type="multi" {code} hideCopyButton showMoreLess={false} />
|
<CodeSnippet type="multi" {code} hideCopyButton showMoreLess={false} />
|
||||||
|
|
||||||
## Custom show more/less text
|
## Custom show more/less text
|
||||||
|
|
||||||
Set `showMoreText` and `showLessText` to customize the expand/collapse button text.
|
Use the `showMoreText` and `showLessText` props to override the default "Show more" and "Show less" button text.
|
||||||
|
|
||||||
<CodeSnippet type="multi" {code} showMoreText="Expand" showLessText="Collapse" />
|
<CodeSnippet type="multi" {code} showMoreText="Expand" showLessText="Collapse" />
|
||||||
|
|
||||||
## Disabled
|
## Disabled
|
||||||
|
|
||||||
Set `disabled` to `true` to disable interaction. This only applies to `"single"` and `"multi"` types.
|
The `disabled` prop applies only to the `"single"` and `"multi"` code snippet types.
|
||||||
|
|
||||||
<CodeSnippet disabled code="npm i carbon-components-svelte" />
|
<CodeSnippet disabled code="npm i carbon-components-svelte" />
|
||||||
<br />
|
<br />
|
||||||
|
@ -117,34 +110,30 @@ Set `disabled` to `true` to disable interaction. This only applies to `"single"`
|
||||||
|
|
||||||
## Wrapped text
|
## Wrapped text
|
||||||
|
|
||||||
By default, the code snippet preserves text formatting and does not wrap text.
|
`wrapText` only applies to the `"multi"` type.
|
||||||
|
|
||||||
Set `wrapText` to `true` to wrap long lines in multi-line snippets.
|
|
||||||
|
|
||||||
<CodeSnippet wrapText type="multi" code="{comment}" />
|
<CodeSnippet wrapText type="multi" code="{comment}" />
|
||||||
|
|
||||||
## Dynamic multi-line code
|
## Dynamic multi-line code
|
||||||
|
|
||||||
Use the `code` prop instead of the default slot for dynamically updated code.
|
For dynamically updated code, you must use the `code` prop instead of the default slot.
|
||||||
|
|
||||||
<FileSource src="/framed/CodeSnippet/DynamicCodeSnippet" />
|
<FileSource src="/framed/CodeSnippet/DynamicCodeSnippet" />
|
||||||
|
|
||||||
## Hidden multi-line code
|
## Hidden multi-line code
|
||||||
|
|
||||||
The "Show more" button relies on the element's computed height. For hidden content, the button won't appear because the height is `0`.
|
There may be cases where your code snippet is hidden in the DOM. The logic to render the "Show more" button relies on the element's computed height. For hidden content, the button will not appear because the computed height is `0`.
|
||||||
|
|
||||||
Re-render the component to fix this issue.
|
The recommended workaround is to re-render the component. See the example below.
|
||||||
|
|
||||||
<FileSource src="/framed/CodeSnippet/HiddenCodeSnippet" />
|
<FileSource src="/framed/CodeSnippet/HiddenCodeSnippet" />
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Set `skeleton` to `true` to show a loading state. Defaults to `"single"` type.
|
The default skeleton type is `"single"`.
|
||||||
|
|
||||||
<CodeSnippet skeleton />
|
<CodeSnippet skeleton />
|
||||||
|
|
||||||
## Skeleton (multi-line)
|
## Skeleton (multi-line)
|
||||||
|
|
||||||
Set `type="multi"` with `skeleton` to show a multi-line loading state.
|
|
||||||
|
|
||||||
<CodeSnippet type="multi" skeleton />
|
<CodeSnippet type="multi" skeleton />
|
|
@ -3,8 +3,6 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`ComboBox` combines a text input with a dropdown menu to let users select from predefined options or enter custom values. It supports filtering, custom item rendering, and various states.
|
|
||||||
|
|
||||||
`ComboBox` is keyed for performance reasons.
|
`ComboBox` is keyed for performance reasons.
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
|
@ -13,8 +11,6 @@
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a combobox with a title and placeholder text. Each item requires a unique `id` and `text`.
|
|
||||||
|
|
||||||
<ComboBox titleText="Contact" placeholder="Select contact method"
|
<ComboBox titleText="Contact" placeholder="Select contact method"
|
||||||
items={[
|
items={[
|
||||||
{id: "0", text: "Slack"},
|
{id: "0", text: "Slack"},
|
||||||
|
@ -24,25 +20,12 @@ items={[
|
||||||
|
|
||||||
## Custom slot
|
## Custom slot
|
||||||
|
|
||||||
Override the default slot to customize how each item displays. Access the item and index through the `let:` directive.
|
Override the default slot to customize the display of each item. Access the item and index through the `let:` directive.
|
||||||
|
|
||||||
<FileSource src="/framed/ComboBox/ComboBoxSlot" />
|
<FileSource src="/framed/ComboBox/ComboBoxSlot" />
|
||||||
|
|
||||||
## Hidden label
|
|
||||||
|
|
||||||
Set `hideLabel` to `true` to visually hide the label while keeping it accessible to screen readers.
|
|
||||||
|
|
||||||
<ComboBox hideLabel titleText="Hidden Label" placeholder="Select contact method"
|
|
||||||
items={[
|
|
||||||
{id: "0", text: "Slack"},
|
|
||||||
{id: "1", text: "Email"},
|
|
||||||
{id: "2", text: "Fax"}
|
|
||||||
]} />
|
|
||||||
|
|
||||||
## Initial selected id
|
## Initial selected id
|
||||||
|
|
||||||
Set `selectedId` to pre-select an item when the combobox loads.
|
|
||||||
|
|
||||||
<ComboBox titleText="Contact" placeholder="Select contact method"
|
<ComboBox titleText="Contact" placeholder="Select contact method"
|
||||||
selectedId="1"
|
selectedId="1"
|
||||||
items={[
|
items={[
|
||||||
|
@ -53,39 +36,33 @@ items={[
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
See how the combobox responds to user input and selection changes.
|
|
||||||
|
|
||||||
<FileSource src="/framed/ComboBox/ReactiveComboBox" />
|
<FileSource src="/framed/ComboBox/ReactiveComboBox" />
|
||||||
|
|
||||||
## Clear selection
|
## Clear selection
|
||||||
|
|
||||||
Use `bind:this` to access the component instance and call `ComboBox.clear()` to programmatically clear the selection.
|
To programmatically clear the selection, access the component instance using the [bind:this](https://svelte.dev/docs#bind_element) directive and invoke the `ComboBox.clear()` accessor.
|
||||||
|
|
||||||
Set `focus: false` in the method options to prevent re-focusing the input.
|
Specify `focus: false` in the method options to avoid re-focusing the input.
|
||||||
|
|
||||||
<FileSource src="/framed/ComboBox/ComboBoxClear" />
|
<FileSource src="/framed/ComboBox/ComboBoxClear" />
|
||||||
|
|
||||||
## Multiple combo boxes
|
## Multiple combo boxes
|
||||||
|
|
||||||
See how to manage multiple comboboxes in a form.
|
|
||||||
|
|
||||||
<FileSource src="/framed/ComboBox/MultipleComboBox" />
|
<FileSource src="/framed/ComboBox/MultipleComboBox" />
|
||||||
|
|
||||||
## Filterable
|
## Filterable
|
||||||
|
|
||||||
Enable filtering to let users search through the options.
|
|
||||||
|
|
||||||
<FileSource src="/framed/ComboBox/FilterableComboBox" />
|
<FileSource src="/framed/ComboBox/FilterableComboBox" />
|
||||||
|
|
||||||
## Filterable with custom label
|
## Filterable with custom label
|
||||||
|
|
||||||
Set `itemToString` to customize how items display in the filterable combobox.
|
Combine a custom label `itemToString` with the filterable option (e.g., internationalization).
|
||||||
|
|
||||||
<FileSource src="/framed/ComboBox/FilterableComboBoxCustomLabel" />
|
<FileSource src="/framed/ComboBox/FilterableComboBoxCustomLabel" />
|
||||||
|
|
||||||
## Top direction
|
## Top direction
|
||||||
|
|
||||||
Set `direction` to `"top"` to make the dropdown menu appear above the input.
|
Set `direction` to `"top"` for the combobox dropdown menu to appear above the input.
|
||||||
|
|
||||||
<ComboBox direction="top" titleText="Contact" placeholder="Select contact method"
|
<ComboBox direction="top" titleText="Contact" placeholder="Select contact method"
|
||||||
items={[
|
items={[
|
||||||
|
@ -96,8 +73,6 @@ items={[
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Set `light` to `true` to use the light color scheme.
|
|
||||||
|
|
||||||
<ComboBox light titleText="Contact" placeholder="Select contact method"
|
<ComboBox light titleText="Contact" placeholder="Select contact method"
|
||||||
items={[
|
items={[
|
||||||
{id: "0", text: "Slack"},
|
{id: "0", text: "Slack"},
|
||||||
|
@ -107,8 +82,6 @@ items={[
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Set `size` to `"xl"` for an extra-large combobox.
|
|
||||||
|
|
||||||
<ComboBox titleText="Contact" placeholder="Select contact method"
|
<ComboBox titleText="Contact" placeholder="Select contact method"
|
||||||
size="xl"
|
size="xl"
|
||||||
items={[
|
items={[
|
||||||
|
@ -119,8 +92,6 @@ items={[
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Set `size` to `"sm"` for a small combobox.
|
|
||||||
|
|
||||||
<ComboBox titleText="Contact" placeholder="Select contact method"
|
<ComboBox titleText="Contact" placeholder="Select contact method"
|
||||||
size="sm"
|
size="sm"
|
||||||
items={[
|
items={[
|
||||||
|
@ -131,8 +102,6 @@ items={[
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Set `invalid` to `true` and provide `invalidText` to show an error message.
|
|
||||||
|
|
||||||
<ComboBox invalid invalidText="Secondary contact method must be different from the primary contact" titleText="Contact" placeholder="Select contact method"
|
<ComboBox invalid invalidText="Secondary contact method must be different from the primary contact" titleText="Contact" placeholder="Select contact method"
|
||||||
items={[
|
items={[
|
||||||
{id: "0", text: "Slack"},
|
{id: "0", text: "Slack"},
|
||||||
|
@ -142,8 +111,6 @@ items={[
|
||||||
|
|
||||||
## Warning state
|
## Warning state
|
||||||
|
|
||||||
Set `warn` to `true` and provide `warnText` to show a warning message.
|
|
||||||
|
|
||||||
<ComboBox warn warnText="This contact method is not associated with your account" titleText="Contact" placeholder="Select contact method"
|
<ComboBox warn warnText="This contact method is not associated with your account" titleText="Contact" placeholder="Select contact method"
|
||||||
items={[
|
items={[
|
||||||
{id: "0", text: "Slack"},
|
{id: "0", text: "Slack"},
|
||||||
|
@ -153,8 +120,6 @@ items={[
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Set `disabled` to `true` to prevent interaction with the combobox.
|
|
||||||
|
|
||||||
<ComboBox disabled titleText="Contact" placeholder="Select contact method"
|
<ComboBox disabled titleText="Contact" placeholder="Select contact method"
|
||||||
items={[
|
items={[
|
||||||
{id: "0", text: "Slack"},
|
{id: "0", text: "Slack"},
|
||||||
|
@ -164,7 +129,7 @@ items={[
|
||||||
|
|
||||||
## Disabled items
|
## Disabled items
|
||||||
|
|
||||||
Set `disabled: true` in an item object to disable specific options.
|
Use the `disabled` property in the `items` prop to disable specific items.
|
||||||
|
|
||||||
<ComboBox
|
<ComboBox
|
||||||
titleText="Contact"
|
titleText="Contact"
|
||||||
|
|
|
@ -6,16 +6,12 @@ components: ["ComposedModal", "ModalHeader", "ModalBody", "ModalFooter"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`ComposedModal` lets you build custom modals by combining `ModalHeader`, `ModalBody`, and `ModalFooter` components. Use it to create focused interactions that require user attention or input.
|
|
||||||
|
|
||||||
## Composed modal
|
## Composed modal
|
||||||
|
|
||||||
Create a modal with a header, body, and footer. Each section can be customized independently.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ComposedModal" />
|
<FileSource src="/framed/Modal/ComposedModal" />
|
||||||
|
|
||||||
## Multiple secondary buttons
|
## Multiple secondary buttons
|
||||||
|
|
||||||
Set `secondaryButtons` in `ModalFooter` to create a 3-button modal. This prop replaces `secondaryButtonText` and takes a tuple of two button configurations.
|
Use the `secondaryButtons` prop in `ModalFooter` to render two secondary buttons for a "3-button modal". The prop is a 2-tuple type that supersedes `secondaryButtonText`.
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/3ButtonComposedModal" />
|
<FileSource src="/framed/Modal/3ButtonComposedModal" />
|
|
@ -9,12 +9,8 @@ components: ["ContentSwitcher", "Switch"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`ContentSwitcher` lets users switch between different views or sections of content. Use it to organize related content into distinct categories or states.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a content switcher with `Switch` components. Each switch needs a `text` prop.
|
|
||||||
|
|
||||||
<ContentSwitcher>
|
<ContentSwitcher>
|
||||||
<Switch text="Latest news" />
|
<Switch text="Latest news" />
|
||||||
<Switch text="Trending" />
|
<Switch text="Trending" />
|
||||||
|
@ -22,8 +18,6 @@ Create a content switcher with `Switch` components. Each switch needs a `text` p
|
||||||
|
|
||||||
## Initial selected index
|
## Initial selected index
|
||||||
|
|
||||||
Set `selectedIndex` to pre-select a switch when the content switcher loads.
|
|
||||||
|
|
||||||
<ContentSwitcher selectedIndex={1}>
|
<ContentSwitcher selectedIndex={1}>
|
||||||
<Switch text="Latest news" />
|
<Switch text="Latest news" />
|
||||||
<Switch text="Trending" />
|
<Switch text="Trending" />
|
||||||
|
@ -32,16 +26,10 @@ Set `selectedIndex` to pre-select a switch when the content switcher loads.
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
This example demonstrates how to programmatically control the content switcher using
|
|
||||||
the `bind:selectedIndex` directive. Update the selected index based on user
|
|
||||||
interactions or application state.
|
|
||||||
|
|
||||||
<FileSource src="/framed/ContentSwitcher/ContentSwitcherReactive" />
|
<FileSource src="/framed/ContentSwitcher/ContentSwitcherReactive" />
|
||||||
|
|
||||||
## Custom switch slot
|
## Custom switch slot
|
||||||
|
|
||||||
Override the default slot in `Switch` to customize how each option displays.
|
|
||||||
|
|
||||||
<ContentSwitcher>
|
<ContentSwitcher>
|
||||||
<Switch>
|
<Switch>
|
||||||
<div style="display: flex; align-items: center;">
|
<div style="display: flex; align-items: center;">
|
||||||
|
@ -57,8 +45,6 @@ Override the default slot in `Switch` to customize how each option displays.
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Set `size` to `"xl"` for an extra-large content switcher.
|
|
||||||
|
|
||||||
<ContentSwitcher size="xl">
|
<ContentSwitcher size="xl">
|
||||||
<Switch text="All" />
|
<Switch text="All" />
|
||||||
<Switch text="Archived" />
|
<Switch text="Archived" />
|
||||||
|
@ -66,8 +52,6 @@ Set `size` to `"xl"` for an extra-large content switcher.
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Set `size` to `"sm"` for a small content switcher.
|
|
||||||
|
|
||||||
<ContentSwitcher size="sm">
|
<ContentSwitcher size="sm">
|
||||||
<Switch text="All" />
|
<Switch text="All" />
|
||||||
<Switch text="Archived" />
|
<Switch text="Archived" />
|
||||||
|
@ -75,8 +59,6 @@ Set `size` to `"sm"` for a small content switcher.
|
||||||
|
|
||||||
## Disabled
|
## Disabled
|
||||||
|
|
||||||
Set `disabled` to `true` on individual switches to prevent interaction.
|
|
||||||
|
|
||||||
<ContentSwitcher>
|
<ContentSwitcher>
|
||||||
<Switch disabled text="All" />
|
<Switch disabled text="All" />
|
||||||
<Switch disabled text="Archived" />
|
<Switch disabled text="Archived" />
|
||||||
|
|
|
@ -6,32 +6,26 @@ components: ["ContextMenu", "ContextMenuGroup", "ContextMenuRadioGroup", "Contex
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`ContextMenu` displays a menu when users right-click. Use it to provide quick access to contextual actions or options.
|
|
||||||
|
|
||||||
In the examples, right click anywhere within the iframe.
|
In the examples, right click anywhere within the iframe.
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
The context menu appears when right-clicking anywhere in the window. Use `ContextMenuOption` for menu items and `ContextMenuDivider` for visual separation.
|
By default, the context menu will trigger when right clicking anywhere in the `window`.
|
||||||
|
|
||||||
<FileSource src="/framed/ContextMenu/ContextMenu" />
|
<FileSource src="/framed/ContextMenu/ContextMenu" />
|
||||||
|
|
||||||
## Custom target
|
## Custom target
|
||||||
|
|
||||||
By default, the context menu will trigger when right clicking anywhere in the `window`.
|
Specify a custom `HTMLElement` using the `target` prop.
|
||||||
|
|
||||||
Set `target` to specify which element triggers the context menu.
|
|
||||||
|
|
||||||
<FileSource src="/framed/ContextMenu/ContextMenuTarget" />
|
<FileSource src="/framed/ContextMenu/ContextMenuTarget" />
|
||||||
|
|
||||||
## Multiple targets
|
## Multiple targets
|
||||||
|
|
||||||
Set `target` to an array of elements to trigger the context menu from multiple sources.
|
The `target` prop also accepts an array of elements.
|
||||||
|
|
||||||
<FileSource src="/framed/ContextMenu/ContextMenuTargets" />
|
<FileSource src="/framed/ContextMenu/ContextMenuTargets" />
|
||||||
|
|
||||||
## Radio groups
|
## Radio groups
|
||||||
|
|
||||||
Use `ContextMenuGroup` and `ContextMenuRadioGroup` to organize related options and create radio button selections.
|
|
||||||
|
|
||||||
<FileSource src="/framed/ContextMenu/ContextMenuGroups" />
|
<FileSource src="/framed/ContextMenu/ContextMenuGroups" />
|
|
@ -3,32 +3,28 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`CopyButton` lets users copy text to their clipboard with a single click. Use it to provide quick access to code snippets, links, or other text content.
|
This component uses the native, asynchronous [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText) to copy text.
|
||||||
|
|
||||||
This component uses the native [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText) to copy text. Override the default copy functionality with your own implementation. See [Overriding copy functionality](#overriding-copy-functionality).
|
You can override the default copy functionality with your own implementation. See [Overriding copy functionality](#overriding-copy-functionality).
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a copy button with the `text` prop to specify what to copy.
|
|
||||||
|
|
||||||
<CopyButton text="Carbon svelte" />
|
<CopyButton text="Carbon svelte" />
|
||||||
|
|
||||||
## Custom feedback text
|
## Custom feedback text
|
||||||
|
|
||||||
Set `feedback` to customize the message shown after copying.
|
|
||||||
|
|
||||||
<CopyButton text="Carbon svelte" feedback="Copied to clipboard" />
|
<CopyButton text="Carbon svelte" feedback="Copied to clipboard" />
|
||||||
|
|
||||||
## Overriding copy functionality
|
## Overriding copy functionality
|
||||||
|
|
||||||
Pass a custom function to the `copy` prop to override the default copy behavior.
|
To override the default copy behavior, pass a custom function to the `copy` prop.
|
||||||
|
|
||||||
This example uses the NPM package [clipboard-copy](https://github.com/feross/clipboard-copy) to copy the text instead of the default Clipboard API.
|
In this example, we use the open source module [clipboard-copy](https://github.com/feross/clipboard-copy) to copy the text instead of the default Clipboard API.
|
||||||
|
|
||||||
<FileSource src="/framed/CopyButton/CopyButtonOverride" />
|
<FileSource src="/framed/CopyButton/CopyButtonOverride" />
|
||||||
|
|
||||||
## Preventing copy functionality
|
## Preventing copy functionality
|
||||||
|
|
||||||
Pass a no-op function to the `copy` prop to disable copying.
|
To prevent text from being copied entirely, pass a no-op function to the `copy` prop.
|
||||||
|
|
||||||
<CopyButton text="This text should not be copied" copy={() => {}} />
|
<CopyButton text="This text should not be copied" copy={() => {}} />
|
|
@ -8,20 +8,21 @@ components: ["DataTable", "Pagination","Toolbar", "ToolbarContent", "ToolbarSear
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`DataTable` displays structured data in a tabular format. Use it to present large datasets with features like sorting, filtering, pagination, and row selection.
|
`DataTable` is keyed for performance reasons.
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">Every <code>headers</code> object must have a unique "key" property.</div>
|
||||||
This component is keyed for performance.
|
</InlineNotification>
|
||||||
|
|
||||||
Every <strong>headers</strong> object must have a unique "key" property.
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">Every <strong>rows</strong> object must have a unique "id" property.</div>
|
<div class="body-short-01">Every <code>rows</code> object must have a unique "id" property.</div>
|
||||||
</div>
|
|
||||||
</InlineNotification>
|
</InlineNotification>
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic table by providing `headers` and `rows` data. Match the `key` in headers with the corresponding property in rows.
|
The key value in `headers` corresponds to the key value defined in `rows`.
|
||||||
|
|
||||||
|
For example, the header key `"name"` will use the value of `rows[index].name`.
|
||||||
|
|
||||||
<DataTable
|
<DataTable
|
||||||
headers="{[
|
headers="{[
|
||||||
|
@ -78,7 +79,9 @@ Create a basic table by providing `headers` and `rows` data. Match the `key` in
|
||||||
|
|
||||||
## Slotted cells
|
## Slotted cells
|
||||||
|
|
||||||
Use the `"cell"` slot to customize cell content. Access row and cell data through `let:row` and `let:cell` directives. Use `"cell-header"` slot for header cells.
|
Use the `"cell"` slot to control the display value per table cell. Individual row and cell data are provided through the `let:row` and `let:cell` directives.
|
||||||
|
|
||||||
|
The slot name for the table header cells is `"cell-header"`.
|
||||||
|
|
||||||
<DataTable
|
<DataTable
|
||||||
headers="{[
|
headers="{[
|
||||||
|
@ -150,8 +153,6 @@ Use the `"cell"` slot to customize cell content. Access row and cell data throug
|
||||||
|
|
||||||
## With title, description
|
## With title, description
|
||||||
|
|
||||||
Add a title and description to provide context for the table data.
|
|
||||||
|
|
||||||
<DataTable title="Load balancers" description="Your organization's active load balancers."
|
<DataTable title="Load balancers" description="Your organization's active load balancers."
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -207,7 +208,7 @@ Add a title and description to provide context for the table data.
|
||||||
|
|
||||||
## Slottable title, description
|
## Slottable title, description
|
||||||
|
|
||||||
Use slots to customize the title and description content.
|
The `title` and `description` props are slottable.
|
||||||
|
|
||||||
<DataTable
|
<DataTable
|
||||||
headers="{[
|
headers="{[
|
||||||
|
@ -269,7 +270,7 @@ Use slots to customize the title and description content.
|
||||||
|
|
||||||
## Static width
|
## Static width
|
||||||
|
|
||||||
Set `useStaticWidth` to `true` to render the table with an auto width instead of 100%.
|
Set `useStaticWidth` to `true` to render the table with a width of "auto" instead of "100%".
|
||||||
|
|
||||||
<DataTable useStaticWidth
|
<DataTable useStaticWidth
|
||||||
title="Load balancers" description="Your organization's active load balancers."
|
title="Load balancers" description="Your organization's active load balancers."
|
||||||
|
@ -327,7 +328,9 @@ title="Load balancers" description="Your organization's active load balancers."
|
||||||
|
|
||||||
## Custom column widths
|
## Custom column widths
|
||||||
|
|
||||||
Specify `width` or `minWidth` in the `headers` object to set column dimensions. This applies a fixed table layout.
|
Specify a `width` or `minWidth` property in the `headers` object to customize the width of each column.
|
||||||
|
|
||||||
|
A [table-layout: fixed](https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout#values) rule will be applied to the `table` element when using custom widths.
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast kind="warning" title="Note:" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast kind="warning" title="Note:" hideCloseButton>
|
||||||
<div class="body-short-01">Custom column widths do not work with a <a class="bx--link" href="#sticky-header">sticky header</a>.</div>
|
<div class="body-short-01">Custom column widths do not work with a <a class="bx--link" href="#sticky-header">sticky header</a>.</div>
|
||||||
|
@ -337,7 +340,9 @@ Specify `width` or `minWidth` in the `headers` object to set column dimensions.
|
||||||
|
|
||||||
## Sticky header
|
## Sticky header
|
||||||
|
|
||||||
Set `stickyHeader` to `true` to fix the header in place. This adds a maximum height to force scrolling.
|
Set `stickyHeader` to `true` for the header to be fixed in place.
|
||||||
|
|
||||||
|
A maximum height will applied to the datatable to force a scrollbar.
|
||||||
|
|
||||||
<DataTable
|
<DataTable
|
||||||
stickyHeader
|
stickyHeader
|
||||||
|
@ -358,8 +363,6 @@ Set `stickyHeader` to `true` to fix the header in place. This adds a maximum hei
|
||||||
|
|
||||||
## With toolbar
|
## With toolbar
|
||||||
|
|
||||||
Add a toolbar with search, menu, and actions above the table.
|
|
||||||
|
|
||||||
<DataTable title="Load balancers" description="Your organization's active load balancers."
|
<DataTable title="Load balancers" description="Your organization's active load balancers."
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -429,8 +432,6 @@ Add a toolbar with search, menu, and actions above the table.
|
||||||
|
|
||||||
## With toolbar (small size)
|
## With toolbar (small size)
|
||||||
|
|
||||||
Use `size="short"` to create a more compact table with a small toolbar.
|
|
||||||
|
|
||||||
<DataTable size="short" title="Load balancers" description="Your organization's active load balancers."
|
<DataTable size="short" title="Load balancers" description="Your organization's active load balancers."
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -498,22 +499,24 @@ Use `size="short"` to create a more compact table with a small toolbar.
|
||||||
|
|
||||||
## Filterable
|
## Filterable
|
||||||
|
|
||||||
Set `shouldFilterRows` to `true` to enable client-side filtering. The default filter performs string comparisons on cell values.
|
By default, `ToolbarSearch` will not filter `DataTable` rows.
|
||||||
|
|
||||||
For pagination with filtering, bind to `filteredRowIds` and pass its length to `Pagination`'s `totalItems`.
|
Set `shouldFilterRows` to `true` to enable client-side filtering. The default filtering performs a basic string comparison on cell values that are of a string or a number type.
|
||||||
|
|
||||||
|
To use filtering with pagination, bind to the `filteredRowIds` prop and pass its length to `totalItems` in `Pagination`.
|
||||||
|
|
||||||
|
Note that in-memory filtering is not optimal for large data sets, where you might consider using server-side search.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableFilterable" />
|
<FileSource src="/framed/DataTable/DataTableFilterable" />
|
||||||
|
|
||||||
## Filterable (custom)
|
## Filterable (custom)
|
||||||
|
|
||||||
Pass a function to `shouldFilterRows` to implement custom filtering logic.
|
`shouldFilterRows` also accepts a function and passes it the current row and search value. It expects the function to return a boolean.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableFilterCustom" />
|
<FileSource src="/framed/DataTable/DataTableFilterCustom" />
|
||||||
|
|
||||||
## Zebra stripes
|
## Zebra stripes
|
||||||
|
|
||||||
Set `zebra` to `true` to add alternating row colors.
|
|
||||||
|
|
||||||
<DataTable zebra
|
<DataTable zebra
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -569,8 +572,6 @@ Set `zebra` to `true` to add alternating row colors.
|
||||||
|
|
||||||
## Tall rows
|
## Tall rows
|
||||||
|
|
||||||
Set `size="tall"` for increased row height.
|
|
||||||
|
|
||||||
<DataTable size="tall"
|
<DataTable size="tall"
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -626,8 +627,6 @@ Set `size="tall"` for increased row height.
|
||||||
|
|
||||||
## Medium rows
|
## Medium rows
|
||||||
|
|
||||||
Set `size="medium"` for standard row height.
|
|
||||||
|
|
||||||
<DataTable size="medium"
|
<DataTable size="medium"
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -683,8 +682,6 @@ Set `size="medium"` for standard row height.
|
||||||
|
|
||||||
## Short rows
|
## Short rows
|
||||||
|
|
||||||
Set `size="short"` for compact row height.
|
|
||||||
|
|
||||||
<DataTable size="short"
|
<DataTable size="short"
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -740,8 +737,6 @@ Set `size="short"` for compact row height.
|
||||||
|
|
||||||
## Compact rows
|
## Compact rows
|
||||||
|
|
||||||
Set `size="compact"` for minimal row height.
|
|
||||||
|
|
||||||
<DataTable size="compact"
|
<DataTable size="compact"
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -797,7 +792,11 @@ Set `size="compact"` for minimal row height.
|
||||||
|
|
||||||
## Sortable
|
## Sortable
|
||||||
|
|
||||||
Set `sortable` to `true` to enable column sorting. Disable sorting on specific columns by setting `sort: false` in the header object.
|
Set `sortable` to `true` to enable table column sorting.
|
||||||
|
|
||||||
|
To disable sorting on a specific column, set `sort` to `false` in the header object passed to the `headers` prop.
|
||||||
|
|
||||||
|
In the example below, the "Protocol" column is not sortable.
|
||||||
|
|
||||||
<DataTable sortable
|
<DataTable sortable
|
||||||
headers="{[
|
headers="{[
|
||||||
|
@ -854,14 +853,12 @@ Set `sortable` to `true` to enable column sorting. Disable sorting on specific c
|
||||||
|
|
||||||
## Sortable with pagination
|
## Sortable with pagination
|
||||||
|
|
||||||
Bind to `pageSize` and `page` props of `Pagination` and pass them to `DataTable`.
|
For pagination, bind to the `pageSize` and `page` props of `Pagination` and pass their values to `DataTable`.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTablePagination" />
|
<FileSource src="/framed/DataTable/DataTablePagination" />
|
||||||
|
|
||||||
## Sortable with custom display and sort methods
|
## Sortable with custom display and sort methods
|
||||||
|
|
||||||
Use `display` and `sort` functions in header objects to customize cell rendering and sorting.
|
|
||||||
|
|
||||||
<DataTable sortable title="Load balancers" description="Your organization's active load balancers."
|
<DataTable sortable title="Load balancers" description="Your organization's active load balancers."
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -929,8 +926,6 @@ Use `display` and `sort` functions in header objects to customize cell rendering
|
||||||
|
|
||||||
## Sortable with nested object values
|
## Sortable with nested object values
|
||||||
|
|
||||||
Access nested object properties using dot notation in the header key.
|
|
||||||
|
|
||||||
<DataTable sortable title="Load balancers" description="Your organization's active load balancers."
|
<DataTable sortable title="Load balancers" description="Your organization's active load balancers."
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -1010,61 +1005,83 @@ Access nested object properties using dot notation in the header key.
|
||||||
|
|
||||||
## Programmatic sorting
|
## Programmatic sorting
|
||||||
|
|
||||||
Use `sortKey` and `sortDirection` props to control sorting programmatically. Set `sortKey` to a valid header key and `sortDirection` to "none", "ascending", or "descending".
|
Use the reactive `sortKey` and `sortDirection` props for programmatic sorting.
|
||||||
|
|
||||||
|
By default, the table is not sorted by a specific key. The `sortKey` value must be a valid `key` specified in the `headers` object.
|
||||||
|
|
||||||
|
Possible values for `sortDirection` include `"none"` or `"ascending"` or `"descending"`.
|
||||||
|
|
||||||
|
Setting `sortKey` to `null` and `sortDirection` to `"none"` should reset the table rows to their initial order.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableProgrammaticSorting" />
|
<FileSource src="/framed/DataTable/DataTableProgrammaticSorting" />
|
||||||
|
|
||||||
## Empty column with overflow menu
|
## Empty column with overflow menu
|
||||||
|
|
||||||
Set `empty: true` in a header object to create an empty column. Use this for overflow menus without a header.
|
Some use cases require an empty column in the table body without a corresponding table header.
|
||||||
|
|
||||||
|
For an object in the `headers` array, set `empty` to `true` to render an empty column.
|
||||||
|
|
||||||
|
In the following example, each row in the sortable data table has an overflow menu. There isn't a separate, useless table header column for the overflow menu.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableAppendColumns" />
|
<FileSource src="/framed/DataTable/DataTableAppendColumns" />
|
||||||
|
|
||||||
## Selectable rows (checkbox)
|
## Selectable rows (checkbox)
|
||||||
|
|
||||||
Set `selectable` to `true` for multi-select functionality. Bind to `selectedRowIds` to track selections. Use `inputName` to customize checkbox names.
|
Set `selectable` to `true` for rows to be multi-selectable.
|
||||||
|
|
||||||
|
Bind to `selectedRowIds` to get the ids of the selected rows.
|
||||||
|
|
||||||
|
To customize the `input` name for the checkbox, use the `inputName` prop.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/SelectableDataTable" />
|
<FileSource src="/framed/DataTable/SelectableDataTable" />
|
||||||
|
|
||||||
## Batch selection
|
## Batch selection
|
||||||
|
|
||||||
Set `batchSelection` to `true` to add a checkbox for selecting all rows. The checkbox shows an indeterminate state when some rows are selected.
|
To enable batch selection, set `batchSelection` to `true`.
|
||||||
|
|
||||||
|
This checkbox is used to select all rows. It enters an indeterminate state when some rows are selected.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableBatchSelection" />
|
<FileSource src="/framed/DataTable/DataTableBatchSelection" />
|
||||||
|
|
||||||
## Batch selection with initial selected rows
|
## Batch selection with initial selected rows
|
||||||
|
|
||||||
Use `selectedRowIds` to specify initially selected rows.
|
Use the `selectedRowIds` prop to specify which rows should be selected.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableBatchSelectionInitial" />
|
<FileSource src="/framed/DataTable/DataTableBatchSelectionInitial" />
|
||||||
|
|
||||||
## Batch selection with batch actions toolbar
|
## Batch selection with batch actions toolbar
|
||||||
|
|
||||||
Add a toolbar for batch actions when rows are selected.
|
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableBatchSelectionToolbar" />
|
<FileSource src="/framed/DataTable/DataTableBatchSelectionToolbar" />
|
||||||
|
|
||||||
## Batch selection with controlled toolbar
|
## Batch selection with controlled toolbar
|
||||||
|
|
||||||
Control the batch actions toolbar with the `active` prop. Prevent default cancel behavior in the `on:cancel` event.
|
By default, `ToolbarBatchActions` is activated if one or more rows is selected. Clicking "Cancel" will deactivate it.
|
||||||
|
|
||||||
|
Use the `active` prop to control the toolbar. Note that it will still activate if one or more rows are selected.
|
||||||
|
|
||||||
|
You can prevent the default "Cancel" behavior in the dispatched `on:cancel` event.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableBatchSelectionToolbarControlled" />
|
<FileSource src="/framed/DataTable/DataTableBatchSelectionToolbarControlled" />
|
||||||
|
|
||||||
## Selectable rows (radio)
|
## Selectable rows (radio)
|
||||||
|
|
||||||
Set `radio` to `true` for single-row selection. Bind to `selectedRowIds` to track the selected row. Use `inputName` to customize radio button names.
|
Set `radio` to `true` for only one row to be selected at a time.
|
||||||
|
|
||||||
|
Bind to `selectedRowIds` to get the ids of the selected rows. Because it's radio selection, `selectedRowIds` will only contain one id.
|
||||||
|
|
||||||
|
To customize the `input` name for the radio button, use the `inputName` prop.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/RadioSelectableDataTable" />
|
<FileSource src="/framed/DataTable/RadioSelectableDataTable" />
|
||||||
|
|
||||||
## Non-selectable rows
|
## Non-selectable rows
|
||||||
|
|
||||||
Use `nonSelectableRowIds` to prevent selection of specific rows.
|
Use `nonSelectableRowIds` to specify the ids for rows that should not be selectable.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableNonSelectableRows" />
|
<FileSource src="/framed/DataTable/DataTableNonSelectableRows" />
|
||||||
|
|
||||||
## Expandable rows
|
## Expandable rows
|
||||||
|
|
||||||
Set `expandable` to `true` to make rows expandable. Use the `expanded-row` slot to customize expanded content.
|
Set `expandable` to `true` for rows to be expandable.
|
||||||
|
|
||||||
<DataTable expandable
|
<DataTable expandable
|
||||||
headers="{[
|
headers="{[
|
||||||
|
@ -1125,20 +1142,16 @@ Set `expandable` to `true` to make rows expandable. Use the `expanded-row` slot
|
||||||
|
|
||||||
## Non-expandable rows
|
## Non-expandable rows
|
||||||
|
|
||||||
Use `nonExpandableRowIds` to prevent expansion of specific rows.
|
Use `nonExpandableRowIds` to specify the ids for rows that should not be expandable.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableNonExpandableRows" />
|
<FileSource src="/framed/DataTable/DataTableNonExpandableRows" />
|
||||||
|
|
||||||
## Expandable (zebra styles)
|
## Expandable (zebra styles)
|
||||||
|
|
||||||
Combine expandable rows with zebra striping.
|
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableExpandableZebra" />
|
<FileSource src="/framed/DataTable/DataTableExpandableZebra" />
|
||||||
|
|
||||||
## Expandable (compact size)
|
## Expandable (compact size)
|
||||||
|
|
||||||
Set `size="compact"` for expandable rows with minimal height.
|
|
||||||
|
|
||||||
<DataTable size="compact" expandable
|
<DataTable size="compact" expandable
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -1198,8 +1211,6 @@ Set `size="compact"` for expandable rows with minimal height.
|
||||||
|
|
||||||
## Expandable (short size)
|
## Expandable (short size)
|
||||||
|
|
||||||
Set `size="short"` for expandable rows with compact height.
|
|
||||||
|
|
||||||
<DataTable size="short" expandable
|
<DataTable size="short" expandable
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -1259,8 +1270,6 @@ Set `size="short"` for expandable rows with compact height.
|
||||||
|
|
||||||
## Expandable (tall size)
|
## Expandable (tall size)
|
||||||
|
|
||||||
Set `size="tall"` for expandable rows with increased height.
|
|
||||||
|
|
||||||
<DataTable size="tall" expandable
|
<DataTable size="tall" expandable
|
||||||
headers="{[
|
headers="{[
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
|
@ -1320,7 +1329,7 @@ Set `size="tall"` for expandable rows with increased height.
|
||||||
|
|
||||||
## Batch expansion
|
## Batch expansion
|
||||||
|
|
||||||
Set `batchExpansion` to `true` to expand and collapse all rows at once.
|
Set `batchExpansion` to `true` for the ability to expand and collapse all rows at once.
|
||||||
|
|
||||||
<DataTable batchExpansion
|
<DataTable batchExpansion
|
||||||
headers="{[
|
headers="{[
|
||||||
|
@ -1381,54 +1390,42 @@ Set `batchExpansion` to `true` to expand and collapse all rows at once.
|
||||||
|
|
||||||
## Expandable and selectable rows
|
## Expandable and selectable rows
|
||||||
|
|
||||||
Combine `batchExpansion` and `batchSelection` for tables with both expandable and selectable rows.
|
The `batchExpansion` and `batchSelection` props can be used together.
|
||||||
|
|
||||||
<FileSource src="/framed/DataTable/DataTableExpandableSelectable" />
|
<FileSource src="/framed/DataTable/DataTableExpandableSelectable" />
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Use `DataTableSkeleton` to show a loading state.
|
|
||||||
|
|
||||||
<DataTableSkeleton />
|
<DataTableSkeleton />
|
||||||
|
|
||||||
## Skeleton with headers, row count
|
## Skeleton with headers, row count
|
||||||
|
|
||||||
Specify headers and row count for the skeleton.
|
|
||||||
|
|
||||||
<DataTableSkeleton headers={["Name", "Protocol", "Port", "Rule"]} rows={10} />
|
<DataTableSkeleton headers={["Name", "Protocol", "Port", "Rule"]} rows={10} />
|
||||||
|
|
||||||
## Skeleton with object headers
|
## Skeleton with object headers
|
||||||
|
|
||||||
Pass header objects to customize the skeleton.
|
`headers` can also be an array of objects. The type is the same as the `headers` prop type used in `DataTable`.
|
||||||
|
|
||||||
<DataTableSkeleton headers={[{ value: "Name" }, {value: "Protocol"}, {value:"Port"}, { value: "Rule"}]} rows={10} />
|
<DataTableSkeleton headers={[{ value: "Name" }, {value: "Protocol"}, {value:"Port"}, { value: "Rule"}]} rows={10} />
|
||||||
|
|
||||||
## Skeleton with empty header
|
## Skeleton with empty header
|
||||||
|
|
||||||
Add an empty header column with `empty: true`.
|
Pass an object with `"empty"` set to `true` to render an empty table header column.
|
||||||
|
|
||||||
<DataTableSkeleton headers={[{ value: "Name" }, {value: "Protocol"}, {value:"Port"}, { value: "Rule"}, { empty: true }]} rows={10} />
|
<DataTableSkeleton headers={[{ value: "Name" }, {value: "Protocol"}, {value:"Port"}, { value: "Rule"}, { empty: true }]} rows={10} />
|
||||||
|
|
||||||
## Skeleton without header, toolbar
|
## Skeleton without header, toolbar
|
||||||
|
|
||||||
Hide the header and toolbar in the skeleton.
|
|
||||||
|
|
||||||
<DataTableSkeleton showHeader={false} showToolbar={false} />
|
<DataTableSkeleton showHeader={false} showToolbar={false} />
|
||||||
|
|
||||||
## Skeleton (tall size)
|
## Skeleton (tall size)
|
||||||
|
|
||||||
Set `size="tall"` for a taller skeleton.
|
|
||||||
|
|
||||||
<DataTableSkeleton showHeader={false} showToolbar={false} size="tall" />
|
<DataTableSkeleton showHeader={false} showToolbar={false} size="tall" />
|
||||||
|
|
||||||
## Skeleton (short size)
|
## Skeleton (short size)
|
||||||
|
|
||||||
Set `size="short"` for a shorter skeleton.
|
|
||||||
|
|
||||||
<DataTableSkeleton showHeader={false} showToolbar={false} size="short" />
|
<DataTableSkeleton showHeader={false} showToolbar={false} size="short" />
|
||||||
|
|
||||||
## Skeleton (compact size)
|
## Skeleton (compact size)
|
||||||
|
|
||||||
Set `size="compact"` for a minimal skeleton.
|
|
||||||
|
|
||||||
<DataTableSkeleton showHeader={false} showToolbar={false} size="compact" />
|
<DataTableSkeleton showHeader={false} showToolbar={false} size="compact" />
|
|
@ -7,7 +7,11 @@ components: ["DatePicker", "DatePickerInput", "DatePickerSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`DatePicker` lets users select a date or date range using a calendar interface. It uses the [flatpickr](https://github.com/flatpickr/flatpickr) library for its calendar implementation.
|
Carbon uses the zero dependency [flatpickr](https://github.com/flatpickr/flatpickr) library for its underlying calendar implementation.
|
||||||
|
|
||||||
|
Set `datePickerType` to `"single"` or `"range"` for the calendar functionality.
|
||||||
|
|
||||||
|
Specify [flatpickr options](https://flatpickr.js.org/options/) through the `flatpickrProps` prop.
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
|
@ -17,27 +21,25 @@ components: ["DatePicker", "DatePickerInput", "DatePickerSkeleton"]
|
||||||
|
|
||||||
## Single
|
## Single
|
||||||
|
|
||||||
Set `datePickerType` to `"single"` for single date selection.
|
By default, the `flatpickr` option `static` is set to `true` so that the calendar is positioned inside the wrapper and next to the input element. This is required for the calendar position to work inside a [Modal](/components/Modal).
|
||||||
|
|
||||||
|
Set `flatpickrProps.static` to `false` to opt out of this behavior.
|
||||||
|
|
||||||
<FileSource src="/framed/DatePicker/DatePickerSingle" />
|
<FileSource src="/framed/DatePicker/DatePickerSingle" />
|
||||||
|
|
||||||
## Range
|
## Range
|
||||||
|
|
||||||
Set `datePickerType` to `"range"` to enable date range selection.
|
Set `datePickerType` to `"range"` for the range variant.
|
||||||
|
|
||||||
<FileSource src="/framed/DatePicker/DatePickerRange" />
|
<FileSource src="/framed/DatePicker/DatePickerRange" />
|
||||||
|
|
||||||
## DatePicker in a modal
|
## DatePicker in a modal
|
||||||
|
|
||||||
The calendar is positioned inside the wrapper by default (`flatpickrProps.static: true`). This ensures proper positioning within a [Modal](/components/Modal).
|
|
||||||
|
|
||||||
Set `flatpickrProps.static` to `false` to position the calendar outside the wrapper.
|
|
||||||
|
|
||||||
<FileSource src="/framed/DatePicker/DatePickerModal" />
|
<FileSource src="/framed/DatePicker/DatePickerModal" />
|
||||||
|
|
||||||
## Simple
|
## Simple
|
||||||
|
|
||||||
Create a simple date picker without a dropdown calendar.
|
By default, the "simple" date picker does not have a dropdown calendar.
|
||||||
|
|
||||||
<DatePicker>
|
<DatePicker>
|
||||||
<DatePickerInput labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
<DatePickerInput labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
||||||
|
@ -45,70 +47,52 @@ Create a simple date picker without a dropdown calendar.
|
||||||
|
|
||||||
## With helper text
|
## With helper text
|
||||||
|
|
||||||
Add helper text to provide additional context or formatting instructions.
|
|
||||||
|
|
||||||
<DatePicker>
|
<DatePicker>
|
||||||
<DatePickerInput labelText="Date of birth" helperText="Example: 01/12/1990" placeholder="mm/dd/yyyy" />
|
<DatePickerInput labelText="Date of birth" helperText="Example: 01/12/1990" placeholder="mm/dd/yyyy" />
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Hide the label while maintaining accessibility.
|
|
||||||
|
|
||||||
<DatePicker>
|
<DatePicker>
|
||||||
<DatePickerInput hideLabel labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
<DatePickerInput hideLabel labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light backgrounds.
|
|
||||||
|
|
||||||
<DatePicker light>
|
<DatePicker light>
|
||||||
<DatePickerInput labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
<DatePickerInput labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Use the extra-large size for more prominent date pickers.
|
|
||||||
|
|
||||||
<DatePicker>
|
<DatePicker>
|
||||||
<DatePickerInput size="xl" labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
<DatePickerInput size="xl" labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size for compact date pickers.
|
|
||||||
|
|
||||||
<DatePicker>
|
<DatePicker>
|
||||||
<DatePickerInput size="sm" labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
<DatePickerInput size="sm" labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Show an invalid state when the input value is not valid.
|
|
||||||
|
|
||||||
<DatePicker>
|
<DatePicker>
|
||||||
<DatePickerInput invalid invalidText="Invalid date" labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
<DatePickerInput invalid invalidText="Invalid date" labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
## Warning state
|
## Warning state
|
||||||
|
|
||||||
Show a warning state to indicate potential issues with the input.
|
|
||||||
|
|
||||||
<DatePicker>
|
<DatePicker>
|
||||||
<DatePickerInput warn warnText="This info will not be stored" labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
<DatePickerInput warn warnText="This info will not be stored" labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the date picker to prevent user interaction.
|
|
||||||
|
|
||||||
<DatePicker>
|
<DatePicker>
|
||||||
<DatePickerInput disabled labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
<DatePickerInput disabled labelText="Date of birth" placeholder="mm/dd/yyyy" />
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state with the skeleton component.
|
|
||||||
|
|
||||||
<DatePickerSkeleton />
|
<DatePickerSkeleton />
|
||||||
|
|
|
@ -7,9 +7,7 @@ components: ["Dropdown", "DropdownSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `Dropdown` component provides a select input with a dropdown menu. It supports
|
`Dropdown` is keyed for performance reasons.
|
||||||
various states, sizes, and customization options. Each item in the dropdown must
|
|
||||||
have a unique `id` property for proper functionality.
|
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">Every <code>items</code> object must have a unique "id" property.</div>
|
<div class="body-short-01">Every <code>items</code> object must have a unique "id" property.</div>
|
||||||
|
@ -17,33 +15,25 @@ have a unique `id` property for proper functionality.
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Use the `Dropdown` component to create a select input with a dropdown menu. Each item
|
|
||||||
must have a unique `id` property.
|
|
||||||
|
|
||||||
<Dropdown titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Custom slot
|
## Custom slot
|
||||||
|
|
||||||
Override the default slot to customize the display of each item. Access the item and
|
Override the default slot to customize the display of each item. Access the item and index through the `let:` directive.
|
||||||
index through the `let:` directive.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Dropdown/DropdownSlot" />
|
<FileSource src="/framed/Dropdown/DropdownSlot" />
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Hide the label while maintaining accessibility by setting the `hideLabel` prop to
|
|
||||||
`true`. The label will still be available to screen readers.
|
|
||||||
|
|
||||||
<Dropdown hideLabel titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown hideLabel titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Format item display text
|
## Format item display text
|
||||||
|
|
||||||
Format the display text of items using the `itemToString` prop. This function
|
Use the `itemToString` prop to format the display of individual items.
|
||||||
receives the item object and returns the formatted string.
|
|
||||||
|
|
||||||
<Dropdown itemToString={item => {
|
<Dropdown itemToString={item => {
|
||||||
return item.text + ' (' + item.id +')'
|
return item.text + ' (' + item.id +')'
|
||||||
|
@ -53,15 +43,11 @@ receives the item object and returns the formatted string.
|
||||||
|
|
||||||
## Multiple dropdowns
|
## Multiple dropdowns
|
||||||
|
|
||||||
Create multiple dropdowns that work together. This example demonstrates how to
|
|
||||||
manage the state of multiple dropdowns.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Dropdown/MultipleDropdown" />
|
<FileSource src="/framed/Dropdown/MultipleDropdown" />
|
||||||
|
|
||||||
## Top direction
|
## Top direction
|
||||||
|
|
||||||
Display the dropdown menu above the input by setting the `direction` prop to
|
Set `direction` to `"top"` for the dropdown menu to appear above the input.
|
||||||
`"top"`. This is useful when there's limited space below the input.
|
|
||||||
|
|
||||||
<Dropdown direction="top" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown direction="top" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
|
@ -69,72 +55,49 @@ Display the dropdown menu above the input by setting the `direction` prop to
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for dropdowns on dark backgrounds by setting the `light` prop
|
|
||||||
to `true`.
|
|
||||||
|
|
||||||
<Dropdown light titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown light titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Inline variant
|
## Inline variant
|
||||||
|
|
||||||
Display the dropdown inline with other content by setting the `type` prop to
|
|
||||||
`"inline"`. This variant removes the background and border.
|
|
||||||
|
|
||||||
<Dropdown type="inline" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown type="inline" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Increase the size of the dropdown by setting the `size` prop to `"xl"`. This
|
|
||||||
provides more visual emphasis for important selections.
|
|
||||||
|
|
||||||
<Dropdown size="xl" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown size="xl" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Decrease the size of the dropdown by setting the `size` prop to `"sm"`. This is
|
|
||||||
useful for compact layouts or secondary selections.
|
|
||||||
|
|
||||||
<Dropdown size="sm" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown size="sm" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Indicate an invalid selection by setting the `invalid` prop to `true`. Provide
|
|
||||||
feedback to users with the `invalidText` prop.
|
|
||||||
|
|
||||||
<Dropdown invalid invalidText="Secondary contact method must be different from the primary contact" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown invalid invalidText="Secondary contact method must be different from the primary contact" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Warning state
|
## Warning state
|
||||||
|
|
||||||
Indicate a warning state by setting the `warn` prop to `true`. Provide additional
|
|
||||||
context with the `warnText` prop.
|
|
||||||
|
|
||||||
<Dropdown warn warnText="This contact method is not associated with your account" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown warn warnText="This contact method is not associated with your account" titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the entire dropdown by setting the `disabled` prop to `true`. This prevents
|
|
||||||
user interaction with the component.
|
|
||||||
|
|
||||||
<Dropdown disabled titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
<Dropdown disabled titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
{id: "2", text: "Fax"}]}" />
|
{id: "2", text: "Fax"}]}" />
|
||||||
|
|
||||||
## Disabled items
|
## Disabled items
|
||||||
|
|
||||||
Disable specific items in the dropdown by setting the `disabled` property to
|
Use the `disabled` property in the `items` prop to disable specific items.
|
||||||
`true` in the item object. This allows for more granular control over available
|
|
||||||
selections.
|
|
||||||
|
|
||||||
<Dropdown
|
<Dropdown
|
||||||
selectedId="0"
|
selectedId="0"
|
||||||
|
@ -148,7 +111,4 @@ selections.
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Display a loading state using the `DropdownSkeleton` component. This provides
|
|
||||||
visual feedback while the dropdown content is being loaded.
|
|
||||||
|
|
||||||
<DropdownSkeleton />
|
<DropdownSkeleton />
|
|
@ -3,19 +3,11 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `ExpandableTile` component creates a collapsible content container that can
|
|
||||||
show and hide content with a smooth animation. It's ideal for managing content
|
|
||||||
overflow and progressive disclosure of information. The component automatically
|
|
||||||
measures content height using a resize observer.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create an expandable tile that shows and hides content. The component uses a
|
This component uses a [resize observer](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) to determine the height of the above-the-fold content.
|
||||||
[resize observer](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)
|
|
||||||
to determine the height of the above-the-fold content.
|
|
||||||
|
|
||||||
By default, the tile is collapsed. Use the `above` and `below` slots to define the
|
It's unexpanded by default.
|
||||||
content that appears before and after expansion.
|
|
||||||
|
|
||||||
<ExpandableTile>
|
<ExpandableTile>
|
||||||
<div slot="above">
|
<div slot="above">
|
||||||
|
@ -33,8 +25,7 @@ content that appears before and after expansion.
|
||||||
|
|
||||||
## Custom tile heights
|
## Custom tile heights
|
||||||
|
|
||||||
Set custom heights for the tile content using CSS. This is useful when you need to
|
Set a custom height for the tiles on the "above" and "below" slots.
|
||||||
control the exact dimensions of the visible and hidden content.
|
|
||||||
|
|
||||||
<ExpandableTile>
|
<ExpandableTile>
|
||||||
<div slot="above" style="height: 10rem">Above the fold content here</div>
|
<div slot="above" style="height: 10rem">Above the fold content here</div>
|
||||||
|
@ -43,9 +34,6 @@ control the exact dimensions of the visible and hidden content.
|
||||||
|
|
||||||
## Expanded
|
## Expanded
|
||||||
|
|
||||||
Display the tile in its expanded state by default by setting the `expanded` prop to
|
|
||||||
`true`.
|
|
||||||
|
|
||||||
<ExpandableTile expanded>
|
<ExpandableTile expanded>
|
||||||
<div slot="above">Above the fold content here</div>
|
<div slot="above">Above the fold content here</div>
|
||||||
<div slot="below">Below the fold content here</div>
|
<div slot="below">Below the fold content here</div>
|
||||||
|
@ -53,9 +41,6 @@ Display the tile in its expanded state by default by setting the `expanded` prop
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for expandable tiles on dark backgrounds by setting the
|
|
||||||
`light` prop to `true`.
|
|
||||||
|
|
||||||
<ExpandableTile light>
|
<ExpandableTile light>
|
||||||
<div slot="above">Above the fold content here</div>
|
<div slot="above">Above the fold content here</div>
|
||||||
<div slot="below">Below the fold content here</div>
|
<div slot="below">Below the fold content here</div>
|
||||||
|
@ -63,9 +48,6 @@ Use the light variant for expandable tiles on dark backgrounds by setting the
|
||||||
|
|
||||||
## With icon labels
|
## With icon labels
|
||||||
|
|
||||||
Customize the expand/collapse button labels using the `tileExpandedLabel` and
|
|
||||||
`tileCollapsedLabel` props.
|
|
||||||
|
|
||||||
<ExpandableTile tileExpandedLabel="View less" tileCollapsedLabel="View more">
|
<ExpandableTile tileExpandedLabel="View less" tileCollapsedLabel="View more">
|
||||||
<div slot="above">Above the fold content here</div>
|
<div slot="above">Above the fold content here</div>
|
||||||
<div slot="below">Below the fold content here</div>
|
<div slot="below">Below the fold content here</div>
|
||||||
|
@ -73,9 +55,7 @@ Customize the expand/collapse button labels using the `tileExpandedLabel` and
|
||||||
|
|
||||||
## With interactive content
|
## With interactive content
|
||||||
|
|
||||||
Handle interactive content within the tile by preventing event propagation. This
|
For tiles containing interactive content, use `stopPropagation` to prevent the tile from toggling.
|
||||||
ensures that clicks on interactive elements don't trigger the tile's expand/collapse
|
|
||||||
behavior.
|
|
||||||
|
|
||||||
<ExpandableTile tileExpandedLabel="View less" tileCollapsedLabel="View more">
|
<ExpandableTile tileExpandedLabel="View less" tileCollapsedLabel="View more">
|
||||||
<div slot="above">
|
<div slot="above">
|
||||||
|
|
|
@ -7,28 +7,23 @@ components: ["FileUploaderButton", "FileUploader", "FileUploaderDropContainer",
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `FileUploader` components provide a complete solution for file uploads, including
|
|
||||||
a button trigger, drag-and-drop container, and file list display. The components
|
|
||||||
support various states, file validation, and customization options.
|
|
||||||
|
|
||||||
## File uploader (button-only)
|
## File uploader (button-only)
|
||||||
|
|
||||||
Create a simple file upload button using `FileUploaderButton`. By default, it
|
By default, the file uploader only accepts one file.
|
||||||
accepts a single file. Set `multiple` to `true` to allow multiple file selection.
|
|
||||||
|
Set `multiple` to `true` for multiple files to be accepted.
|
||||||
|
|
||||||
<FileUploaderButton labelText="Add file" />
|
<FileUploaderButton labelText="Add file" />
|
||||||
|
|
||||||
## Multiple files
|
## Multiple files
|
||||||
|
|
||||||
Enable multiple file selection by setting the `multiple` prop to `true`. This
|
|
||||||
allows users to select multiple files at once.
|
|
||||||
|
|
||||||
<FileUploaderButton multiple labelText="Add files" />
|
<FileUploaderButton multiple labelText="Add files" />
|
||||||
|
|
||||||
## Custom button kind, size
|
## Custom button kind, size
|
||||||
|
|
||||||
Customize the button appearance using the `kind` and `size` props. The default is
|
By default, the `primary` small button kind is used.
|
||||||
a small primary button.
|
|
||||||
|
Use the `kind` and `size` props to customize the button.
|
||||||
|
|
||||||
<FileUploaderButton kind="secondary" size="field" />
|
<FileUploaderButton kind="secondary" size="field" />
|
||||||
<FileUploaderButton kind="tertiary" size="default" />
|
<FileUploaderButton kind="tertiary" size="default" />
|
||||||
|
@ -37,17 +32,17 @@ a small primary button.
|
||||||
|
|
||||||
## File uploader
|
## File uploader
|
||||||
|
|
||||||
The `FileUploader` component combines a button trigger with a list of uploaded
|
The `FileUploader` wraps `FileUploaderButton` and lists out uploaded files.
|
||||||
files. It supports file type restrictions, multiple file selection, and various
|
|
||||||
upload states.
|
|
||||||
|
|
||||||
This example accepts multiple JPEG files and displays them in a completed state.
|
The example below accepts multiple files with an extension of `.jpg` or `.jpeg`. It sets the status to `"complete"`; by default, the status is `"loading"`.
|
||||||
|
|
||||||
|
See the [item examples below](#item-uploading) for different statuses.
|
||||||
|
|
||||||
<FileUploader multiple labelTitle="Upload files" buttonLabel="Add files" labelDescription="Only JPEG files are accepted." accept="{['.jpg', '.jpeg']}" status="complete" />
|
<FileUploader multiple labelTitle="Upload files" buttonLabel="Add files" labelDescription="Only JPEG files are accepted." accept="{['.jpg', '.jpeg']}" status="complete" />
|
||||||
|
|
||||||
## Clear files
|
## Clear files
|
||||||
|
|
||||||
Remove uploaded files from the `FileUploader` component in two ways:
|
There are two ways to clear files in `FileUploader`:
|
||||||
|
|
||||||
<UnorderedList svx-ignore style="margin-bottom: var(--cds-spacing-08)">
|
<UnorderedList svx-ignore style="margin-bottom: var(--cds-spacing-08)">
|
||||||
<ListItem>programmatically using the <strong>clearFiles</strong> accessor</ListItem>
|
<ListItem>programmatically using the <strong>clearFiles</strong> accessor</ListItem>
|
||||||
|
@ -58,29 +53,21 @@ Remove uploaded files from the `FileUploader` component in two ways:
|
||||||
|
|
||||||
## File uploader (disabled state)
|
## File uploader (disabled state)
|
||||||
|
|
||||||
Disable the file uploader by setting the `disabled` prop to `true`. This prevents
|
|
||||||
user interaction with the component.
|
|
||||||
|
|
||||||
<FileUploader disabled multiple labelTitle="Upload files" buttonLabel="Add files" labelDescription="Only JPEG files are accepted." accept="{['.jpg', '.jpeg']}" status="complete" />
|
<FileUploader disabled multiple labelTitle="Upload files" buttonLabel="Add files" labelDescription="Only JPEG files are accepted." accept="{['.jpg', '.jpeg']}" status="complete" />
|
||||||
|
|
||||||
## Item (uploading)
|
## Item (uploading)
|
||||||
|
|
||||||
Display a file upload in progress using the `uploading` status. This shows a
|
|
||||||
loading indicator and the file name.
|
|
||||||
|
|
||||||
<FileUploaderItem name="README.md" status="uploading" />
|
<FileUploaderItem name="README.md" status="uploading" />
|
||||||
|
|
||||||
## Item (complete)
|
## Item (complete)
|
||||||
|
|
||||||
Show a successfully uploaded file using the `complete` status. This displays a
|
|
||||||
checkmark icon next to the file name.
|
|
||||||
|
|
||||||
<FileUploaderItem name="README.md" status="complete" />
|
<FileUploaderItem name="README.md" status="complete" />
|
||||||
|
|
||||||
## Item (edit)
|
## Item (edit)
|
||||||
|
|
||||||
Enable file deletion by setting the status to `"edit"`. Clicking the close icon
|
If the `status` is `"edit"`, clicking the close icon will dispatch a `delete` event.
|
||||||
dispatches a `delete` event with the item's ID.
|
|
||||||
|
The event detail contains the item `id`.
|
||||||
|
|
||||||
<FileUploaderItem id="readme" name="README.md" status="edit" on:delete={(e) => {
|
<FileUploaderItem id="readme" name="README.md" status="edit" on:delete={(e) => {
|
||||||
console.log(e.detail); // "readme"
|
console.log(e.detail); // "readme"
|
||||||
|
@ -88,15 +75,13 @@ dispatches a `delete` event with the item's ID.
|
||||||
|
|
||||||
## Item (edit status, invalid state)
|
## Item (edit status, invalid state)
|
||||||
|
|
||||||
Mark a file as invalid while keeping it editable. This shows an error icon and
|
An item can also have an edit status with an invalid state.
|
||||||
allows the user to remove the file.
|
|
||||||
|
|
||||||
<FileUploaderItem invalid id="readme" name="README.md" status="edit" on:delete />
|
<FileUploaderItem invalid id="readme" name="README.md" status="edit" on:delete />
|
||||||
|
|
||||||
## Item (edit status, invalid state with subject, body)
|
## Item (edit status, invalid state with subject, body)
|
||||||
|
|
||||||
Provide detailed error messages for invalid files using the `errorSubject` and
|
Use the `errorSubject` and `errorBody` props to customize the error message.
|
||||||
`errorBody` props. This helps users understand and resolve upload issues.
|
|
||||||
|
|
||||||
<FileUploaderItem
|
<FileUploaderItem
|
||||||
invalid
|
invalid
|
||||||
|
@ -110,8 +95,7 @@ Provide detailed error messages for invalid files using the `errorSubject` and
|
||||||
|
|
||||||
## Item sizes
|
## Item sizes
|
||||||
|
|
||||||
Customize the size of file uploader items using the `size` prop. The default size
|
The default `FileUploaderItem` size is "default".
|
||||||
is "default".
|
|
||||||
|
|
||||||
<FileUploaderItem size="default" name="README.md" status="uploading" />
|
<FileUploaderItem size="default" name="README.md" status="uploading" />
|
||||||
<FileUploaderItem size="field" name="README.md" status="uploading" />
|
<FileUploaderItem size="field" name="README.md" status="uploading" />
|
||||||
|
@ -119,11 +103,11 @@ is "default".
|
||||||
|
|
||||||
## Drop container
|
## Drop container
|
||||||
|
|
||||||
Use `FileUploaderDropContainer` for drag-and-drop file uploads. It supports file
|
The `FileUploaderDropContainer` accepts files through click and drop events.
|
||||||
validation and multiple file selection.
|
|
||||||
|
|
||||||
This example accepts files smaller than 1 kB and logs the selected files to the
|
Use the `validateFiles` prop to filter out files before they are set.
|
||||||
console.
|
|
||||||
|
The following example accepts files smaller than 1 kB.
|
||||||
|
|
||||||
<FileUploaderDropContainer
|
<FileUploaderDropContainer
|
||||||
multiple
|
multiple
|
||||||
|
@ -138,7 +122,4 @@ console.
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Display a loading state using the `FileUploaderSkeleton` component. This provides
|
|
||||||
visual feedback while the file uploader content is being loaded.
|
|
||||||
|
|
||||||
<FileUploaderSkeleton />
|
<FileUploaderSkeleton />
|
|
@ -7,15 +7,9 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `FluidForm` component provides a fluid-width form layout that adapts to its
|
|
||||||
container. It's designed for full-width form layouts and works with most Carbon
|
|
||||||
input components. Note that inline input variants cannot be used within a
|
|
||||||
`FluidForm`.
|
|
||||||
|
|
||||||
## Fluid form
|
## Fluid form
|
||||||
|
|
||||||
Create a fluid-width form layout using the `FluidForm` component. This example
|
Note that the `inline` input variants cannot be used within a `FluidForm`.
|
||||||
shows a basic login form with required fields.
|
|
||||||
|
|
||||||
<FluidForm>
|
<FluidForm>
|
||||||
<TextInput labelText="User name" placeholder="Enter user name..." required />
|
<TextInput labelText="User name" placeholder="Enter user name..." required />
|
||||||
|
@ -29,8 +23,4 @@ shows a basic login form with required fields.
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Handle form validation and display error states using the `invalid` and
|
|
||||||
`invalidText` props on form inputs. This example demonstrates how to show
|
|
||||||
validation errors in a fluid form.
|
|
||||||
|
|
||||||
<FileSource src="/framed/FluidForm/FluidFormInvalid" />
|
<FileSource src="/framed/FluidForm/FluidFormInvalid" />
|
|
@ -14,15 +14,8 @@ components: ["Form", "FormGroup"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `Form` component provides a structured way to collect user input. It works with
|
|
||||||
various form controls like checkboxes, radio buttons, and select menus. The
|
|
||||||
`FormGroup` component helps organize related form controls with a legend.
|
|
||||||
|
|
||||||
## Form
|
## Form
|
||||||
|
|
||||||
Create a form with grouped controls using `Form` and `FormGroup`. This example
|
|
||||||
shows a form with checkboxes, radio buttons, and a select menu.
|
|
||||||
|
|
||||||
<Form on:submit>
|
<Form on:submit>
|
||||||
<FormGroup legendText="Checkboxes">
|
<FormGroup legendText="Checkboxes">
|
||||||
<Checkbox id="checkbox-0" labelText="Checkbox Label" checked />
|
<Checkbox id="checkbox-0" labelText="Checkbox Label" checked />
|
||||||
|
@ -70,9 +63,7 @@ shows a form with checkboxes, radio buttons, and a select menu.
|
||||||
|
|
||||||
## Prevent default behavior
|
## Prevent default behavior
|
||||||
|
|
||||||
Handle form submission by preventing the default browser behavior. Use
|
The forwarded `submit` event is not modified. Use `e.preventDefault()` to prevent the native form submission behavior.
|
||||||
`e.preventDefault()` to stop the native form submission and handle the event
|
|
||||||
programmatically.
|
|
||||||
|
|
||||||
<Form on:submit={e => {
|
<Form on:submit={e => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
|
@ -6,62 +6,34 @@ components: ["Grid", "Row", "Column"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `Grid` system provides a responsive, 12-column layout structure. Use `Row` and
|
|
||||||
`Column` components to create flexible layouts that adapt to different screen
|
|
||||||
sizes. The grid supports various spacing options and column configurations.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic grid layout with equal-width columns. This example demonstrates the
|
|
||||||
default grid behavior.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Grid/Grid" />
|
<FileSource src="/framed/Grid/Grid" />
|
||||||
|
|
||||||
## Full width
|
## Full width
|
||||||
|
|
||||||
Use the full-width grid variant for layouts that span the entire viewport width.
|
|
||||||
This removes the default max-width constraint.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Grid/FullWidthGrid" />
|
<FileSource src="/framed/Grid/FullWidthGrid" />
|
||||||
|
|
||||||
## Narrow
|
## Narrow
|
||||||
|
|
||||||
Create a more compact grid layout using the narrow variant. This reduces the
|
|
||||||
spacing between columns.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Grid/NarrowGrid" />
|
<FileSource src="/framed/Grid/NarrowGrid" />
|
||||||
|
|
||||||
## Condensed
|
## Condensed
|
||||||
|
|
||||||
Use the condensed variant for even tighter spacing between columns. This is ideal
|
|
||||||
for dense data displays.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Grid/CondensedGrid" />
|
<FileSource src="/framed/Grid/CondensedGrid" />
|
||||||
|
|
||||||
## Responsive
|
## Responsive
|
||||||
|
|
||||||
Build responsive layouts by specifying different column widths for different
|
|
||||||
breakpoints. The grid automatically adjusts based on screen size.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Grid/ResponsiveGrid" />
|
<FileSource src="/framed/Grid/ResponsiveGrid" />
|
||||||
|
|
||||||
## Offset columns
|
## Offset columns
|
||||||
|
|
||||||
Create space between columns using the offset feature. This allows for more
|
|
||||||
flexible layouts without empty columns.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Grid/OffsetColumns" />
|
<FileSource src="/framed/Grid/OffsetColumns" />
|
||||||
|
|
||||||
## Aspect ratio columns
|
## Aspect ratio columns
|
||||||
|
|
||||||
Maintain consistent column heights using aspect ratio columns. This ensures
|
|
||||||
content alignment across different column widths.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Grid/AspectRatioColumns" />
|
<FileSource src="/framed/Grid/AspectRatioColumns" />
|
||||||
|
|
||||||
## Padded columns
|
## Padded columns
|
||||||
|
|
||||||
Add padding to columns using the padded variant. This creates more breathing room
|
|
||||||
between content.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Grid/PaddedGrid" />
|
<FileSource src="/framed/Grid/PaddedGrid" />
|
||||||
|
|
|
@ -5,22 +5,15 @@
|
||||||
let key = 0;
|
let key = 0;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `ImageLoader` component provides a robust way to load images with built-in
|
This utility component uses the [Image API](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image) to programmatically load an image with slottable loading and error states.
|
||||||
loading and error states. It uses the [Image API](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image)
|
|
||||||
to handle image loading programmatically. The component supports aspect ratios,
|
|
||||||
fade-in animations, and custom loading/error states.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Load an image with the default configuration. The component handles the loading
|
|
||||||
process automatically.
|
|
||||||
|
|
||||||
<ImageLoader src="https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg" />
|
<ImageLoader src="https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg" />
|
||||||
|
|
||||||
## Slots
|
## Slots
|
||||||
|
|
||||||
Customize the loading and error states using named slots. This example shows how
|
Use the "loading" and "error" named slots to render an element when the image is loading or has an error.
|
||||||
to display a loading indicator and error message.
|
|
||||||
|
|
||||||
<ImageLoader src="https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg">
|
<ImageLoader src="https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg">
|
||||||
<svelte:fragment slot="loading">
|
<svelte:fragment slot="loading">
|
||||||
|
@ -33,32 +26,27 @@ to display a loading indicator and error message.
|
||||||
|
|
||||||
## With aspect ratio
|
## With aspect ratio
|
||||||
|
|
||||||
Maintain consistent image dimensions using aspect ratios. The component uses
|
If `ratio` is set, this component uses the [AspectRatio](/components/AspectRatio) to constrain the image.
|
||||||
[AspectRatio](/components/AspectRatio) to constrain the image.
|
|
||||||
|
|
||||||
Supported aspect ratios include `"2x1"`, `"2x3"`, `"16x9"`, `"4x3"`, `"1x1"`,
|
Supported aspect ratios include `"2x1"`, `"2x3"`, `"16x9"`, `"4x3"`, `"1x1"`, `"3x4"`, `"3x2"`, `"9x16"` and `"1x2"`.
|
||||||
`"3x4"`, `"3x2"`, `"9x16"` and `"1x2"`.
|
|
||||||
|
|
||||||
<ImageLoader ratio="16x9" src="https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg" />
|
<ImageLoader ratio="16x9" src="https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg" />
|
||||||
|
|
||||||
## Fade in
|
## Fade in
|
||||||
|
|
||||||
Enable a smooth fade-in animation when the image loads successfully. This provides
|
Set `fadeIn` to `true` to fade in the image if successfully loaded.
|
||||||
a better user experience for image loading.
|
|
||||||
|
|
||||||
<Button kind="ghost" on:click="{() => { key++;}}">Reload image</Button>
|
<Button kind="ghost" on:click="{() => { key++;}}">Reload image</Button>
|
||||||
{#key key}<ImageLoader fadeIn ratio="16x9" src="https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg" />{/key}
|
{#key key}<ImageLoader fadeIn ratio="16x9" src="https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg" />{/key}
|
||||||
|
|
||||||
## Programmatic usage
|
## Programmatic usage
|
||||||
|
|
||||||
Control image loading programmatically using component references. This example
|
In this example, a component reference is obtained to programmatically trigger the `loadImage` method.
|
||||||
demonstrates how to trigger image loading manually.
|
|
||||||
|
|
||||||
<FileSource src="/framed/ImageLoader/ProgrammaticImageLoader" />
|
<FileSource src="/framed/ImageLoader/ProgrammaticImageLoader" />
|
||||||
|
|
||||||
## Dynamic image source
|
## Dynamic image source
|
||||||
|
|
||||||
Update the image source dynamically using the same `ImageLoader` instance. This
|
The same `ImageLoader` instance can be used to load different images.
|
||||||
allows for smooth transitions between different images.
|
|
||||||
|
|
||||||
<FileSource src="/framed/ImageLoader/DynamicImageLoader" />
|
<FileSource src="/framed/ImageLoader/DynamicImageLoader" />
|
||||||
|
|
|
@ -1,37 +1,18 @@
|
||||||
---
|
|
||||||
components: ["InlineLoading"]
|
|
||||||
---
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { InlineLoading, UnorderedList, ListItem } from "carbon-components-svelte";
|
import { InlineLoading } from "carbon-components-svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `InlineLoading` component provides a compact loading indicator that can be embedded within content. It's ideal for showing progress during inline operations like form submissions or data updates.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Display a basic loading indicator with the default configuration.
|
|
||||||
|
|
||||||
<InlineLoading />
|
<InlineLoading />
|
||||||
|
|
||||||
## With description
|
## With description
|
||||||
|
|
||||||
Add a descriptive text to provide context about the loading operation.
|
|
||||||
|
|
||||||
<InlineLoading description="Loading metrics..." />
|
<InlineLoading description="Loading metrics..." />
|
||||||
|
|
||||||
## Status states
|
## Status states
|
||||||
|
|
||||||
The component supports different status states to indicate progress:
|
|
||||||
|
|
||||||
<UnorderedList svx-ignore style="margin-bottom: var(--cds-spacing-08)">
|
|
||||||
<ListItem><strong>active</strong>: Shows an animated loading indicator</ListItem>
|
|
||||||
<ListItem><strong>inactive</strong>: Displays a static state</ListItem>
|
|
||||||
<ListItem><strong>finished</strong>: Shows a success state</ListItem>
|
|
||||||
<ListItem><strong>error</strong>: Displays an error state</ListItem>
|
|
||||||
</UnorderedList>
|
|
||||||
|
|
||||||
<InlineLoading status="active" description="Submitting..." />
|
<InlineLoading status="active" description="Submitting..." />
|
||||||
<InlineLoading status="inactive" description="Cancelling..." />
|
<InlineLoading status="inactive" description="Cancelling..." />
|
||||||
<InlineLoading status="finished" description="Success" />
|
<InlineLoading status="finished" description="Success" />
|
||||||
|
@ -39,6 +20,4 @@ The component supports different status states to indicate progress:
|
||||||
|
|
||||||
## UX example
|
## UX example
|
||||||
|
|
||||||
See how to integrate the loading indicator in a real-world scenario.
|
|
||||||
|
|
||||||
<FileSource src="/framed/InlineLoading/InlineLoadingUx" />
|
<FileSource src="/framed/InlineLoading/InlineLoadingUx" />
|
|
@ -7,29 +7,26 @@ components: ["InlineNotification", "NotificationActionButton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `InlineNotification` component displays contextual messages inline with content. It supports various types of notifications (error, warning, success, info) and can include actions. Use it to provide feedback or important information to users.
|
Notification that appears inline.
|
||||||
|
|
||||||
See [detailed usage](https://carbondesignsystem.com/components/notification/usage).
|
See [detailed
|
||||||
|
usage](https://carbondesignsystem.com/components/notification/usage).
|
||||||
See also: [ToastNotification](ToastNotification)
|
See also: [ToastNotification](ToastNotification)
|
||||||
|
|
||||||
## Default
|
## Default (error)
|
||||||
|
|
||||||
Display a basic error notification with title and subtitle by default.
|
|
||||||
|
|
||||||
<InlineNotification title="Error:" subtitle="An internal server error occurred." />
|
<InlineNotification title="Error:" subtitle="An internal server error occurred." />
|
||||||
|
|
||||||
## Prevent default close behavior
|
## Prevent default close behavior
|
||||||
|
|
||||||
The component is controlled, allowing you to prevent the default close behavior using `e.preventDefault()`.
|
`InlineNotification` is a controlled component. Prevent the default close behavior using the `e.preventDefault()` method in the dispatched `on:close` event.
|
||||||
|
|
||||||
<InlineNotification title="Error" subtitle="An internal server error occurred." on:close={(e) => {
|
<InlineNotification title="Error" subtitle="An internal server error occurred." on:close={(e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
// custom close logic (e.g., transitions)
|
// custom close logic (e.g., transitions)
|
||||||
}} />
|
}} />
|
||||||
|
|
||||||
## Slottable title and subtitle
|
## Slottable title, subtitle
|
||||||
|
|
||||||
Customize the notification content using slots for more flexibility.
|
|
||||||
|
|
||||||
<InlineNotification>
|
<InlineNotification>
|
||||||
<strong slot="title">Error: </strong>
|
<strong slot="title">Error: </strong>
|
||||||
|
@ -38,7 +35,9 @@ Customize the notification content using slots for more flexibility.
|
||||||
|
|
||||||
## Accessible icon descriptions
|
## Accessible icon descriptions
|
||||||
|
|
||||||
Make notifications more accessible by providing custom descriptions for icons.
|
The status icon and close button icon descriptions appear on cursor hover and are read
|
||||||
|
by assistive technology. Default descriptions are provided in English and can be
|
||||||
|
overridden via `statusIconDescription` and `closeButtonDescription`.
|
||||||
|
|
||||||
<InlineNotification
|
<InlineNotification
|
||||||
title="错误"
|
title="错误"
|
||||||
|
@ -49,14 +48,10 @@ Make notifications more accessible by providing custom descriptions for icons.
|
||||||
|
|
||||||
## Hidden close button
|
## Hidden close button
|
||||||
|
|
||||||
Create a persistent notification by hiding the close button.
|
|
||||||
|
|
||||||
<InlineNotification hideCloseButton kind="warning" title="Scheduled maintenance:" subtitle="Maintenance will last 2-4 hours." />
|
<InlineNotification hideCloseButton kind="warning" title="Scheduled maintenance:" subtitle="Maintenance will last 2-4 hours." />
|
||||||
|
|
||||||
## With actions
|
## With actions
|
||||||
|
|
||||||
Add interactive elements to notifications using the actions slot.
|
|
||||||
|
|
||||||
<InlineNotification kind="warning" title="Scheduled maintenance:" subtitle="Maintenance will last 2-4 hours.">
|
<InlineNotification kind="warning" title="Scheduled maintenance:" subtitle="Maintenance will last 2-4 hours.">
|
||||||
<svelte:fragment slot="actions">
|
<svelte:fragment slot="actions">
|
||||||
<NotificationActionButton>Learn more</NotificationActionButton>
|
<NotificationActionButton>Learn more</NotificationActionButton>
|
||||||
|
@ -65,8 +60,6 @@ Add interactive elements to notifications using the actions slot.
|
||||||
|
|
||||||
## Notification variants
|
## Notification variants
|
||||||
|
|
||||||
The component supports different notification types:
|
|
||||||
|
|
||||||
<InlineNotification kind="error" title="Error:" subtitle="An internal server error occurred." />
|
<InlineNotification kind="error" title="Error:" subtitle="An internal server error occurred." />
|
||||||
<InlineNotification kind="info" title="New updates:" subtitle="Restart to get the latest updates." />
|
<InlineNotification kind="info" title="New updates:" subtitle="Restart to get the latest updates." />
|
||||||
<InlineNotification kind="info-square" title="New updates:" subtitle="Restart to get the latest updates." />
|
<InlineNotification kind="info-square" title="New updates:" subtitle="Restart to get the latest updates." />
|
||||||
|
@ -76,8 +69,6 @@ The component supports different notification types:
|
||||||
|
|
||||||
## Low contrast
|
## Low contrast
|
||||||
|
|
||||||
Use low contrast variants for less prominent notifications.
|
|
||||||
|
|
||||||
<InlineNotification lowContrast kind="error" title="Error:" subtitle="An internal server error occurred." />
|
<InlineNotification lowContrast kind="error" title="Error:" subtitle="An internal server error occurred." />
|
||||||
<InlineNotification lowContrast kind="info" title="New updates:" subtitle="Restart to get the latest updates." />
|
<InlineNotification lowContrast kind="info" title="New updates:" subtitle="Restart to get the latest updates." />
|
||||||
<InlineNotification lowContrast kind="info-square" title="New updates:" subtitle="Restart to get the latest updates." />
|
<InlineNotification lowContrast kind="info-square" title="New updates:" subtitle="Restart to get the latest updates." />
|
||||||
|
|
|
@ -8,19 +8,17 @@ components: ["Link", "OutboundLink"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `Link` component provides styled hyperlinks with various customization options. It supports different sizes, states, and can include icons. The `OutboundLink` variant automatically handles external links with proper security attributes.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic link with the default styling.
|
|
||||||
|
|
||||||
<Link href="https://www.carbondesignsystem.com/">
|
<Link href="https://www.carbondesignsystem.com/">
|
||||||
Carbon Design System
|
Carbon Design System
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
## Target _blank
|
## Target _blank
|
||||||
|
|
||||||
For external links, the component automatically adds security attributes. You can override the `rel` attribute if needed.
|
If setting `target` to `"_blank"`, the `Link` component will automatically set `rel="noopener noreferrer"` to guard against [potential cross-origin security exploits](https://web.dev/external-anchors-use-rel-noopener/).
|
||||||
|
|
||||||
|
You can override the `rel` attribute with a custom value.
|
||||||
|
|
||||||
<Link href="https://www.carbondesignsystem.com/" target="_blank">
|
<Link href="https://www.carbondesignsystem.com/" target="_blank">
|
||||||
Carbon Design System
|
Carbon Design System
|
||||||
|
@ -28,7 +26,7 @@ For external links, the component automatically adds security attributes. You ca
|
||||||
|
|
||||||
## Outbound link
|
## Outbound link
|
||||||
|
|
||||||
Use `OutboundLink` as a convenient alternative for external links.
|
An alternative to manually setting `target` to `"_blank"` is to use the `OutboundLink`.
|
||||||
|
|
||||||
<OutboundLink href="https://www.carbondesignsystem.com/">
|
<OutboundLink href="https://www.carbondesignsystem.com/">
|
||||||
Carbon Design System
|
Carbon Design System
|
||||||
|
@ -36,8 +34,6 @@ Use `OutboundLink` as a convenient alternative for external links.
|
||||||
|
|
||||||
## Inline variant
|
## Inline variant
|
||||||
|
|
||||||
Create links that flow naturally with surrounding text.
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
Visit the
|
Visit the
|
||||||
<Link inline href="https://www.carbondesignsystem.com/">
|
<Link inline href="https://www.carbondesignsystem.com/">
|
||||||
|
@ -47,7 +43,7 @@ Create links that flow naturally with surrounding text.
|
||||||
|
|
||||||
## Link with icon
|
## Link with icon
|
||||||
|
|
||||||
Add icons to links for better visual context. Note that `inline` must be `false` when using icons.
|
Note that `inline` must be `false` when rendering a link with an icon.
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
Visit the
|
Visit the
|
||||||
|
@ -56,34 +52,28 @@ Add icons to links for better visual context. Note that `inline` must be `false`
|
||||||
</Link>.
|
</Link>.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Size variants
|
## Large size
|
||||||
|
|
||||||
The component supports different sizes to match your design needs:
|
|
||||||
|
|
||||||
<Link size="lg" href="https://www.carbondesignsystem.com/">
|
<Link size="lg" href="https://www.carbondesignsystem.com/">
|
||||||
Large link
|
Carbon Design System
|
||||||
</Link>
|
</Link>
|
||||||
<br />
|
|
||||||
<Link href="https://www.carbondesignsystem.com/">
|
## Small size
|
||||||
Default link
|
|
||||||
</Link>
|
|
||||||
<br />
|
|
||||||
<Link size="sm" href="https://www.carbondesignsystem.com/">
|
<Link size="sm" href="https://www.carbondesignsystem.com/">
|
||||||
Small link
|
Carbon Design System
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
## Disabled state
|
## Disabled
|
||||||
|
|
||||||
Disabled links render as plain text while maintaining accessibility.
|
A `disabled` link will render a `p` tag instead of an anchor element.
|
||||||
|
|
||||||
<Link disabled href="https://www.carbondesignsystem.com/">
|
<Link disabled href="https://www.carbondesignsystem.com/">
|
||||||
Disabled link
|
Carbon Design System
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
## Visited styles
|
## Visited styles
|
||||||
|
|
||||||
Show visited state styling for links.
|
|
||||||
|
|
||||||
<Link visited href="https://www.carbondesignsystem.com/">
|
<Link visited href="https://www.carbondesignsystem.com/">
|
||||||
Visited link
|
Carbon Design System
|
||||||
</Link>
|
</Link>
|
|
@ -1,28 +1,16 @@
|
||||||
---
|
|
||||||
components: ["Loading"]
|
|
||||||
---
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Loading } from "carbon-components-svelte";
|
import { Loading } from "carbon-components-svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `Loading` component provides a full-screen or inline loading indicator. It's ideal for showing progress during page loads or data fetching operations.
|
## Default (with overlay)
|
||||||
|
|
||||||
## Default
|
|
||||||
|
|
||||||
Display a loading indicator with a semi-transparent overlay that covers the entire viewport.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Loading/Loading" />
|
<FileSource src="/framed/Loading/Loading" />
|
||||||
|
|
||||||
## No overlay
|
## No overlay
|
||||||
|
|
||||||
Show a loading indicator without the overlay, allowing interaction with the underlying content.
|
|
||||||
|
|
||||||
<Loading withOverlay={false} />
|
<Loading withOverlay={false} />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Display a more compact loading indicator.
|
|
||||||
|
|
||||||
<Loading withOverlay={false} small />
|
<Loading withOverlay={false} small />
|
|
@ -1,26 +1,23 @@
|
||||||
---
|
|
||||||
components: ["LocalStorage"]
|
|
||||||
---
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `LocalStorage` component provides a reactive wrapper around the [Window.localStorage API](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). It's useful for persisting user preferences and application state across page reloads.
|
This utility component wraps the [Window.localStorage API](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) and is useful for persisting ephemeral data (e.g., color theme) at the browser level.
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
See how the component maintains state across page reloads. Toggle the switch and refresh the page to see the persisted state.
|
In the example below, toggle the switch and reload the page. The updated theme should be persisted locally.
|
||||||
|
|
||||||
<FileSource src="/framed/LocalStorage/LocalStorage" />
|
<FileSource src="/framed/LocalStorage/LocalStorage" />
|
||||||
|
|
||||||
## Clear item, clear all
|
## Clear item, clear all
|
||||||
|
|
||||||
The component provides methods to manage stored data:
|
Use the `bind:this` directive to access the `clearItem` and `clearAll` methods.
|
||||||
|
|
||||||
- `clearItem`: Remove a specific key-value pair
|
Invoking `clearItem` will remove the persisted key value from the browser's local storage.
|
||||||
- `clearAll`: Remove all stored data
|
|
||||||
|
|
||||||
Use `bind:this` to access these methods. In this example, try toggling the switch, refreshing the page, then clearing the storage.
|
Invoking `clearAll` will remove all key values.
|
||||||
|
|
||||||
|
In the following example, toggle the switch and reload the page. Then, click the "Clear storage" button. Refresh the page; the theme should be reset to the untoggled state.
|
||||||
|
|
||||||
<FileSource src="/framed/LocalStorage/LocalStorageClear" />
|
<FileSource src="/framed/LocalStorage/LocalStorageClear" />
|
|
@ -2,78 +2,60 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `Modal` component provides a focused dialog for user interactions, confirmations, or data entry. It supports various sizes, states, and customization options to create accessible and user-friendly modal experiences.
|
## Default (transactional)
|
||||||
|
|
||||||
## Default
|
|
||||||
|
|
||||||
Display a modal dialog with a header, content area, and footer by default.
|
|
||||||
|
|
||||||
Create a basic modal dialog with primary and secondary actions. This variant is ideal for confirming user actions or gathering input.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/Modal" />
|
<FileSource src="/framed/Modal/Modal" />
|
||||||
|
|
||||||
## Custom focus
|
## Custom focus
|
||||||
|
|
||||||
Control which element receives focus when the modal opens. Use `selectorPrimaryFocus` to specify the target element using CSS selectors.
|
By default, the modal close button will be focused when opened.
|
||||||
|
|
||||||
|
Use the `selectorPrimaryFocus` to specify the element that should be focused when the modal is opened (e.g., `#id`, `.class`, `[data-attribute]`).
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ModalCustomFocus" />
|
<FileSource src="/framed/Modal/ModalCustomFocus" />
|
||||||
|
|
||||||
## Danger modal
|
## Danger modal
|
||||||
|
|
||||||
Display critical actions or destructive operations with the danger variant. This style emphasizes the severity of the action.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/DangerModal" />
|
<FileSource src="/framed/Modal/DangerModal" />
|
||||||
|
|
||||||
## Passive modal
|
## Passive modal
|
||||||
|
|
||||||
Create a non-interactive modal for displaying information. This variant lacks action buttons and focuses on content presentation.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/PassiveModal" />
|
<FileSource src="/framed/Modal/PassiveModal" />
|
||||||
|
|
||||||
## Has scrolling content
|
## Has scrolling content
|
||||||
|
|
||||||
Enable vertical scrolling for modals with lengthy content. This ensures all content remains accessible while maintaining a reasonable modal height.
|
Setting `hasScrollingContent` to `true` increases the vertical space within the modal.
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ModalScrollingContent" />
|
<FileSource src="/framed/Modal/ModalScrollingContent" />
|
||||||
|
|
||||||
## Multiple modals
|
## Multiple modals
|
||||||
|
|
||||||
Stack multiple modals for complex workflows. Each modal maintains its own state and focus management.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ModalMultiple" />
|
<FileSource src="/framed/Modal/ModalMultiple" />
|
||||||
|
|
||||||
## Multiple secondary buttons
|
## Multiple secondary buttons
|
||||||
|
|
||||||
Add up to two secondary actions using the `secondaryButtons` prop. This provides more flexibility than the single `secondaryButtonText` option.
|
Use the `secondaryButtons` prop to render two secondary buttons. The prop is a 2-tuple type that supersedes `secondaryButtonText`.
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/3ButtonModal" />
|
<FileSource src="/framed/Modal/3ButtonModal" />
|
||||||
|
|
||||||
## Extra-small size
|
## Extra-small size
|
||||||
|
|
||||||
Use the extra-small size for compact notifications by setting `size` to `"xs"`. This is ideal for simple confirmations.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ModalExtraSmall" />
|
<FileSource src="/framed/Modal/ModalExtraSmall" />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size for simple confirmations by setting `size` to `"sm"`. This provides a more focused dialog.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ModalSmall" />
|
<FileSource src="/framed/Modal/ModalSmall" />
|
||||||
|
|
||||||
## Large size
|
## Large size
|
||||||
|
|
||||||
Use the large size for complex content by setting `size` to `"lg"`. This provides more space for detailed information.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ModalLarge" />
|
<FileSource src="/framed/Modal/ModalLarge" />
|
||||||
|
|
||||||
## Prevent close on outside click
|
## Prevent close on outside click
|
||||||
|
|
||||||
Disable closing the modal when clicking outside by setting `preventCloseOnClickOutside` to `true`. This is useful for transactional modals where explicit user action is required.
|
`preventCloseOnClickOutside` prevents the modal from being closed when clicking outside of an open modal. This prop is intended to be used for transactional modals.
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ModalPreventOutsideClick" />
|
<FileSource src="/framed/Modal/ModalPreventOutsideClick" />
|
||||||
|
|
||||||
## Button with icon
|
## Button with icon
|
||||||
|
|
||||||
Enhance modal buttons with icons for better visual context and clarity. This example shows how to add icons to modal actions.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Modal/ModalButtonWithIcon" />
|
<FileSource src="/framed/Modal/ModalButtonWithIcon" />
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `MultiSelect` component provides a dropdown interface for selecting multiple options using checkboxes. It supports filtering, custom formatting, and various states. Each item must have a unique `id` property for proper functionality.
|
`MultiSelect` is keyed for performance reasons.
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">Every <code>items</code> object must have a unique "id" property.</div>
|
<div class="body-short-01">Every <code>items</code> object must have a unique "id" property.</div>
|
||||||
|
@ -11,7 +11,12 @@ The `MultiSelect` component provides a dropdown interface for selecting multiple
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic multi-select dropdown with three contact methods. By default, items are ordered alphabetically.
|
By default, items will be ordered alphabetically based on the `item.text` value.
|
||||||
|
To prevent this, see [#no-alphabetical-ordering](#no-alphabetical-ordering).
|
||||||
|
|
||||||
|
MultiSelect provides interactivity for a list of checkbox inputs. Those
|
||||||
|
checkboxes will remain rendered in the DOM and are submittable within forms.
|
||||||
|
Checkbox attributes can be adjusted via the `itemToInput` prop.
|
||||||
|
|
||||||
<MultiSelect titleText="Contact" label="Select contact methods..."
|
<MultiSelect titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
|
@ -21,7 +26,7 @@ Create a basic multi-select dropdown with three contact methods. By default, ite
|
||||||
|
|
||||||
## Format item display text
|
## Format item display text
|
||||||
|
|
||||||
Format the display text of items using the `itemToString` prop. This example appends the item ID in parentheses.
|
Use the `itemToString` prop to format the display of individual items without modifying the underlying value.
|
||||||
|
|
||||||
<MultiSelect itemToString={item => {
|
<MultiSelect itemToString={item => {
|
||||||
return item.text + ' (' + item.id +')'
|
return item.text + ' (' + item.id +')'
|
||||||
|
@ -34,13 +39,15 @@ Format the display text of items using the `itemToString` prop. This example app
|
||||||
|
|
||||||
## Custom slot
|
## Custom slot
|
||||||
|
|
||||||
Override the default slot to customize item rendering. This example shows how to access and use the item and index values.
|
For even more customization, use the default slot.
|
||||||
|
|
||||||
|
Access the `item` and `index` values through the `let:` directive.
|
||||||
|
|
||||||
<FileSource src="/framed/MultiSelect/MultiSelectSlot" />
|
<FileSource src="/framed/MultiSelect/MultiSelectSlot" />
|
||||||
|
|
||||||
## No alphabetical ordering
|
## No alphabetical ordering
|
||||||
|
|
||||||
Prevent automatic alphabetical ordering by passing a no-op function to `sortItem`. This maintains the original order of items.
|
To prevent alphabetical item ordering, pass a noop function to the `sortItem` prop.
|
||||||
|
|
||||||
<MultiSelect titleText="Contact" label="Select contact methods..."
|
<MultiSelect titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
|
@ -51,7 +58,9 @@ Prevent automatic alphabetical ordering by passing a no-op function to `sortItem
|
||||||
|
|
||||||
## Filterable
|
## Filterable
|
||||||
|
|
||||||
Enable filtering by setting `filterable` to `true`. This example includes a placeholder text for the filter input.
|
Set `filterable` to `true` to enable filtering.
|
||||||
|
|
||||||
|
`$$restProps` are spread to the underlying input element.
|
||||||
|
|
||||||
<MultiSelect spellcheck="false" filterable titleText="Contact" placeholder="Filter contact methods..."
|
<MultiSelect spellcheck="false" filterable titleText="Contact" placeholder="Filter contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
|
@ -61,7 +70,7 @@ Enable filtering by setting `filterable` to `true`. This example includes a plac
|
||||||
|
|
||||||
## Initial selected items
|
## Initial selected items
|
||||||
|
|
||||||
Pre-select items by passing an array of item IDs to `selectedIds`. This example pre-selects Slack and Email.
|
To select (or bind) items, pass an array of item ids to `selectedIds`.
|
||||||
|
|
||||||
<MultiSelect selectedIds="{["0", "1"]}" titleText="Contact" label="Select contact methods..."
|
<MultiSelect selectedIds="{["0", "1"]}" titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
|
@ -71,24 +80,19 @@ Pre-select items by passing an array of item IDs to `selectedIds`. This example
|
||||||
|
|
||||||
## Multiple multi-select dropdowns
|
## Multiple multi-select dropdowns
|
||||||
|
|
||||||
This example demonstrates how to manage multiple dropdowns in a form with coordinated state.
|
|
||||||
|
|
||||||
<FileSource src="/framed/MultiSelect/MultipleMultiSelect" />
|
<FileSource src="/framed/MultiSelect/MultipleMultiSelect" />
|
||||||
|
|
||||||
## Format checkbox values
|
## Format checkbox values
|
||||||
|
|
||||||
Customize checkbox attributes using the `itemToInput` prop. This example sets a consistent name for all checkboxes.
|
|
||||||
|
|
||||||
Use the `itemToInput` prop to customize the user-selectable checkbox values.
|
Use the `itemToInput` prop to customize the user-selectable checkbox values.
|
||||||
This will also override the underlying hidden inputs used for form submission.
|
This will also override the underlying hidden inputs used for form submission.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
itemToInput={(item) => {
|
(item) => ({name: `Contact_${item.id}`], value: item.id})
|
||||||
return {
|
|
||||||
name: `Contact_${item.id}`,
|
|
||||||
value: item.id
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
The above function sets the `name` attribute to
|
The above function sets the `name` attribute to
|
||||||
|
@ -108,7 +112,7 @@ renders, along with each respective item's `id` set to the `value` attribute.
|
||||||
|
|
||||||
## Top direction
|
## Top direction
|
||||||
|
|
||||||
Display the dropdown menu above the input by setting `direction` to `"top"`. This is useful when space below is limited.
|
Set `direction` to `"top"` for the dropdown menu to appear above the input.
|
||||||
|
|
||||||
<MultiSelect direction="top" titleText="Contact" label="Select contact methods..."
|
<MultiSelect direction="top" titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
|
@ -118,7 +122,9 @@ Display the dropdown menu above the input by setting `direction` to `"top"`. Thi
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Hide the label visually while maintaining accessibility by setting `hideLabel` to `true`. The label is still available to screen readers.
|
Set `hideLabel` to `true` to visually hide the label.
|
||||||
|
|
||||||
|
Note that you should still specify a `label` for accessibility.
|
||||||
|
|
||||||
<MultiSelect titleText="Contact" label="Select contact methods..." hideLabel
|
<MultiSelect titleText="Contact" label="Select contact methods..." hideLabel
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
|
@ -128,8 +134,6 @@ Hide the label visually while maintaining accessibility by setting `hideLabel` t
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for dark backgrounds by setting `light` to `true`. This provides better contrast in dark themes.
|
|
||||||
|
|
||||||
<MultiSelect light titleText="Contact" label="Select contact methods..."
|
<MultiSelect light titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
|
@ -138,8 +142,6 @@ Use the light variant for dark backgrounds by setting `light` to `true`. This pr
|
||||||
|
|
||||||
## Inline variant
|
## Inline variant
|
||||||
|
|
||||||
Display the dropdown inline with other content by setting `type` to `"inline"`. This removes the background and border.
|
|
||||||
|
|
||||||
<MultiSelect type="inline" titleText="Contact" label="Select contact methods..."
|
<MultiSelect type="inline" titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
|
@ -148,8 +150,6 @@ Display the dropdown inline with other content by setting `type` to `"inline"`.
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Use the extra-large size for prominent selections by setting `size` to `"xl"`. This provides more visual emphasis.
|
|
||||||
|
|
||||||
<MultiSelect size="xl" titleText="Contact" label="Select contact methods..."
|
<MultiSelect size="xl" titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
|
@ -158,8 +158,6 @@ Use the extra-large size for prominent selections by setting `size` to `"xl"`. T
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size for compact layouts by setting `size` to `"sm"`. This is ideal for secondary selections.
|
|
||||||
|
|
||||||
<MultiSelect size="sm" titleText="Contact" label="Select contact methods..."
|
<MultiSelect size="sm" titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
|
@ -168,8 +166,6 @@ Use the small size for compact layouts by setting `size` to `"sm"`. This is idea
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Indicate an invalid selection by setting `invalid` to `true`. This example shows a required field error.
|
|
||||||
|
|
||||||
<MultiSelect invalid invalidText="A contact method is required" titleText="Contact" label="Select contact methods..."
|
<MultiSelect invalid invalidText="A contact method is required" titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
|
@ -178,8 +174,6 @@ Indicate an invalid selection by setting `invalid` to `true`. This example shows
|
||||||
|
|
||||||
## Warning state
|
## Warning state
|
||||||
|
|
||||||
Indicate a warning state by setting `warn` to `true`. This example shows a warning about unassociated accounts.
|
|
||||||
|
|
||||||
<MultiSelect warn warnText="One or more contact methods are not associated with your account" titleText="Contact" label="Select contact methods..."
|
<MultiSelect warn warnText="One or more contact methods are not associated with your account" titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
|
@ -188,8 +182,6 @@ Indicate a warning state by setting `warn` to `true`. This example shows a warni
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the entire dropdown by setting `disabled` to `true`. This prevents all user interaction.
|
|
||||||
|
|
||||||
<MultiSelect disabled titleText="Contact" label="Select contact methods..."
|
<MultiSelect disabled titleText="Contact" label="Select contact methods..."
|
||||||
items="{[{id: "0", text: "Slack"},
|
items="{[{id: "0", text: "Slack"},
|
||||||
{id: "1", text: "Email"},
|
{id: "1", text: "Email"},
|
||||||
|
@ -198,7 +190,7 @@ Disable the entire dropdown by setting `disabled` to `true`. This prevents all u
|
||||||
|
|
||||||
## Disabled items
|
## Disabled items
|
||||||
|
|
||||||
Disable specific items using the `disabled` property in the `items` prop. This example disables the Email option.
|
Use the `disabled` property in the `items` prop to disable specific items.
|
||||||
|
|
||||||
<MultiSelect
|
<MultiSelect
|
||||||
titleText="Contact"
|
titleText="Contact"
|
||||||
|
|
|
@ -7,100 +7,74 @@ components: ["NumberInput", "NumberInputSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `NumberInput` component provides a controlled input for numerical values. It supports validation, step values, and various states to ensure accurate data entry.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic number input with increment and decrement controls. The input accepts numerical values and provides visual feedback.
|
This component requires a numerical value for `value`.
|
||||||
|
|
||||||
|
See [#no-value](#no-value) to allow for an empty value.
|
||||||
|
|
||||||
<NumberInput label="Clusters" value={0} />
|
<NumberInput label="Clusters" value={0} />
|
||||||
|
|
||||||
## No value
|
## With helper text
|
||||||
|
|
||||||
Allow empty values by setting both `allowEmpty` to `true` and `value` to `null`. The `allowEmpty` prop enables the empty state, while `value={null}` represents no value.
|
|
||||||
|
|
||||||
<FileSource src="/framed/NumberInput/NumberInputEmpty" />
|
|
||||||
|
|
||||||
## Helper text
|
|
||||||
|
|
||||||
Add descriptive text below the input using the `helperText` prop. This helps users understand the expected input.
|
|
||||||
|
|
||||||
<NumberInput label="Clusters" value={0} helperText="Clusters provisioned in your region" />
|
<NumberInput label="Clusters" value={0} helperText="Clusters provisioned in your region" />
|
||||||
|
|
||||||
## Minimum and maximum values
|
## Minimum and maximum values
|
||||||
|
|
||||||
Constrain input values using `min` and `max` props. This example limits values between 4 and 20.
|
|
||||||
|
|
||||||
<NumberInput min="{4}" max="{20}" value="{4}" invalidText="Number must be between 4 and 20." helperText="Clusters provisioned in your region" label="Clusters (4 min, 20 max)" />
|
<NumberInput min="{4}" max="{20}" value="{4}" invalidText="Number must be between 4 and 20." helperText="Clusters provisioned in your region" label="Clusters (4 min, 20 max)" />
|
||||||
|
|
||||||
## Step value
|
## With step value
|
||||||
|
|
||||||
Control the increment/decrement step size using the `step` prop. This example uses a step of 0.1.
|
|
||||||
|
|
||||||
<NumberInput value="{1}" helperText="Step of 0.1" step={0.1} label="Clusters" />
|
<NumberInput value="{1}" helperText="Step of 0.1" step={0.1} label="Clusters" />
|
||||||
|
|
||||||
## Hidden label
|
## No value
|
||||||
|
|
||||||
Hide the label visually while maintaining accessibility by setting `hideLabel` to `true`. The label is still available to screen readers.
|
Set `allowEmpty` to `true` to allow for no value.
|
||||||
|
|
||||||
|
Set `value` to `null` to denote "no value."
|
||||||
|
|
||||||
|
<FileSource src="/framed/NumberInput/NumberInputEmpty" />
|
||||||
|
|
||||||
|
## Hidden label
|
||||||
|
|
||||||
<NumberInput hideLabel label="Clusters" value={0} />
|
<NumberInput hideLabel label="Clusters" value={0} />
|
||||||
|
|
||||||
## Extra-large size
|
## Hidden steppers
|
||||||
|
|
||||||
Use the extra-large size for prominent inputs by setting `size` to `"xl"`. This provides more visual emphasis.
|
<NumberInput hideSteppers label="Clusters" value={0} />
|
||||||
|
|
||||||
|
## Light variant
|
||||||
|
|
||||||
|
<NumberInput light label="Clusters" value={0} />
|
||||||
|
|
||||||
|
## Read-only variant
|
||||||
|
|
||||||
|
<NumberInput readonly label="Clusters" value={0} />
|
||||||
|
|
||||||
|
## Extra-large size
|
||||||
|
|
||||||
<NumberInput size="xl" label="Clusters" value={0} />
|
<NumberInput size="xl" label="Clusters" value={0} />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size for compact layouts by setting `size` to `"sm"`. This is ideal for secondary inputs.
|
|
||||||
|
|
||||||
<NumberInput size="sm" label="Clusters" value={0} />
|
<NumberInput size="sm" label="Clusters" value={0} />
|
||||||
|
|
||||||
## Light variant
|
|
||||||
|
|
||||||
Use the light variant for dark backgrounds by setting `light` to `true`. This provides better contrast in dark themes.
|
|
||||||
|
|
||||||
<NumberInput light label="Clusters" value={0} />
|
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Indicate an invalid value by setting `invalid` to `true`. This example shows a validation error.
|
|
||||||
|
|
||||||
<NumberInput invalid invalidText="Invalid value" label="Clusters" value={0} />
|
<NumberInput invalid invalidText="Invalid value" label="Clusters" value={0} />
|
||||||
|
|
||||||
## Warning state
|
## Warning state
|
||||||
|
|
||||||
Indicate a warning state by setting `warn` to `true`. This example shows a warning about the input value.
|
|
||||||
|
|
||||||
<NumberInput warn warnText="A high number may impact initial rollout" label="Clusters" value={25} />
|
<NumberInput warn warnText="A high number may impact initial rollout" label="Clusters" value={25} />
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the input by setting `disabled` to `true`. This prevents all user interaction.
|
|
||||||
|
|
||||||
<NumberInput disabled label="Clusters" value={0} />
|
<NumberInput disabled label="Clusters" value={0} />
|
||||||
|
|
||||||
## Read-only state
|
|
||||||
|
|
||||||
Make the input read-only by setting `readonly` to `true`. This allows viewing but prevents editing.
|
|
||||||
|
|
||||||
<NumberInput readonly label="Clusters" value={0} />
|
|
||||||
|
|
||||||
## Hidden steppers
|
|
||||||
|
|
||||||
Hide the increment/decrement controls by setting `hideSteppers` to `true`. This provides a simpler input interface.
|
|
||||||
|
|
||||||
<NumberInput hideSteppers label="Clusters" value={0} />
|
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state using the `NumberInputSkeleton` component. This is useful while data is being fetched.
|
|
||||||
|
|
||||||
<NumberInputSkeleton />
|
<NumberInputSkeleton />
|
||||||
|
|
||||||
## Skeleton without label
|
## Skeleton without label
|
||||||
|
|
||||||
Show a loading state without a label by setting `hideLabel` to `true`. This maintains layout consistency.
|
|
||||||
|
|
||||||
<NumberInputSkeleton hideLabel />
|
<NumberInputSkeleton hideLabel />
|
|
@ -7,8 +7,6 @@ components: ["OrderedList", "ListItem"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`OrderedList` provides a structured way to display numbered lists of items. It supports nested lists, native browser styles, and expressive typography for enhanced visual hierarchy.
|
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Tip:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Tip:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
Consider using the <Link href="/components/RecursiveList#ordered">RecursiveList</Link> component for rendering tree structured data.
|
Consider using the <Link href="/components/RecursiveList#ordered">RecursiveList</Link> component for rendering tree structured data.
|
||||||
|
@ -17,8 +15,6 @@ components: ["OrderedList", "ListItem"]
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic ordered list by wrapping `ListItem` components within `OrderedList`.
|
|
||||||
|
|
||||||
<OrderedList>
|
<OrderedList>
|
||||||
<ListItem>Ordered list item</ListItem>
|
<ListItem>Ordered list item</ListItem>
|
||||||
<ListItem>Ordered list item</ListItem>
|
<ListItem>Ordered list item</ListItem>
|
||||||
|
@ -27,8 +23,6 @@ Create a basic ordered list by wrapping `ListItem` components within `OrderedLis
|
||||||
|
|
||||||
## With links
|
## With links
|
||||||
|
|
||||||
Add interactive elements like `Link` components within list items.
|
|
||||||
|
|
||||||
<OrderedList>
|
<OrderedList>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<Link href="#">Ordered list item</Link>
|
<Link href="#">Ordered list item</Link>
|
||||||
|
@ -43,8 +37,6 @@ Add interactive elements like `Link` components within list items.
|
||||||
|
|
||||||
## Nested
|
## Nested
|
||||||
|
|
||||||
Set the `nested` prop to `true` to create hierarchical lists with proper indentation and numbering.
|
|
||||||
|
|
||||||
<OrderedList>
|
<OrderedList>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
Ordered list level 1
|
Ordered list level 1
|
||||||
|
@ -65,7 +57,7 @@ Set the `nested` prop to `true` to create hierarchical lists with proper indenta
|
||||||
|
|
||||||
## Native list styles
|
## Native list styles
|
||||||
|
|
||||||
Enable native browser list styles by setting the `native` prop to `true`. This is useful for large lists where the list number may overlap with the list item text.
|
Use the `native` attribute to enable default browser list styles. This is useful for large lists (i.e., 1000 or more items) where the list number may overlap with the list item text.
|
||||||
|
|
||||||
<OrderedList native>
|
<OrderedList native>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
|
@ -87,7 +79,7 @@ Enable native browser list styles by setting the `native` prop to `true`. This i
|
||||||
|
|
||||||
## Expressive styles
|
## Expressive styles
|
||||||
|
|
||||||
Use Carbon's expressive typesetting by setting the `expressive` prop to `true`.
|
Set `expressive` to `true` to use Carbon's expressive typesetting.
|
||||||
|
|
||||||
<OrderedList expressive>
|
<OrderedList expressive>
|
||||||
<ListItem><Link size="lg" href="#">Ordered list item</Link></ListItem>
|
<ListItem><Link size="lg" href="#">Ordered list item</Link></ListItem>
|
||||||
|
|
|
@ -8,12 +8,8 @@ components: ["OverflowMenu", "OverflowMenuItem"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`OverflowMenu` provides a compact way to display a list of actions or options. It renders as a button that opens a dropdown menu when clicked, making it ideal for secondary actions or overflow content.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic overflow menu by wrapping `OverflowMenuItem` components within `OverflowMenu`.
|
|
||||||
|
|
||||||
<OverflowMenu>
|
<OverflowMenu>
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
||||||
|
@ -22,7 +18,7 @@ Create a basic overflow menu by wrapping `OverflowMenuItem` components within `O
|
||||||
|
|
||||||
## Flipped
|
## Flipped
|
||||||
|
|
||||||
Set `flipped` to `true` to position the menu to the left of the button.
|
Set `flipped` to `true` for the menu to be positioned to the left of the button.
|
||||||
|
|
||||||
<OverflowMenu flipped>
|
<OverflowMenu flipped>
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
|
@ -30,9 +26,7 @@ Set `flipped` to `true` to position the menu to the left of the button.
|
||||||
<OverflowMenuItem danger text="Delete service" />
|
<OverflowMenuItem danger text="Delete service" />
|
||||||
</OverflowMenu>
|
</OverflowMenu>
|
||||||
|
|
||||||
## Menu direction
|
## Menu direction top
|
||||||
|
|
||||||
Set `direction` to `"top"` to position the menu above the button.
|
|
||||||
|
|
||||||
<OverflowMenu flipped direction="top">
|
<OverflowMenu flipped direction="top">
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
|
@ -42,8 +36,6 @@ Set `direction` to `"top"` to position the menu above the button.
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Enable the light variant by setting `light` to `true`.
|
|
||||||
|
|
||||||
<OverflowMenu light>
|
<OverflowMenu light>
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
||||||
|
@ -52,8 +44,6 @@ Enable the light variant by setting `light` to `true`.
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Set `size` to `"xl"` for an extra-large overflow menu.
|
|
||||||
|
|
||||||
<OverflowMenu size="xl">
|
<OverflowMenu size="xl">
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
||||||
|
@ -62,8 +52,6 @@ Set `size` to `"xl"` for an extra-large overflow menu.
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Set `size` to `"sm"` for a small overflow menu.
|
|
||||||
|
|
||||||
<OverflowMenu size="sm">
|
<OverflowMenu size="sm">
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
||||||
|
@ -72,7 +60,7 @@ Set `size` to `"sm"` for a small overflow menu.
|
||||||
|
|
||||||
## Custom primary focus
|
## Custom primary focus
|
||||||
|
|
||||||
Set `primaryFocus` to `true` on a menu item to focus it when opening the dropdown.
|
By default, the first overflow menu item is focused when opening the dropdown.
|
||||||
|
|
||||||
<OverflowMenu>
|
<OverflowMenu>
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
|
@ -82,8 +70,6 @@ Set `primaryFocus` to `true` on a menu item to focus it when opening the dropdow
|
||||||
|
|
||||||
## Custom trigger icon
|
## Custom trigger icon
|
||||||
|
|
||||||
Replace the default vertical overflow menu icon with a custom icon.
|
|
||||||
|
|
||||||
<OverflowMenu icon={Add}>
|
<OverflowMenu icon={Add}>
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
<OverflowMenuItem href="https://cloud.ibm.com/docs/api-gateway/" text="API documentation" />
|
||||||
|
@ -92,8 +78,6 @@ Replace the default vertical overflow menu icon with a custom icon.
|
||||||
|
|
||||||
## Custom trigger slot
|
## Custom trigger slot
|
||||||
|
|
||||||
Use the `menu` slot to customize the trigger button content.
|
|
||||||
|
|
||||||
<OverflowMenu style="width: auto;">
|
<OverflowMenu style="width: auto;">
|
||||||
<div slot="menu" style="padding: 1rem; color: red;">Custom trigger</div>
|
<div slot="menu" style="padding: 1rem; color: red;">Custom trigger</div>
|
||||||
<OverflowMenuItem text="Manage credentials" />
|
<OverflowMenuItem text="Manage credentials" />
|
||||||
|
@ -103,7 +87,7 @@ Use the `menu` slot to customize the trigger button content.
|
||||||
|
|
||||||
## Disabled items
|
## Disabled items
|
||||||
|
|
||||||
Set `disabled` to `true` to disable menu items. Use `hasDivider` to add visual separation between items.
|
Disable menu items by setting `disabled` to `true`.
|
||||||
|
|
||||||
<OverflowMenu>
|
<OverflowMenu>
|
||||||
<OverflowMenuItem text="Create key" />
|
<OverflowMenuItem text="Create key" />
|
||||||
|
|
|
@ -7,52 +7,26 @@ components: ["Pagination", "PaginationSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Pagination` provides navigation controls for large data sets. It displays the current page, total items, and allows users to change page size and navigate between pages.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic pagination component with default page size options.
|
<Pagination totalItems={102} pageSizes="{[10, 15, 20]}" />
|
||||||
|
|
||||||
<Pagination totalItems={102} pageSizes={[10, 15, 20]} />
|
|
||||||
|
|
||||||
## Current page
|
## Current page
|
||||||
|
|
||||||
Set the current page using the `page` prop.
|
|
||||||
|
|
||||||
<Pagination totalItems={102} page={4} />
|
<Pagination totalItems={102} page={4} />
|
||||||
|
|
||||||
## Custom page sizes
|
## Custom page sizes
|
||||||
|
|
||||||
Specify custom page sizes and set a default page size.
|
<Pagination totalItems={102} pageSizes="{[16, 36, 99]}" pageSize="{36}" />
|
||||||
|
|
||||||
<Pagination totalItems={102} pageSizes={[16, 36, 99]} pageSize={36} />
|
|
||||||
|
|
||||||
## Unknown pages
|
|
||||||
|
|
||||||
Set `pagesUnknown` to `true` when the total number of pages is unknown. This renders the item range text without factoring in the total number of pages.
|
|
||||||
|
|
||||||
<Pagination pagesUnknown />
|
|
||||||
|
|
||||||
## Page window
|
|
||||||
|
|
||||||
The number of native select items rendered is derived from `totalItems`. For large datasets, this can impact performance. Use `pageWindow` to control the number of rendered items.
|
|
||||||
|
|
||||||
<Pagination totalItems={100_000} pageSizes={[10, 15, 20]} />
|
|
||||||
|
|
||||||
## Hidden page input
|
## Hidden page input
|
||||||
|
|
||||||
Disable the page input by setting `pageInputDisabled` to `true`.
|
|
||||||
|
|
||||||
<Pagination totalItems={102} pageInputDisabled />
|
<Pagination totalItems={102} pageInputDisabled />
|
||||||
|
|
||||||
## Hidden page size
|
## Hidden page size
|
||||||
|
|
||||||
Disable the page size selector by setting `pageSizeInputDisabled` to `true`.
|
|
||||||
|
|
||||||
<Pagination totalItems={102} pageSizeInputDisabled />
|
<Pagination totalItems={102} pageSizeInputDisabled />
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Use `PaginationSkeleton` to show a loading state.
|
|
||||||
|
|
||||||
<PaginationSkeleton />
|
<PaginationSkeleton />
|
||||||
|
|
|
@ -3,11 +3,9 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`PaginationNav` provides a compact navigation interface for paginated content. It displays page numbers and navigation buttons, with support for overflow menus when there are many pages.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic pagination navigation with default settings.
|
`PaginationNav` renders `10` items and does not loop by default.
|
||||||
|
|
||||||
<PaginationNav />
|
<PaginationNav />
|
||||||
|
|
||||||
|
@ -17,35 +15,37 @@ Use the `page` prop to bind to the current page number.
|
||||||
|
|
||||||
<FileSource src="/framed/PaginationNav/PaginationNavReactive" />
|
<FileSource src="/framed/PaginationNav/PaginationNavReactive" />
|
||||||
|
|
||||||
## Total pages
|
## Total
|
||||||
|
|
||||||
Specify the total number of pages using the `total` prop.
|
Use the `total` prop to specify the number of pages.
|
||||||
|
|
||||||
<PaginationNav total={3} />
|
<PaginationNav total={3} />
|
||||||
|
|
||||||
## Loop navigation
|
## Loopable
|
||||||
|
|
||||||
Set `loop` to `true` to enable circular navigation between pages.
|
Set `loop` to `true` for navigation to be looped.
|
||||||
|
|
||||||
<PaginationNav total={3} loop />
|
<PaginationNav total={3} loop />
|
||||||
|
|
||||||
## Visible pages
|
## Shown
|
||||||
|
|
||||||
Control the number of visible page numbers with the `shown` prop.
|
If `total` is greater than `10`, the number of items shown will be truncated to `10`.
|
||||||
|
|
||||||
|
Use `shown` to override the number of items shown.
|
||||||
|
|
||||||
<PaginationNav total={100} shown={5} />
|
<PaginationNav total={100} shown={5} />
|
||||||
|
|
||||||
## Custom button text
|
## Custom button text
|
||||||
|
|
||||||
Customize the navigation button text using `forwardText` and `backwardText`.
|
Use the `forwardText` and `backwardText` props to customize the button text.
|
||||||
|
|
||||||
<PaginationNav
|
<PaginationNav
|
||||||
forwardText="Next"
|
forwardText="Next"
|
||||||
backwardText="Previous"
|
backwardText="Previous"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
## Tooltip position
|
## Tooltip Position
|
||||||
|
|
||||||
Set the tooltip position relative to the navigation buttons using `tooltipPosition`.
|
Use the `tooltipPosition` prop to change the alignment of the tooltip.
|
||||||
|
|
||||||
<PaginationNav tooltipPosition="outside" total={3} loop />
|
<PaginationNav tooltipPosition="outside" total={3} loop />
|
|
@ -3,12 +3,8 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`PasswordInput` provides a secure text input field with a visibility toggle for password entry. It includes features for validation, warnings, and accessibility.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic password input with a label and placeholder.
|
|
||||||
|
|
||||||
<PasswordInput labelText="Password" placeholder="Enter password..." />
|
<PasswordInput labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## Custom tooltip alignment
|
## Custom tooltip alignment
|
||||||
|
@ -25,54 +21,36 @@ Set prop `type` to `"text"` to toggle password visibility.
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Visually hide the label while maintaining accessibility.
|
|
||||||
|
|
||||||
<PasswordInput hideLabel labelText="Password" placeholder="Enter password..." />
|
<PasswordInput hideLabel labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Enable the light variant for use on dark backgrounds.
|
|
||||||
|
|
||||||
<PasswordInput light labelText="Password" placeholder="Enter password..." />
|
<PasswordInput light labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## Inline
|
## Inline
|
||||||
|
|
||||||
Display the input with an inline label layout.
|
|
||||||
|
|
||||||
<PasswordInput inline labelText="Password" placeholder="Enter password..." />
|
<PasswordInput inline labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Use the extra-large size variant for increased visibility.
|
|
||||||
|
|
||||||
<PasswordInput size="xl" labelText="Password" placeholder="Enter password..." />
|
<PasswordInput size="xl" labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size variant for compact layouts.
|
|
||||||
|
|
||||||
<PasswordInput size="sm" labelText="Password" placeholder="Enter password..." />
|
<PasswordInput size="sm" labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Display an error message when the input is invalid.
|
|
||||||
|
|
||||||
<PasswordInput invalid invalidText="Incorrect user name or password." labelText="Password" placeholder="Enter password..." />
|
<PasswordInput invalid invalidText="Incorrect user name or password." labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## Warning state
|
## Warning state
|
||||||
|
|
||||||
Show a warning message for non-critical issues.
|
|
||||||
|
|
||||||
<PasswordInput warn warnText="Password has been reset." labelText="Password" placeholder="Enter password..." />
|
<PasswordInput warn warnText="Password has been reset." labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the input to prevent user interaction.
|
|
||||||
|
|
||||||
<PasswordInput disabled labelText="Password" placeholder="Enter password..." />
|
<PasswordInput disabled labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
||||||
## With helper text
|
## With helper text
|
||||||
|
|
||||||
Add helper text to provide additional context or instructions.
|
|
||||||
|
|
||||||
<PasswordInput helperText="Your password should be hard to guess" labelText="Password" placeholder="Enter password..." />
|
<PasswordInput helperText="Your password should be hard to guess" labelText="Password" placeholder="Enter password..." />
|
||||||
|
|
|
@ -3,11 +3,9 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Popover` provides a floating container that displays content relative to a trigger element. It supports various alignments, caret indicators, and visual variants.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic popover with absolute positioning.
|
By default, the position of the popover component is absolute.
|
||||||
|
|
||||||
<div data-outline>
|
<div data-outline>
|
||||||
Parent
|
Parent
|
||||||
|
@ -18,7 +16,7 @@ Create a basic popover with absolute positioning.
|
||||||
|
|
||||||
## Relative position
|
## Relative position
|
||||||
|
|
||||||
Set `relative` to `true` to position the popover relative to its parent element.
|
Set `relative` to `true` to use a relative position.
|
||||||
|
|
||||||
<div data-outline>
|
<div data-outline>
|
||||||
Parent
|
Parent
|
||||||
|
@ -29,7 +27,7 @@ Set `relative` to `true` to position the popover relative to its parent element.
|
||||||
|
|
||||||
## Close on outside click
|
## Close on outside click
|
||||||
|
|
||||||
Enable automatic closing when clicking outside the popover using `closeOnOutsideClick`.
|
Set `closeOnOutsideClick` to set `open` to `false` when clicking outside of the popover.
|
||||||
|
|
||||||
<div data-outline>
|
<div data-outline>
|
||||||
Parent
|
Parent
|
||||||
|
@ -113,8 +111,6 @@ The default `align` value is `"top"`.
|
||||||
|
|
||||||
## With caret
|
## With caret
|
||||||
|
|
||||||
Add a caret indicator to the popover using the `caret` prop.
|
|
||||||
|
|
||||||
<div data-outline>
|
<div data-outline>
|
||||||
Parent
|
Parent
|
||||||
<Popover caret open>
|
<Popover caret open>
|
||||||
|
@ -124,7 +120,9 @@ Add a caret indicator to the popover using the `caret` prop.
|
||||||
|
|
||||||
## Custom caret alignment
|
## Custom caret alignment
|
||||||
|
|
||||||
By default, the caret is aligned "top". Possible `align` values include `"top"`, `"top-left"`, `"top-right"`, `"bottom"`, `"bottom-left"`, `"bottom-right"`, `"left"`, `"left-bottom"`, `"left-top"`, `"right"`, `"right-bottom"` or `"right-top"`.
|
By default, the caret is aligned "top".
|
||||||
|
|
||||||
|
Possible `align` values include `"top"`, `"top-left"`, `"top-right"`, `"bottom"`, `"bottom-left"`, `"bottom-right"`, `"left"`, `"left-bottom"`, `"left-top"`, `"right"`, `"right-bottom"` or `"right-top"`.
|
||||||
|
|
||||||
<div data-outline>
|
<div data-outline>
|
||||||
Parent
|
Parent
|
||||||
|
@ -135,8 +133,6 @@ By default, the caret is aligned "top". Possible `align` values include `"top"`,
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Enable the light variant for use on dark backgrounds.
|
|
||||||
|
|
||||||
<div data-outline>
|
<div data-outline>
|
||||||
Parent
|
Parent
|
||||||
<Popover light open>
|
<Popover light open>
|
||||||
|
@ -146,8 +142,6 @@ Enable the light variant for use on dark backgrounds.
|
||||||
|
|
||||||
## High contrast variant
|
## High contrast variant
|
||||||
|
|
||||||
Enable the high contrast variant for improved visibility.
|
|
||||||
|
|
||||||
<div data-outline>
|
<div data-outline>
|
||||||
Parent
|
Parent
|
||||||
<Popover highContrast open>
|
<Popover highContrast open>
|
||||||
|
|
|
@ -3,70 +3,66 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`ProgressBar` provides a visual indicator of progress for operations such as file uploads or data processing. It supports determinate and indeterminate states, various sizes, and status indicators.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create an indeterminate progress bar that continuously animates.
|
Without a specified `value` prop, the progress bar is indeterminate.
|
||||||
|
|
||||||
<ProgressBar helperText="Loading..." />
|
<ProgressBar helperText="Loading..." />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size variant for compact layouts.
|
Specify `size="sm"` to use the small variant.
|
||||||
|
|
||||||
<ProgressBar size="sm" helperText="Loading..." />
|
<ProgressBar size="sm" helperText="Loading..." />
|
||||||
|
|
||||||
## Percentage
|
## Percentage
|
||||||
|
|
||||||
Display progress as a percentage using the `value` prop.
|
Specify a `value` for the progress bar to be determinate.
|
||||||
|
|
||||||
<ProgressBar value={40} labelText="Upload status" helperText="40 MB of 100 MB" />
|
<ProgressBar value={40} labelText="Upload status" helperText="40 MB of 100 MB" />
|
||||||
|
|
||||||
## Finished status
|
## Finished status
|
||||||
|
|
||||||
Show completion status with a checkmark icon.
|
Specify `status="finished"` for the progress bar.
|
||||||
|
|
||||||
<ProgressBar value={100} status="finished" labelText="Upload file" helperText="Upload complete" />
|
<ProgressBar value={100} status="finished" labelText="Upload file" helperText="Upload complete" />
|
||||||
|
|
||||||
## Error status
|
## Error status
|
||||||
|
|
||||||
Indicate errors with an error icon and red styling.
|
Specify `status="error"` for the progress bar.
|
||||||
|
|
||||||
<ProgressBar value={0} status="error" labelText="Upload file" helperText="Invalid file format" />
|
<ProgressBar value={0} status="error" labelText="Upload file" helperText="Invalid file format" />
|
||||||
|
|
||||||
## Custom max value
|
## Custom max value
|
||||||
|
|
||||||
Set a custom maximum value for the progress bar.
|
The default `max` value is `100`.
|
||||||
|
|
||||||
<ProgressBar value={40} max={200} labelText="Upload status" helperText="40 MB of 200 MB" />
|
<ProgressBar value={40} max={200} labelText="Upload status" helperText="40 MB of 200 MB" />
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Visually hide the label while maintaining accessibility.
|
It's recommended that you provide a `labelText` for accessibility.
|
||||||
|
|
||||||
|
Use `hideLabel` to visually hide the label text.
|
||||||
|
|
||||||
<ProgressBar hideLabel value={40} labelText="Upload status" helperText="40 MB of 100 MB" />
|
<ProgressBar hideLabel value={40} labelText="Upload status" helperText="40 MB of 100 MB" />
|
||||||
|
|
||||||
## Inline variant
|
## Inline variant
|
||||||
|
|
||||||
Use the inline variant to display progress without helper text.
|
The inline variant visually hides the `helperText`.
|
||||||
|
|
||||||
<ProgressBar kind="inline" value={40} labelText="Upload status" helperText="40 MB of 100 MB" />
|
<ProgressBar kind="inline" value={40} labelText="Upload status" helperText="40 MB of 100 MB" />
|
||||||
|
|
||||||
## Indented variant
|
## Indented variant
|
||||||
|
|
||||||
Use the indented variant for a more compact layout.
|
|
||||||
|
|
||||||
<ProgressBar kind="indented" value={40} labelText="Upload status" helperText="40 MB of 100 MB" />
|
<ProgressBar kind="indented" value={40} labelText="Upload status" helperText="40 MB of 100 MB" />
|
||||||
|
|
||||||
## Indented status variant
|
## Indented status variant
|
||||||
|
|
||||||
Combine the indented variant with status indicators.
|
|
||||||
|
|
||||||
<ProgressBar kind="indented" status="finished" value={40} labelText="Upload file" helperText="Upload complete" />
|
<ProgressBar kind="indented" status="finished" value={40} labelText="Upload file" helperText="Upload complete" />
|
||||||
|
|
||||||
## UX example
|
## UX example
|
||||||
|
|
||||||
Demonstrate a complete upload flow with start and end states.
|
This example shows how to animate the progress bar from 0 to 100% with start and end states.
|
||||||
|
|
||||||
<FileSource src="/framed/ProgressBar/ProgressBarUx" />
|
<FileSource src="/framed/ProgressBar/ProgressBarUx" />
|
|
@ -7,11 +7,7 @@ components: ["ProgressIndicator", "ProgressStep", "ProgressIndicatorSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`ProgressIndicator` provides a visual representation of progress through a sequence of steps. It supports horizontal and vertical layouts, step completion states, and interactive navigation.
|
## Default (horizontal)
|
||||||
|
|
||||||
## Default
|
|
||||||
|
|
||||||
Create a horizontal progress indicator with four steps.
|
|
||||||
|
|
||||||
<ProgressIndicator currentIndex={2}>
|
<ProgressIndicator currentIndex={2}>
|
||||||
<ProgressStep complete
|
<ProgressStep complete
|
||||||
|
@ -34,7 +30,9 @@ Create a horizontal progress indicator with four steps.
|
||||||
|
|
||||||
## Prevent change on click
|
## Prevent change on click
|
||||||
|
|
||||||
Disable automatic step selection when clicking completed steps.
|
By default, clicking any step that is complete will update the current step index.
|
||||||
|
|
||||||
|
Set `preventChangeOnClick` to `true` to prevent this behavior.
|
||||||
|
|
||||||
<ProgressIndicator preventChangeOnClick currentIndex={2}>
|
<ProgressIndicator preventChangeOnClick currentIndex={2}>
|
||||||
<ProgressStep complete
|
<ProgressStep complete
|
||||||
|
@ -57,14 +55,12 @@ Disable automatic step selection when clicking completed steps.
|
||||||
|
|
||||||
## Programmatic usage
|
## Programmatic usage
|
||||||
|
|
||||||
Update the current step programmatically while maintaining step completion rules.
|
When programmatically updating the `currentIndex`, keep in mind that only completed steps should be selectable.
|
||||||
|
|
||||||
<FileSource src="/framed/ProgressIndicator/ProgrammaticProgressIndicator" />
|
<FileSource src="/framed/ProgressIndicator/ProgrammaticProgressIndicator" />
|
||||||
|
|
||||||
## Invalid step
|
## Invalid step
|
||||||
|
|
||||||
Mark a step as invalid to indicate an error state.
|
|
||||||
|
|
||||||
<ProgressIndicator>
|
<ProgressIndicator>
|
||||||
<ProgressStep complete
|
<ProgressStep complete
|
||||||
label="Step 1"
|
label="Step 1"
|
||||||
|
@ -82,8 +78,6 @@ Mark a step as invalid to indicate an error state.
|
||||||
|
|
||||||
## Disabled steps
|
## Disabled steps
|
||||||
|
|
||||||
Disable specific steps to prevent user interaction.
|
|
||||||
|
|
||||||
<ProgressIndicator>
|
<ProgressIndicator>
|
||||||
<ProgressStep complete
|
<ProgressStep complete
|
||||||
label="Step 1"
|
label="Step 1"
|
||||||
|
@ -101,8 +95,6 @@ Disable specific steps to prevent user interaction.
|
||||||
|
|
||||||
## Spaced-equally
|
## Spaced-equally
|
||||||
|
|
||||||
Distribute steps evenly across the available space.
|
|
||||||
|
|
||||||
<ProgressIndicator spaceEqually>
|
<ProgressIndicator spaceEqually>
|
||||||
<ProgressStep
|
<ProgressStep
|
||||||
label="Really long label"
|
label="Really long label"
|
||||||
|
@ -120,8 +112,6 @@ Distribute steps evenly across the available space.
|
||||||
|
|
||||||
## Vertical
|
## Vertical
|
||||||
|
|
||||||
Display steps in a vertical layout.
|
|
||||||
|
|
||||||
<ProgressIndicator vertical>
|
<ProgressIndicator vertical>
|
||||||
<ProgressStep
|
<ProgressStep
|
||||||
label="Really long label"
|
label="Really long label"
|
||||||
|
@ -139,12 +129,10 @@ Display steps in a vertical layout.
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state with the specified number of steps.
|
Use the `count` prop to specify the number of progress steps to render.
|
||||||
|
|
||||||
<ProgressIndicatorSkeleton />
|
<ProgressIndicatorSkeleton />
|
||||||
|
|
||||||
## Skeleton (vertical)
|
## Skeleton (vertical)
|
||||||
|
|
||||||
Show a vertical loading state with the specified number of steps.
|
|
||||||
|
|
||||||
<ProgressIndicatorSkeleton vertical />
|
<ProgressIndicatorSkeleton vertical />
|
|
@ -7,11 +7,9 @@ components: ["RadioButtonGroup", "RadioButton", "RadioButtonSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`RadioButton` provides a selection control that allows users to choose a single option from a set. It supports both individual and grouped usage, with options for horizontal and vertical layouts.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a group of radio buttons with a shared name and legend.
|
The `name` prop set on `RadioButtonGroup` is passed to the individual `RadioButton` inputs.
|
||||||
|
|
||||||
<RadioButtonGroup legendText="Storage tier (disk)" name="plan" selected="standard">
|
<RadioButtonGroup legendText="Storage tier (disk)" name="plan" selected="standard">
|
||||||
<RadioButton labelText="Free (1 GB)" value="free" />
|
<RadioButton labelText="Free (1 GB)" value="free" />
|
||||||
|
@ -21,7 +19,9 @@ Create a group of radio buttons with a shared name and legend.
|
||||||
|
|
||||||
## Hidden legend
|
## Hidden legend
|
||||||
|
|
||||||
Visually hide the legend while maintaining accessibility.
|
It's recommended that you provide a legend for accessibility.
|
||||||
|
|
||||||
|
Use `hideLegend` to visually hide the legend text.
|
||||||
|
|
||||||
<RadioButtonGroup hideLegend legendText="Storage tier (disk)" name="plan-legend" selected="standard">
|
<RadioButtonGroup hideLegend legendText="Storage tier (disk)" name="plan-legend" selected="standard">
|
||||||
<RadioButton labelText="Free (1 GB)" value="free" />
|
<RadioButton labelText="Free (1 GB)" value="free" />
|
||||||
|
@ -31,7 +31,7 @@ Visually hide the legend while maintaining accessibility.
|
||||||
|
|
||||||
## Legend text slot
|
## Legend text slot
|
||||||
|
|
||||||
Customize the legend text with additional content.
|
Use the named "legendText" slot to customize the legend text.
|
||||||
|
|
||||||
<RadioButtonGroup name="plan-legend-slot" selected="standard">
|
<RadioButtonGroup name="plan-legend-slot" selected="standard">
|
||||||
<div slot="legendText" style:display="flex">
|
<div slot="legendText" style:display="flex">
|
||||||
|
@ -49,14 +49,12 @@ Customize the legend text with additional content.
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
Bind and update the selected value programmatically.
|
Use the `selected` prop to bind and update the selected value.
|
||||||
|
|
||||||
<FileSource src="/framed/RadioButton/RadioButtonReactive" />
|
<FileSource src="/framed/RadioButton/RadioButtonReactive" />
|
||||||
|
|
||||||
## Left-aligned label text
|
## Left-aligned label text
|
||||||
|
|
||||||
Position labels to the left of the radio buttons.
|
|
||||||
|
|
||||||
<RadioButtonGroup labelPosition="left" legendText="Storage tier (disk)" name="plan-left-aligned" selected="standard">
|
<RadioButtonGroup labelPosition="left" legendText="Storage tier (disk)" name="plan-left-aligned" selected="standard">
|
||||||
<RadioButton labelText="Free (1 GB)" value="free" />
|
<RadioButton labelText="Free (1 GB)" value="free" />
|
||||||
<RadioButton labelText="Standard (10 GB)" value="standard" />
|
<RadioButton labelText="Standard (10 GB)" value="standard" />
|
||||||
|
@ -65,8 +63,6 @@ Position labels to the left of the radio buttons.
|
||||||
|
|
||||||
## Disabled buttons
|
## Disabled buttons
|
||||||
|
|
||||||
Disable specific radio buttons to prevent selection.
|
|
||||||
|
|
||||||
<RadioButtonGroup labelPosition="left" legendText="Storage tier (disk)" name="plan-disabled" selected="standard">
|
<RadioButtonGroup labelPosition="left" legendText="Storage tier (disk)" name="plan-disabled" selected="standard">
|
||||||
<RadioButton disabled labelText="Free (1 GB)" value="free" />
|
<RadioButton disabled labelText="Free (1 GB)" value="free" />
|
||||||
<RadioButton labelText="Standard (10 GB)" value="standard" />
|
<RadioButton labelText="Standard (10 GB)" value="standard" />
|
||||||
|
@ -75,8 +71,6 @@ Disable specific radio buttons to prevent selection.
|
||||||
|
|
||||||
## Vertical orientation
|
## Vertical orientation
|
||||||
|
|
||||||
Display radio buttons in a vertical layout.
|
|
||||||
|
|
||||||
<RadioButtonGroup orientation="vertical" legendText="Storage tier (disk)" name="plan-vertical" selected="standard">
|
<RadioButtonGroup orientation="vertical" legendText="Storage tier (disk)" name="plan-vertical" selected="standard">
|
||||||
<RadioButton labelText="Free (1 GB)" value="free" />
|
<RadioButton labelText="Free (1 GB)" value="free" />
|
||||||
<RadioButton labelText="Standard (10 GB)" value="standard" />
|
<RadioButton labelText="Standard (10 GB)" value="standard" />
|
||||||
|
@ -85,8 +79,6 @@ Display radio buttons in a vertical layout.
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state for horizontal radio buttons.
|
|
||||||
|
|
||||||
<RadioButtonGroup legendText="Storage tier (disk)">
|
<RadioButtonGroup legendText="Storage tier (disk)">
|
||||||
<RadioButtonSkeleton />
|
<RadioButtonSkeleton />
|
||||||
<RadioButtonSkeleton />
|
<RadioButtonSkeleton />
|
||||||
|
@ -95,8 +87,6 @@ Show a loading state for horizontal radio buttons.
|
||||||
|
|
||||||
## Skeleton (vertical)
|
## Skeleton (vertical)
|
||||||
|
|
||||||
Show a loading state for vertical radio buttons.
|
|
||||||
|
|
||||||
<RadioButtonGroup orientation="vertical" legendText="Storage tier (disk)">
|
<RadioButtonGroup orientation="vertical" legendText="Storage tier (disk)">
|
||||||
<RadioButtonSkeleton />
|
<RadioButtonSkeleton />
|
||||||
<RadioButtonSkeleton />
|
<RadioButtonSkeleton />
|
||||||
|
|
|
@ -7,12 +7,8 @@ components: ["TileGroup", "RadioTile"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`RadioTile` provides a selectable tile interface for choosing a single option from a set. It supports both individual and grouped usage, with options for light and disabled states.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a group of radio tiles with a shared name and legend.
|
|
||||||
|
|
||||||
<TileGroup legend="Service pricing tiers" name="plan" selected="standard">
|
<TileGroup legend="Service pricing tiers" name="plan" selected="standard">
|
||||||
<RadioTile value="lite">
|
<RadioTile value="lite">
|
||||||
Lite plan
|
Lite plan
|
||||||
|
@ -27,20 +23,16 @@ Create a group of radio tiles with a shared name and legend.
|
||||||
|
|
||||||
## Reactive (one-way binding)
|
## Reactive (one-way binding)
|
||||||
|
|
||||||
Update the selected value using the `select` event.
|
|
||||||
|
|
||||||
<FileSource src="/framed/RadioTile/RadioTileReactiveOneWay" />
|
<FileSource src="/framed/RadioTile/RadioTileReactiveOneWay" />
|
||||||
|
|
||||||
## Reactive (two-way binding)
|
## Reactive (two-way binding)
|
||||||
|
|
||||||
Bind to the `selected` prop for simpler state management.
|
Binding to the `selected` prop is a more concise approach to managing state.
|
||||||
|
|
||||||
<FileSource src="/framed/RadioTile/RadioTileReactive" />
|
<FileSource src="/framed/RadioTile/RadioTileReactive" />
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light backgrounds.
|
|
||||||
|
|
||||||
<TileGroup legend="Service pricing tiers" name="plan-light" selected="standard">
|
<TileGroup legend="Service pricing tiers" name="plan-light" selected="standard">
|
||||||
<RadioTile light value="lite">
|
<RadioTile light value="lite">
|
||||||
Lite plan
|
Lite plan
|
||||||
|
@ -55,8 +47,6 @@ Use the light variant for light backgrounds.
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable specific tiles to prevent selection.
|
|
||||||
|
|
||||||
<TileGroup legend="Service pricing tiers" name="plan-disabled" selected="standard">
|
<TileGroup legend="Service pricing tiers" name="plan-disabled" selected="standard">
|
||||||
<RadioTile value="lite" disabled>
|
<RadioTile value="lite" disabled>
|
||||||
Lite plan
|
Lite plan
|
||||||
|
|
|
@ -3,7 +3,9 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`RecursiveList` provides a flexible way to render hierarchical data structures using either unordered or ordered lists. It supports nested nodes, links, and HTML content, making it ideal for displaying complex data hierarchies.
|
This component uses the [svelte:self API](https://svelte.dev/docs#svelte_self) to render the [UnorderedList](/components/UnorderedList) and [OrderedList](/components/OrderedList) components with tree structured data.
|
||||||
|
|
||||||
|
A child node can render text, a link, HTML content, and other child nodes.
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
|
@ -17,26 +19,29 @@
|
||||||
</div>
|
</div>
|
||||||
</InlineNotification>
|
</InlineNotification>
|
||||||
|
|
||||||
## Default
|
## Unordered
|
||||||
|
|
||||||
Create a hierarchical list using the `nodes` prop. Each node can contain text, links, HTML content, and nested nodes.
|
The `nodes` prop accepts an array of child nodes.
|
||||||
|
|
||||||
|
By default, the list type is unordered.
|
||||||
|
|
||||||
<FileSource src="/framed/RecursiveList/RecursiveList" />
|
<FileSource src="/framed/RecursiveList/RecursiveList" />
|
||||||
|
|
||||||
## Ordered
|
## Ordered
|
||||||
|
|
||||||
Set `type` to `"ordered"` to use numbered lists with proper indentation.
|
Set `type` to `"ordered"` to use the ordered list variant.
|
||||||
|
|
||||||
<FileSource src="/framed/RecursiveList/RecursiveListOrdered" />
|
<FileSource src="/framed/RecursiveList/RecursiveListOrdered" />
|
||||||
|
|
||||||
## Ordered (native styles)
|
## Ordered (native styles)
|
||||||
|
|
||||||
Set `type` to `"ordered-native"` to use browser-native numbering styles.
|
Set `type` to `"ordered-native"` to use the native styles for an ordered list.
|
||||||
|
|
||||||
<FileSource src="/framed/RecursiveList/RecursiveListOrderedNative" />
|
<FileSource src="/framed/RecursiveList/RecursiveListOrderedNative" />
|
||||||
|
|
||||||
## Flat data structure
|
## Flat data structure
|
||||||
|
|
||||||
Convert flat data structures to hierarchical arrays using the `toHierarchy` utility function.
|
If working with a flat data structure, use the `toHierarchy` utility
|
||||||
|
to convert a flat data structure into a hierarchical array accepted by the `nodes` prop.
|
||||||
|
|
||||||
<FileSource src="/framed/RecursiveList/RecursiveListFlatArray" />
|
<FileSource src="/framed/RecursiveList/RecursiveListFlatArray" />
|
||||||
|
|
|
@ -4,72 +4,54 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Search` provides a flexible search input component with support for expandable variants, different sizes, and custom icons. It includes built-in functionality for clearing input and handling keyboard events.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
The search component is extra-large by default. Use the `size` prop to choose between [large](#large-size) and [small](#small-size) variants.
|
The `Search` component size is extra-large by default. There are [large](#large-size) and [small](#small-size) size variants.
|
||||||
|
|
||||||
<Search />
|
<Search />
|
||||||
|
|
||||||
## Default value
|
## Default value
|
||||||
|
|
||||||
Set an initial value using the `value` prop.
|
|
||||||
|
|
||||||
<Search placeholder="Search catalog..." value="Cloud functions" />
|
<Search placeholder="Search catalog..." value="Cloud functions" />
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
Bind to the `value` prop for reactive updates.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Search/SearchReactive" />
|
<FileSource src="/framed/Search/SearchReactive" />
|
||||||
|
|
||||||
## Clear event
|
## on:clear
|
||||||
|
|
||||||
The `clear` event is dispatched when clicking the clear button or pressing the Escape key.
|
The "clear" event is dispatched when clicking the "X" button or when pressing the "Escape" key.
|
||||||
|
|
||||||
<Search value="Cloud functions" on:clear={() => console.log('clear')}/>
|
<Search value="Cloud functions" on:clear={() => console.log('clear')}/>
|
||||||
|
|
||||||
## Expandable variant
|
## Expandable variant
|
||||||
|
|
||||||
Enable the expandable variant to show a compact search icon that expands on focus.
|
Set `expandable` to `true` to use the expandable variant.
|
||||||
|
|
||||||
<FileSource src="/framed/Search/SearchExpandableReactive" />
|
<FileSource src="/framed/Search/SearchExpandableReactive" />
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light backgrounds.
|
|
||||||
|
|
||||||
<Search light />
|
<Search light />
|
||||||
|
|
||||||
## Large size
|
## Large size
|
||||||
|
|
||||||
Set `size` to `"lg"` for a large search input.
|
|
||||||
|
|
||||||
<Search size="lg" />
|
<Search size="lg" />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Set `size` to `"sm"` for a small search input.
|
|
||||||
|
|
||||||
<Search size="sm" />
|
<Search size="sm" />
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the search input using the `disabled` prop.
|
|
||||||
|
|
||||||
<Search disabled />
|
<Search disabled />
|
||||||
|
|
||||||
## Custom icon
|
## Custom search icon
|
||||||
|
|
||||||
Replace the default search icon with a custom one.
|
|
||||||
|
|
||||||
<Search icon={Query} />
|
<Search icon={Query} />
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Display a loading state using the skeleton variant.
|
|
||||||
|
|
||||||
<Search skeleton />
|
<Search skeleton />
|
||||||
|
|
||||||
## Skeleton (large)
|
## Skeleton (large)
|
||||||
|
|
|
@ -7,11 +7,9 @@ components: ["Select", "SelectItem", "SelectItemGroup", "SelectSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Select` provides a dropdown menu for selecting a single option from a list. It supports various states, sizes, and includes built-in validation and helper text.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic select menu with `SelectItem` components. The first item's value is used as the default if `selected` is not set.
|
If the `selected` prop is not set, the value of the first `SelectItem` will be used as the default value.
|
||||||
|
|
||||||
<Select labelText="Carbon theme" on:change={e => console.log("value", e.target.value)}>
|
<Select labelText="Carbon theme" on:change={e => console.log("value", e.target.value)}>
|
||||||
<SelectItem value="white" />
|
<SelectItem value="white" />
|
||||||
|
@ -23,7 +21,7 @@ Create a basic select menu with `SelectItem` components. The first item's value
|
||||||
|
|
||||||
## Custom item text
|
## Custom item text
|
||||||
|
|
||||||
Use the `text` prop to customize the display text of each option.
|
Use the `text` prop on `SelectItem` to customize the display value.
|
||||||
|
|
||||||
<Select labelText="Carbon theme" on:change={e => console.log("value", e.target.value)}>
|
<Select labelText="Carbon theme" on:change={e => console.log("value", e.target.value)}>
|
||||||
<SelectItem value="white" text="White" />
|
<SelectItem value="white" text="White" />
|
||||||
|
@ -35,7 +33,7 @@ Use the `text` prop to customize the display text of each option.
|
||||||
|
|
||||||
## Initial selected value
|
## Initial selected value
|
||||||
|
|
||||||
Set the initial selection using the `selected` prop.
|
Use the `selected` prop to specify an initial value.
|
||||||
|
|
||||||
<Select labelText="Carbon theme" selected="g10" on:change={e => console.log("value", e.target.value)}>
|
<Select labelText="Carbon theme" selected="g10" on:change={e => console.log("value", e.target.value)}>
|
||||||
<SelectItem value="white" text="White" />
|
<SelectItem value="white" text="White" />
|
||||||
|
@ -47,14 +45,12 @@ Set the initial selection using the `selected` prop.
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
The `selected` prop supports two-way binding for reactive updates.
|
The `selected` prop is reactive and supports two-way binding.
|
||||||
|
|
||||||
<FileSource src="/framed/Select/SelectReactive" />
|
<FileSource src="/framed/Select/SelectReactive" />
|
||||||
|
|
||||||
## Helper text
|
## Helper text
|
||||||
|
|
||||||
Add descriptive text below the select menu.
|
|
||||||
|
|
||||||
<Select helperText="Carbon offers 4 themes (2 light, 3 dark)" labelText="Carbon theme" selected="g10" >
|
<Select helperText="Carbon offers 4 themes (2 light, 3 dark)" labelText="Carbon theme" selected="g10" >
|
||||||
<SelectItem value="white" text="White" />
|
<SelectItem value="white" text="White" />
|
||||||
<SelectItem value="g10" text="Gray 10" />
|
<SelectItem value="g10" text="Gray 10" />
|
||||||
|
@ -65,8 +61,6 @@ Add descriptive text below the select menu.
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Visually hide the label while maintaining accessibility.
|
|
||||||
|
|
||||||
<Select hideLabel labelText="Carbon theme" selected="g10" >
|
<Select hideLabel labelText="Carbon theme" selected="g10" >
|
||||||
<SelectItem value="white" text="White" />
|
<SelectItem value="white" text="White" />
|
||||||
<SelectItem value="g10" text="Gray 10" />
|
<SelectItem value="g10" text="Gray 10" />
|
||||||
|
@ -77,8 +71,6 @@ Visually hide the label while maintaining accessibility.
|
||||||
|
|
||||||
## Item groups
|
## Item groups
|
||||||
|
|
||||||
Group related options using `SelectItemGroup` components.
|
|
||||||
|
|
||||||
<Select labelText="Carbon theme" selected="0">
|
<Select labelText="Carbon theme" selected="0">
|
||||||
<SelectItem value="0" text="Select a theme" disabled hidden />
|
<SelectItem value="0" text="Select a theme" disabled hidden />
|
||||||
<SelectItemGroup label="Light theme">
|
<SelectItemGroup label="Light theme">
|
||||||
|
@ -92,46 +84,8 @@ Group related options using `SelectItemGroup` components.
|
||||||
</SelectItemGroup>
|
</SelectItemGroup>
|
||||||
</Select>
|
</Select>
|
||||||
|
|
||||||
## Small size
|
|
||||||
|
|
||||||
Use the small size variant for compact layouts.
|
|
||||||
|
|
||||||
<Select size="sm" labelText="Carbon theme" selected="g10" >
|
|
||||||
<SelectItem value="white" text="White" />
|
|
||||||
<SelectItem value="g10" text="Gray 10" />
|
|
||||||
<SelectItem value="g80" text="Gray 80" />
|
|
||||||
<SelectItem value="g90" text="Gray 90" />
|
|
||||||
<SelectItem value="g100" text="Gray 100" />
|
|
||||||
</Select>
|
|
||||||
|
|
||||||
## Extra-large size
|
|
||||||
|
|
||||||
Use the extra-large size variant for prominent selections.
|
|
||||||
|
|
||||||
<Select size="xl" labelText="Carbon theme" selected="g10" >
|
|
||||||
<SelectItem value="white" text="White" />
|
|
||||||
<SelectItem value="g10" text="Gray 10" />
|
|
||||||
<SelectItem value="g80" text="Gray 80" />
|
|
||||||
<SelectItem value="g90" text="Gray 90" />
|
|
||||||
<SelectItem value="g100" text="Gray 100" />
|
|
||||||
</Select>
|
|
||||||
|
|
||||||
## Inline variant
|
|
||||||
|
|
||||||
Use the inline variant for horizontal layouts.
|
|
||||||
|
|
||||||
<Select inline labelText="Carbon theme" selected="g10" >
|
|
||||||
<SelectItem value="white" text="White" />
|
|
||||||
<SelectItem value="g10" text="Gray 10" />
|
|
||||||
<SelectItem value="g80" text="Gray 80" />
|
|
||||||
<SelectItem value="g90" text="Gray 90" />
|
|
||||||
<SelectItem value="g100" text="Gray 100" />
|
|
||||||
</Select>
|
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light backgrounds.
|
|
||||||
|
|
||||||
<Select light labelText="Carbon theme" selected="g10" >
|
<Select light labelText="Carbon theme" selected="g10" >
|
||||||
<SelectItem value="white" text="White" />
|
<SelectItem value="white" text="White" />
|
||||||
<SelectItem value="g10" text="Gray 10" />
|
<SelectItem value="g10" text="Gray 10" />
|
||||||
|
@ -140,9 +94,37 @@ Use the light variant for light backgrounds.
|
||||||
<SelectItem value="g100" text="Gray 100" />
|
<SelectItem value="g100" text="Gray 100" />
|
||||||
</Select>
|
</Select>
|
||||||
|
|
||||||
## Invalid state
|
## Inline variant
|
||||||
|
|
||||||
Show validation errors using the invalid state.
|
<Select inline labelText="Carbon theme" selected="g10" >
|
||||||
|
<SelectItem value="white" text="White" />
|
||||||
|
<SelectItem value="g10" text="Gray 10" />
|
||||||
|
<SelectItem value="g80" text="Gray 80" />
|
||||||
|
<SelectItem value="g90" text="Gray 90" />
|
||||||
|
<SelectItem value="g100" text="Gray 100" />
|
||||||
|
</Select>
|
||||||
|
|
||||||
|
## Extra-large size
|
||||||
|
|
||||||
|
<Select size="xl" labelText="Carbon theme" selected="g10" >
|
||||||
|
<SelectItem value="white" text="White" />
|
||||||
|
<SelectItem value="g10" text="Gray 10" />
|
||||||
|
<SelectItem value="g80" text="Gray 80" />
|
||||||
|
<SelectItem value="g90" text="Gray 90" />
|
||||||
|
<SelectItem value="g100" text="Gray 100" />
|
||||||
|
</Select>
|
||||||
|
|
||||||
|
## Small size
|
||||||
|
|
||||||
|
<Select size="sm" labelText="Carbon theme" selected="g10" >
|
||||||
|
<SelectItem value="white" text="White" />
|
||||||
|
<SelectItem value="g10" text="Gray 10" />
|
||||||
|
<SelectItem value="g80" text="Gray 80" />
|
||||||
|
<SelectItem value="g90" text="Gray 90" />
|
||||||
|
<SelectItem value="g100" text="Gray 100" />
|
||||||
|
</Select>
|
||||||
|
|
||||||
|
## Invalid state
|
||||||
|
|
||||||
<Select invalid invalidText="Theme must be a dark variant" labelText="Carbon theme" selected="g10" >
|
<Select invalid invalidText="Theme must be a dark variant" labelText="Carbon theme" selected="g10" >
|
||||||
<SelectItem value="white" text="White" />
|
<SelectItem value="white" text="White" />
|
||||||
|
@ -154,8 +136,6 @@ Show validation errors using the invalid state.
|
||||||
|
|
||||||
## Warning state
|
## Warning state
|
||||||
|
|
||||||
Show warnings using the warning state.
|
|
||||||
|
|
||||||
<Select warn warnText="The selected theme will not be persisted" labelText="Carbon theme" selected="g10" >
|
<Select warn warnText="The selected theme will not be persisted" labelText="Carbon theme" selected="g10" >
|
||||||
<SelectItem value="white" text="White" />
|
<SelectItem value="white" text="White" />
|
||||||
<SelectItem value="g10" text="Gray 10" />
|
<SelectItem value="g10" text="Gray 10" />
|
||||||
|
@ -166,8 +146,6 @@ Show warnings using the warning state.
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the select menu to prevent interaction.
|
|
||||||
|
|
||||||
<Select disabled labelText="Carbon theme" selected="g10" >
|
<Select disabled labelText="Carbon theme" selected="g10" >
|
||||||
<SelectItem value="white" text="White" />
|
<SelectItem value="white" text="White" />
|
||||||
<SelectItem value="g10" text="Gray 10" />
|
<SelectItem value="g10" text="Gray 10" />
|
||||||
|
@ -178,8 +156,6 @@ Disable the select menu to prevent interaction.
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Display a loading state using the skeleton variant.
|
|
||||||
|
|
||||||
<SelectSkeleton />
|
<SelectSkeleton />
|
||||||
|
|
||||||
## Skeleton (hidden label)
|
## Skeleton (hidden label)
|
||||||
|
|
|
@ -7,12 +7,8 @@ components: ["SelectableTile"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`SelectableTile` provides a tile-based selection interface that allows users to select multiple options. It supports various states and includes built-in keyboard navigation and accessibility features.
|
|
||||||
|
|
||||||
## Multi-selectable tiles
|
## Multi-selectable tiles
|
||||||
|
|
||||||
Group multiple selectable tiles together for multi-selection scenarios.
|
|
||||||
|
|
||||||
<div role="group" aria-label="selectable tiles">
|
<div role="group" aria-label="selectable tiles">
|
||||||
<SelectableTile selected>
|
<SelectableTile selected>
|
||||||
Multi-select Tile
|
Multi-select Tile
|
||||||
|
@ -27,8 +23,6 @@ Group multiple selectable tiles together for multi-selection scenarios.
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light backgrounds.
|
|
||||||
|
|
||||||
<div role="group" aria-label="selectable tiles">
|
<div role="group" aria-label="selectable tiles">
|
||||||
<SelectableTile light selected>
|
<SelectableTile light selected>
|
||||||
Multi-select Tile
|
Multi-select Tile
|
||||||
|
@ -43,8 +37,6 @@ Use the light variant for light backgrounds.
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable tiles to prevent interaction.
|
|
||||||
|
|
||||||
<div role="group" aria-label="selectable tiles">
|
<div role="group" aria-label="selectable tiles">
|
||||||
<SelectableTile selected>
|
<SelectableTile selected>
|
||||||
Multi-select Tile
|
Multi-select Tile
|
||||||
|
|
|
@ -3,16 +3,10 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`SkeletonPlaceholder` provides a loading state placeholder that can be used to indicate content is being loaded. It supports custom sizing and forwards mouse events for interactive loading states.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic skeleton placeholder with default styling.
|
|
||||||
|
|
||||||
<SkeletonPlaceholder />
|
<SkeletonPlaceholder />
|
||||||
|
|
||||||
## Custom size
|
## Custom size
|
||||||
|
|
||||||
Specify custom dimensions using the `style` prop.
|
|
||||||
|
|
||||||
<SkeletonPlaceholder style="height: 12rem; width: 12rem;" />
|
<SkeletonPlaceholder style="height: 12rem; width: 12rem;" />
|
||||||
|
|
|
@ -3,34 +3,22 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`SkeletonText` provides a loading state for text content with support for different sizes and line counts. It's commonly used to indicate that text content is being loaded.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic skeleton text with default styling.
|
|
||||||
|
|
||||||
<SkeletonText />
|
<SkeletonText />
|
||||||
|
|
||||||
## Heading variant
|
## Heading variant
|
||||||
|
|
||||||
Use the heading variant for larger text placeholders.
|
|
||||||
|
|
||||||
<SkeletonText heading />
|
<SkeletonText heading />
|
||||||
|
|
||||||
## Paragraph variant
|
## Paragraph variant
|
||||||
|
|
||||||
Use the paragraph variant for multi-line text placeholders.
|
|
||||||
|
|
||||||
<SkeletonText paragraph />
|
<SkeletonText paragraph />
|
||||||
|
|
||||||
## Paragraph with custom line count
|
## Paragraph with custom line count
|
||||||
|
|
||||||
Specify the number of lines to render using the `lines` prop.
|
|
||||||
|
|
||||||
<SkeletonText paragraph lines={8} />
|
<SkeletonText paragraph lines={8} />
|
||||||
|
|
||||||
## Paragraph with max width
|
## Paragraph with max width
|
||||||
|
|
||||||
Set a custom width for the text placeholder using the `width` prop.
|
|
||||||
|
|
||||||
<SkeletonText paragraph width="50%" />
|
<SkeletonText paragraph width="50%" />
|
|
@ -7,12 +7,8 @@ components: ["Slider", "SliderSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Slider` provides a visual way to select a value from a range. It supports keyboard navigation, custom ranges, step values, and various states.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic slider with a label and default range (0-100).
|
|
||||||
|
|
||||||
<Slider labelText="Instances" value={0} />
|
<Slider labelText="Instances" value={0} />
|
||||||
|
|
||||||
## Full width
|
## Full width
|
||||||
|
@ -23,54 +19,36 @@ Set `fullWidth` to `true` for the slider to span the full width of its containin
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Visually hide the label while maintaining accessibility.
|
|
||||||
|
|
||||||
<Slider labelText="Instances" hideLabel value={0} />
|
<Slider labelText="Instances" hideLabel value={0} />
|
||||||
|
|
||||||
## Hidden text input
|
## Hidden text input
|
||||||
|
|
||||||
Hide the text input while keeping the slider functionality.
|
|
||||||
|
|
||||||
<Slider labelText="Instances" hideTextInput value={0} />
|
<Slider labelText="Instances" hideTextInput value={0} />
|
||||||
|
|
||||||
## Custom minimum, maximum values
|
## Custom minimum, maximum values
|
||||||
|
|
||||||
Set custom range values and labels.
|
|
||||||
|
|
||||||
<Slider labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} />
|
<Slider labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} />
|
||||||
|
|
||||||
## Custom step value
|
## Custom step value
|
||||||
|
|
||||||
Specify the step value for more precise control.
|
|
||||||
|
|
||||||
<Slider labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} step={10} />
|
<Slider labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} step={10} />
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light backgrounds.
|
|
||||||
|
|
||||||
<Slider light labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} step={10} />
|
<Slider light labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} step={10} />
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Indicate an invalid state with the `invalid` prop.
|
|
||||||
|
|
||||||
<Slider invalid labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} step={10} />
|
<Slider invalid labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} step={10} />
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the slider to prevent interaction.
|
|
||||||
|
|
||||||
<Slider disabled labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} step={10} />
|
<Slider disabled labelText="Runtime memory (MB)" min={10} max={990} maxLabel="990 MB" value={100} step={10} />
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state with the skeleton variant.
|
|
||||||
|
|
||||||
<SliderSkeleton />
|
<SliderSkeleton />
|
||||||
|
|
||||||
## Skeleton (hidden label)
|
## Skeleton (hidden label)
|
||||||
|
|
||||||
Show a loading state without a label.
|
|
||||||
|
|
||||||
<SliderSkeleton hideLabel />
|
<SliderSkeleton hideLabel />
|
|
@ -8,11 +8,7 @@ components: ["StructuredList", "StructuredListSkeleton", "StructuredListBody", "
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`StructuredList` provides a semantic way to display tabular data with support for selection, keyboard navigation, and various layout options.
|
## Default (read-only)
|
||||||
|
|
||||||
## Default
|
|
||||||
|
|
||||||
Display a basic structured list with headers and rows by default.
|
|
||||||
|
|
||||||
<StructuredList>
|
<StructuredList>
|
||||||
<StructuredListHead>
|
<StructuredListHead>
|
||||||
|
@ -24,27 +20,40 @@ Display a basic structured list with headers and rows by default.
|
||||||
</StructuredListHead>
|
</StructuredListHead>
|
||||||
<StructuredListBody>
|
<StructuredListBody>
|
||||||
<StructuredListRow>
|
<StructuredListRow>
|
||||||
|
<StructuredListCell noWrap>Row 1</StructuredListCell>
|
||||||
<StructuredListCell>Row 1</StructuredListCell>
|
<StructuredListCell>Row 1</StructuredListCell>
|
||||||
<StructuredListCell>Row 1</StructuredListCell>
|
<StructuredListCell>
|
||||||
<StructuredListCell>Row 1</StructuredListCell>
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dui
|
||||||
|
magna, finibus id tortor sed, aliquet bibendum augue. Aenean posuere
|
||||||
|
sem vel euismod dignissim. Nulla ut cursus dolor. Pellentesque
|
||||||
|
vulputate nisl a porttitor interdum.
|
||||||
|
</StructuredListCell>
|
||||||
</StructuredListRow>
|
</StructuredListRow>
|
||||||
<StructuredListRow>
|
<StructuredListRow>
|
||||||
|
<StructuredListCell noWrap>Row 2</StructuredListCell>
|
||||||
<StructuredListCell>Row 2</StructuredListCell>
|
<StructuredListCell>Row 2</StructuredListCell>
|
||||||
<StructuredListCell>Row 2</StructuredListCell>
|
<StructuredListCell>
|
||||||
<StructuredListCell>Row 2</StructuredListCell>
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dui
|
||||||
|
magna, finibus id tortor sed, aliquet bibendum augue. Aenean posuere
|
||||||
|
sem vel euismod dignissim. Nulla ut cursus dolor. Pellentesque
|
||||||
|
vulputate nisl a porttitor interdum.
|
||||||
|
</StructuredListCell>
|
||||||
</StructuredListRow>
|
</StructuredListRow>
|
||||||
<StructuredListRow>
|
<StructuredListRow>
|
||||||
|
<StructuredListCell noWrap>Row 3</StructuredListCell>
|
||||||
<StructuredListCell>Row 3</StructuredListCell>
|
<StructuredListCell>Row 3</StructuredListCell>
|
||||||
<StructuredListCell>Row 3</StructuredListCell>
|
<StructuredListCell>
|
||||||
<StructuredListCell>Row 3</StructuredListCell>
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dui
|
||||||
|
magna, finibus id tortor sed, aliquet bibendum augue. Aenean posuere
|
||||||
|
sem vel euismod dignissim. Nulla ut cursus dolor. Pellentesque
|
||||||
|
vulputate nisl a porttitor interdum.
|
||||||
|
</StructuredListCell>
|
||||||
</StructuredListRow>
|
</StructuredListRow>
|
||||||
</StructuredListBody>
|
</StructuredListBody>
|
||||||
</StructuredList>
|
</StructuredList>
|
||||||
|
|
||||||
## Condensed variant
|
## Condensed variant
|
||||||
|
|
||||||
Use the condensed variant for more compact rows.
|
|
||||||
|
|
||||||
<StructuredList condensed>
|
<StructuredList condensed>
|
||||||
<StructuredListHead>
|
<StructuredListHead>
|
||||||
<StructuredListRow head>
|
<StructuredListRow head>
|
||||||
|
@ -55,26 +64,39 @@ Use the condensed variant for more compact rows.
|
||||||
</StructuredListHead>
|
</StructuredListHead>
|
||||||
<StructuredListBody>
|
<StructuredListBody>
|
||||||
<StructuredListRow>
|
<StructuredListRow>
|
||||||
|
<StructuredListCell noWrap>Row 1</StructuredListCell>
|
||||||
<StructuredListCell>Row 1</StructuredListCell>
|
<StructuredListCell>Row 1</StructuredListCell>
|
||||||
<StructuredListCell>Row 1</StructuredListCell>
|
<StructuredListCell>
|
||||||
<StructuredListCell>Row 1</StructuredListCell>
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dui
|
||||||
|
magna, finibus id tortor sed, aliquet bibendum augue. Aenean posuere
|
||||||
|
sem vel euismod dignissim. Nulla ut cursus dolor. Pellentesque
|
||||||
|
vulputate nisl a porttitor interdum.
|
||||||
|
</StructuredListCell>
|
||||||
</StructuredListRow>
|
</StructuredListRow>
|
||||||
<StructuredListRow>
|
<StructuredListRow>
|
||||||
|
<StructuredListCell noWrap>Row 2</StructuredListCell>
|
||||||
<StructuredListCell>Row 2</StructuredListCell>
|
<StructuredListCell>Row 2</StructuredListCell>
|
||||||
<StructuredListCell>Row 2</StructuredListCell>
|
<StructuredListCell>
|
||||||
<StructuredListCell>Row 2</StructuredListCell>
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dui
|
||||||
|
magna, finibus id tortor sed, aliquet bibendum augue. Aenean posuere
|
||||||
|
sem vel euismod dignissim. Nulla ut cursus dolor. Pellentesque
|
||||||
|
vulputate nisl a porttitor interdum.
|
||||||
|
</StructuredListCell>
|
||||||
</StructuredListRow>
|
</StructuredListRow>
|
||||||
<StructuredListRow>
|
<StructuredListRow>
|
||||||
|
<StructuredListCell noWrap>Row 3</StructuredListCell>
|
||||||
<StructuredListCell>Row 3</StructuredListCell>
|
<StructuredListCell>Row 3</StructuredListCell>
|
||||||
<StructuredListCell>Row 3</StructuredListCell>
|
<StructuredListCell>
|
||||||
<StructuredListCell>Row 3</StructuredListCell>
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dui
|
||||||
|
magna, finibus id tortor sed, aliquet bibendum augue. Aenean posuere
|
||||||
|
sem vel euismod dignissim. Nulla ut cursus dolor. Pellentesque
|
||||||
|
vulputate nisl a porttitor interdum.
|
||||||
|
</StructuredListCell>
|
||||||
</StructuredListRow>
|
</StructuredListRow>
|
||||||
</StructuredListBody>
|
</StructuredListBody>
|
||||||
</StructuredList>
|
</StructuredList>
|
||||||
|
|
||||||
## Flush variant
|
## Flush
|
||||||
|
|
||||||
Use the flush variant to remove padding from the list.
|
|
||||||
|
|
||||||
<StructuredList flush>
|
<StructuredList flush>
|
||||||
<StructuredListHead>
|
<StructuredListHead>
|
||||||
|
@ -120,8 +142,6 @@ Use the flush variant to remove padding from the list.
|
||||||
|
|
||||||
## Selectable rows
|
## Selectable rows
|
||||||
|
|
||||||
Enable row selection with the `selection` prop and `StructuredListInput` components.
|
|
||||||
|
|
||||||
<StructuredList selection selected="row-1-value">
|
<StructuredList selection selected="row-1-value">
|
||||||
<StructuredListHead>
|
<StructuredListHead>
|
||||||
<StructuredListRow head>
|
<StructuredListRow head>
|
||||||
|
@ -162,6 +182,4 @@ Enable row selection with the `selection` prop and `StructuredListInput` compone
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state with the skeleton variant.
|
|
||||||
|
|
||||||
<StructuredListSkeleton rows={3} />
|
<StructuredListSkeleton rows={3} />
|
|
@ -7,12 +7,8 @@ components: ["Tabs", "Tab", "TabContent", "TabsSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Tabs` provides a way to organize content into separate views that can be switched between. It supports keyboard navigation, disabled states, and various layout options.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic tab interface with labels and content.
|
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab label="Tab label 1" />
|
<Tab label="Tab label 1" />
|
||||||
<Tab label="Tab label 2" />
|
<Tab label="Tab label 2" />
|
||||||
|
@ -26,7 +22,9 @@ Create a basic tab interface with labels and content.
|
||||||
|
|
||||||
## Auto width
|
## Auto width
|
||||||
|
|
||||||
By default, each tab has a fixed width of `10rem`. Set `autoWidth` to `true` for tabs to automatically adjust their width based on content.
|
By default, the width of each tab is set to `10rem`.
|
||||||
|
|
||||||
|
Set `autoWidth` to `true` for tabs to have an automatically set width.
|
||||||
|
|
||||||
<Tabs autoWidth>
|
<Tabs autoWidth>
|
||||||
<Tab label="Tab label 1" />
|
<Tab label="Tab label 1" />
|
||||||
|
@ -41,13 +39,13 @@ By default, each tab has a fixed width of `10rem`. Set `autoWidth` to `true` for
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
Use `bind:selected` to create a two-way binding with the selected tab index. This allows you to programmatically control the selected tab and react to tab changes.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Tabs/TabsReactive" />
|
<FileSource src="/framed/Tabs/TabsReactive" />
|
||||||
|
|
||||||
## Disabled tabs
|
## Disabled tabs
|
||||||
|
|
||||||
Set `disabled` to `true` on a `Tab` component to prevent interaction. Keyboard navigation will skip disabled tabs.
|
Setting `disabled` to `true` on the `Tab` component will prevent it from being clickable.
|
||||||
|
|
||||||
|
Using keyboard navigation (left and right arrow keys) will skip to the next non-disabled tab.
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab label="Tab label 1" />
|
<Tab label="Tab label 1" />
|
||||||
|
@ -64,8 +62,6 @@ Set `disabled` to `true` on a `Tab` component to prevent interaction. Keyboard n
|
||||||
|
|
||||||
## Container type
|
## Container type
|
||||||
|
|
||||||
Use the container type for a more prominent tab interface.
|
|
||||||
|
|
||||||
<Tabs type="container">
|
<Tabs type="container">
|
||||||
<Tab label="Tab label 1" />
|
<Tab label="Tab label 1" />
|
||||||
<Tab label="Tab label 2" />
|
<Tab label="Tab label 2" />
|
||||||
|
@ -79,12 +75,8 @@ Use the container type for a more prominent tab interface.
|
||||||
|
|
||||||
## Skeleton (default)
|
## Skeleton (default)
|
||||||
|
|
||||||
Show a loading state with the default skeleton variant.
|
|
||||||
|
|
||||||
<TabsSkeleton count={3} />
|
<TabsSkeleton count={3} />
|
||||||
|
|
||||||
## Skeleton (container)
|
## Skeleton (container)
|
||||||
|
|
||||||
Show a loading state with the container skeleton variant.
|
|
||||||
|
|
||||||
<TabsSkeleton type="container" count={3} />
|
<TabsSkeleton type="container" count={3} />
|
|
@ -1,31 +1,19 @@
|
||||||
---
|
|
||||||
components: ["Tag", "TagSkeleton"]
|
|
||||||
---
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Tag, TooltipDefinition } from "carbon-components-svelte";
|
import { Tag, TooltipDefinition } from "carbon-components-svelte";
|
||||||
import IbmCloud from "carbon-icons-svelte/lib/IbmCloud.svelte";
|
import IbmCloud from "carbon-icons-svelte/lib/IbmCloud.svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Tag` provides a way to categorize content with a keyword or label. It supports various styles, sizes, and interactive states, including filterable and interactive variants.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic tag with text content.
|
|
||||||
|
|
||||||
<Tag>IBM Cloud</Tag>
|
<Tag>IBM Cloud</Tag>
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size variant for more compact layouts.
|
|
||||||
|
|
||||||
<Tag size="sm">IBM Cloud</Tag>
|
<Tag size="sm">IBM Cloud</Tag>
|
||||||
|
|
||||||
## Tag types
|
## Tag types
|
||||||
|
|
||||||
Choose from a variety of color types to match your design system.
|
|
||||||
|
|
||||||
<Tag type="red">red</Tag>
|
<Tag type="red">red</Tag>
|
||||||
<Tag type="magenta">magenta</Tag>
|
<Tag type="magenta">magenta</Tag>
|
||||||
<Tag type="purple">purple</Tag>
|
<Tag type="purple">purple</Tag>
|
||||||
|
@ -41,45 +29,37 @@ Choose from a variety of color types to match your design system.
|
||||||
|
|
||||||
## Filterable
|
## Filterable
|
||||||
|
|
||||||
Create a filterable tag with a close button that dispatches a `close` event when clicked.
|
|
||||||
|
|
||||||
<Tag filter on:close>carbon-components</Tag>
|
<Tag filter on:close>carbon-components</Tag>
|
||||||
|
|
||||||
## Filterable (disabled)
|
## Filterable (disabled)
|
||||||
|
|
||||||
Disable a filterable tag to prevent interaction.
|
|
||||||
|
|
||||||
<Tag filter disabled on:close>carbon-components</Tag>
|
<Tag filter disabled on:close>carbon-components</Tag>
|
||||||
|
|
||||||
## Filterable (small)
|
## Filterable (small)
|
||||||
|
|
||||||
Combine the filterable variant with the small size.
|
|
||||||
|
|
||||||
<Tag size="sm" filter on:close>carbon-components</Tag>
|
<Tag size="sm" filter on:close>carbon-components</Tag>
|
||||||
|
|
||||||
## Custom icon
|
## Custom icon
|
||||||
|
|
||||||
Add a custom icon to the tag. Note: custom icons cannot be used with the filterable variant.
|
Note: rendering a custom icon cannot be used with the filterable variant.
|
||||||
|
|
||||||
<Tag icon={IbmCloud}>IBM Cloud</Tag>
|
<Tag icon={IbmCloud}>IBM Cloud</Tag>
|
||||||
|
|
||||||
## Interactive variant
|
## Interactive variant
|
||||||
|
|
||||||
Set `interactive` to `true` to render a `button` element instead of a `div`. This is useful for clickable tags.
|
Set `interactive` to `true` to render a `button` element instead of a `div`.
|
||||||
|
|
||||||
<Tag interactive>Machine learning</Tag>
|
<Tag interactive>Machine learning</Tag>
|
||||||
|
|
||||||
## Disabled
|
## Disabled
|
||||||
|
|
||||||
Both filterable and interactive tag variants support a disabled state.
|
The filterable and interactive tag variants have a disabled state.
|
||||||
|
|
||||||
<Tag filter disabled>Machine learning</Tag>
|
<Tag filter disabled>Machine learning</Tag>
|
||||||
<Tag interactive disabled>Machine learning</Tag>
|
<Tag interactive disabled>Machine learning</Tag>
|
||||||
|
|
||||||
## Tooltip in a tag
|
## Tooltip in a tag
|
||||||
|
|
||||||
Embed a tooltip within a tag to provide additional context.
|
|
||||||
|
|
||||||
<Tag>
|
<Tag>
|
||||||
<TooltipDefinition tooltipText="IBM Corporate Headquarters is based in Armonk, New York.">
|
<TooltipDefinition tooltipText="IBM Corporate Headquarters is based in Armonk, New York.">
|
||||||
Armonk
|
Armonk
|
||||||
|
@ -88,12 +68,8 @@ Embed a tooltip within a tag to provide additional context.
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state with the default skeleton variant.
|
|
||||||
|
|
||||||
<Tag skeleton />
|
<Tag skeleton />
|
||||||
|
|
||||||
## Skeleton (small)
|
## Skeleton (small)
|
||||||
|
|
||||||
Show a loading state with the small skeleton variant.
|
|
||||||
|
|
||||||
<Tag size="sm" skeleton />
|
<Tag size="sm" skeleton />
|
|
@ -7,64 +7,46 @@ components: ["TextArea", "TextAreaSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`TextArea` provides a multi-line text input field with support for various states, character counting, and accessibility features. It's ideal for longer text input like descriptions, comments, or messages.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic textarea with a label and placeholder text.
|
|
||||||
|
|
||||||
<TextArea labelText="App description" placeholder="Enter a description..." />
|
<TextArea labelText="App description" placeholder="Enter a description..." />
|
||||||
|
|
||||||
## Maximum character count
|
## Maximum character count
|
||||||
|
|
||||||
Specify the max character count using the `maxCount` prop. A character counter will be displayed to the right of the label. You can also use the native `maxlength` attribute if you prefer not to show a counter.
|
Specify the max character count using the `maxCount` prop. A character counter will be displayed to the right of the label.
|
||||||
|
|
||||||
|
You can always use the native `maxlength` attribute if you'd prefer that a counter not be shown.
|
||||||
|
|
||||||
<TextArea labelText="App description" placeholder="Enter a description..." maxCount={100} />
|
<TextArea labelText="App description" placeholder="Enter a description..." maxCount={100} />
|
||||||
|
|
||||||
## With helper text
|
## With helper text
|
||||||
|
|
||||||
Add helper text below the textarea to provide additional context or instructions.
|
|
||||||
|
|
||||||
<TextArea labelText="App description" helperText="A rich description helps us better recommend related products and services" placeholder="Enter a description..." />
|
<TextArea labelText="App description" helperText="A rich description helps us better recommend related products and services" placeholder="Enter a description..." />
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Visually hide the label while maintaining accessibility by setting `hideLabel` to `true`.
|
|
||||||
|
|
||||||
<TextArea hideLabel labelText="App description" placeholder="Enter a description..." />
|
<TextArea hideLabel labelText="App description" placeholder="Enter a description..." />
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light-themed backgrounds by setting `light` to `true`.
|
|
||||||
|
|
||||||
<TextArea light labelText="App description" placeholder="Enter a description..." />
|
<TextArea light labelText="App description" placeholder="Enter a description..." />
|
||||||
|
|
||||||
## Custom rows
|
## Custom rows
|
||||||
|
|
||||||
Adjust the number of visible rows using the `rows` prop. The default is 4 rows.
|
|
||||||
|
|
||||||
<TextArea rows={10} labelText="App description" placeholder="Enter a description..." />
|
<TextArea rows={10} labelText="App description" placeholder="Enter a description..." />
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Indicate an invalid state with an error message by setting `invalid` to `true` and providing `invalidText`.
|
|
||||||
|
|
||||||
<TextArea invalid invalidText="Only plain text characters are allowed" labelText="App description" placeholder="Enter a description..." />
|
<TextArea invalid invalidText="Only plain text characters are allowed" labelText="App description" placeholder="Enter a description..." />
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the textarea to prevent user interaction by setting `disabled` to `true`.
|
|
||||||
|
|
||||||
<TextArea disabled labelText="App description" placeholder="Enter a description..." />
|
<TextArea disabled labelText="App description" placeholder="Enter a description..." />
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state with the default skeleton variant.
|
|
||||||
|
|
||||||
<TextAreaSkeleton />
|
<TextAreaSkeleton />
|
||||||
|
|
||||||
## Skeleton without label
|
## Skeleton without label
|
||||||
|
|
||||||
Show a loading state without a label by setting `hideLabel` to `true`.
|
|
||||||
|
|
||||||
<TextAreaSkeleton hideLabel />
|
<TextAreaSkeleton hideLabel />
|
|
@ -7,82 +7,54 @@ components: ["TextInput", "TextInputSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`TextInput` provides a single-line text input field with support for various states, sizes, and accessibility features. It's ideal for short text input like usernames, search terms, or form fields.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic text input with a label and placeholder text.
|
|
||||||
|
|
||||||
<TextInput labelText="User name" placeholder="Enter user name..." />
|
<TextInput labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## With helper text
|
## With helper text
|
||||||
|
|
||||||
Add helper text below the input to provide additional context or instructions.
|
|
||||||
|
|
||||||
<TextInput labelText="User name" helperText="Your user name is associated with your email" placeholder="Enter user name..." />
|
<TextInput labelText="User name" helperText="Your user name is associated with your email" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Hidden label
|
## Hidden label
|
||||||
|
|
||||||
Visually hide the label while maintaining accessibility by setting `hideLabel` to `true`.
|
|
||||||
|
|
||||||
<TextInput hideLabel labelText="User name" placeholder="Enter user name..." />
|
<TextInput hideLabel labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light-themed backgrounds by setting `light` to `true`.
|
|
||||||
|
|
||||||
<TextInput light labelText="User name" placeholder="Enter user name..." />
|
<TextInput light labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Inline variant
|
## Inline variant
|
||||||
|
|
||||||
Use the inline variant to display the label and input on the same line by setting `inline` to `true`.
|
|
||||||
|
|
||||||
<TextInput inline labelText="User name" placeholder="Enter user name..." />
|
<TextInput inline labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Read-only variant
|
## Read-only variant
|
||||||
|
|
||||||
Display a non-editable value by setting `readonly` to `true`.
|
|
||||||
|
|
||||||
<TextInput readonly labelText="User name" value="IBM" />
|
<TextInput readonly labelText="User name" value="IBM" />
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Use the extra-large size for more prominent inputs by setting `size` to `"xl"`.
|
|
||||||
|
|
||||||
<TextInput size="xl" labelText="User name" placeholder="Enter user name..." />
|
<TextInput size="xl" labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size for more compact inputs by setting `size` to `"sm"`.
|
|
||||||
|
|
||||||
<TextInput size="sm" labelText="User name" placeholder="Enter user name..." />
|
<TextInput size="sm" labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Indicate an invalid state with an error message by setting `invalid` to `true` and providing `invalidText`.
|
|
||||||
|
|
||||||
<TextInput invalid invalidText="User name is already taken. Please try another." labelText="User name" placeholder="Enter user name..." />
|
<TextInput invalid invalidText="User name is already taken. Please try another." labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Warning state
|
## Warning state
|
||||||
|
|
||||||
Indicate a warning state with a message by setting `warn` to `true` and providing `warnText`.
|
|
||||||
|
|
||||||
<TextInput warn warnText="Your user name is different from your log in ID." labelText="User name" placeholder="Enter user name..." />
|
<TextInput warn warnText="Your user name is different from your log in ID." labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Disabled state
|
## Disabled state
|
||||||
|
|
||||||
Disable the input to prevent user interaction by setting `disabled` to `true`.
|
|
||||||
|
|
||||||
<TextInput disabled labelText="User name" placeholder="Enter user name..." />
|
<TextInput disabled labelText="User name" placeholder="Enter user name..." />
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Show a loading state with the default skeleton variant.
|
|
||||||
|
|
||||||
<TextInputSkeleton />
|
<TextInputSkeleton />
|
||||||
|
|
||||||
## Skeleton without label
|
## Skeleton without label
|
||||||
|
|
||||||
Show a loading state without a label by setting `hideLabel` to `true`.
|
|
||||||
|
|
||||||
<TextInputSkeleton hideLabel />
|
<TextInputSkeleton hideLabel />
|
|
@ -1,7 +1,3 @@
|
||||||
---
|
|
||||||
components: ["Theme"]
|
|
||||||
---
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { InlineNotification, CodeSnippet } from "carbon-components-svelte";
|
import { InlineNotification, CodeSnippet } from "carbon-components-svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
|
@ -9,7 +5,7 @@ components: ["Theme"]
|
||||||
let code = `import "carbon-components-svelte/css/all.css";`;
|
let code = `import "carbon-components-svelte/css/all.css";`;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
The `Theme` component provides dynamic client-side theming using CSS variables. It supports five Carbon themes: white, g10, g80, g90, and g100, and allows for custom theme token overrides. The component can persist theme preferences using [window.localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) and provides built-in toggle and select controls for theme switching.
|
The `Theme` component can dyanmically update the Carbon theme on the client-side. It can persist the theme locally using [window.localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage).
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">You must use the "all.css" StyleSheet with the <code>Theme</code> component.</div>
|
<div class="body-short-01">You must use the "all.css" StyleSheet with the <code>Theme</code> component.</div>
|
||||||
|
@ -21,42 +17,40 @@ The `all.css` StyleSheet uses [CSS variables](https://developer.mozilla.org/en-U
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic theme component that can be controlled programmatically.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Theme/Theme" />
|
<FileSource src="/framed/Theme/Theme" />
|
||||||
|
|
||||||
## Persist locally
|
## Persist locally
|
||||||
|
|
||||||
Set `persist` to `true` to save the theme preference in [localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). Use `persistKey` to specify a custom storage key.
|
Set `persist` to `true` to persist the theme locally using the [Window.localStorage API](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage).
|
||||||
|
|
||||||
<FileSource src="/framed/Theme/ThemePersist" />
|
<FileSource src="/framed/Theme/ThemePersist" />
|
||||||
|
|
||||||
## Custom theme
|
## Custom theme
|
||||||
|
|
||||||
Override default Carbon theme tokens by providing custom key-value pairs in the `tokens` prop. Refer to the [Carbon website](https://carbondesignsystem.com/guidelines/themes/overview#customizing-a-theme) for guidance on customizing themes.
|
Define keys and values in the `tokens` prop that override default Carbon theme tokens. Refer to the [Carbon website](https://carbondesignsystem.com/guidelines/themes/overview#customizing-a-theme) for guidance on customizing a theme using token values.
|
||||||
|
|
||||||
<FileSource src="/framed/Theme/ThemeTokens" />
|
<FileSource src="/framed/Theme/ThemeTokens" />
|
||||||
|
|
||||||
## Theme toggle
|
## Theme toggle
|
||||||
|
|
||||||
Set `render` to `"toggle"` to display a toggle switch for switching between two themes. By default, it toggles between "white" and "g100" themes.
|
Set `render` to `"toggle"` to render a toggle switch to control the theme.
|
||||||
|
|
||||||
<FileSource src="/framed/Theme/ThemeToggle" />
|
<FileSource src="/framed/Theme/ThemeToggle" />
|
||||||
|
|
||||||
## Theme toggle (custom)
|
## Theme toggle (custom)
|
||||||
|
|
||||||
Customize the toggle appearance and behavior using the `toggle` prop. You can specify custom themes, labels, and other toggle properties.
|
Customize the toggle using the `toggle` prop.
|
||||||
|
|
||||||
<FileSource src="/framed/Theme/ThemeToggleCustom" />
|
<FileSource src="/framed/Theme/ThemeToggleCustom" />
|
||||||
|
|
||||||
## Theme select
|
## Theme select
|
||||||
|
|
||||||
Set `render` to `"select"` to display a dropdown menu for selecting from all available themes.
|
Set `render` to `"select"` to render a select dropdown to control the theme.
|
||||||
|
|
||||||
<FileSource src="/framed/Theme/ThemeSelect" />
|
<FileSource src="/framed/Theme/ThemeSelect" />
|
||||||
|
|
||||||
## Theme select (custom)
|
## Theme select (custom)
|
||||||
|
|
||||||
Customize the select dropdown using the `select` prop. You can specify which themes to include, customize labels, and adjust other select properties.
|
Customize the select using the `select` prop.
|
||||||
|
|
||||||
<FileSource src="/framed/Theme/ThemeSelectCustom" />
|
<FileSource src="/framed/Theme/ThemeSelectCustom" />
|
|
@ -3,16 +3,10 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Tile` provides a container for displaying content in a structured, card-like format. It supports light and dark variants and can be used to create consistent, visually distinct content sections.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic tile container for your content.
|
|
||||||
|
|
||||||
<Tile>Content</Tile>
|
<Tile>Content</Tile>
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light-themed backgrounds by setting `light` to `true`.
|
|
||||||
|
|
||||||
<Tile light>Content</Tile>
|
<Tile light>Content</Tile>
|
|
@ -7,8 +7,6 @@ components: ["TimePicker", "TimePickerSelect", "SelectItem"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`TimePicker` provides a time input field with optional period (AM/PM) and timezone selectors. It supports various sizes, states, and themes to match your application's design system.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
<TimePicker labelText="Cron job" placeholder="hh:mm">
|
<TimePicker labelText="Cron job" placeholder="hh:mm">
|
||||||
|
@ -24,8 +22,6 @@ components: ["TimePicker", "TimePickerSelect", "SelectItem"]
|
||||||
|
|
||||||
## Light variant
|
## Light variant
|
||||||
|
|
||||||
Use the light variant for light-themed backgrounds by setting `light` to `true`.
|
|
||||||
|
|
||||||
<TimePicker light labelText="Cron job" placeholder="hh:mm">
|
<TimePicker light labelText="Cron job" placeholder="hh:mm">
|
||||||
<TimePickerSelect value="pm">
|
<TimePickerSelect value="pm">
|
||||||
<SelectItem value="am" text="AM" />
|
<SelectItem value="am" text="AM" />
|
||||||
|
@ -39,8 +35,6 @@ Use the light variant for light-themed backgrounds by setting `light` to `true`.
|
||||||
|
|
||||||
## Extra-large size
|
## Extra-large size
|
||||||
|
|
||||||
Use the extra-large size for more prominent time pickers by setting `size` to `"xl"`.
|
|
||||||
|
|
||||||
<TimePicker size="xl" labelText="Cron job" placeholder="hh:mm">
|
<TimePicker size="xl" labelText="Cron job" placeholder="hh:mm">
|
||||||
<TimePickerSelect value="pm">
|
<TimePickerSelect value="pm">
|
||||||
<SelectItem value="am" text="AM" />
|
<SelectItem value="am" text="AM" />
|
||||||
|
@ -54,8 +48,6 @@ Use the extra-large size for more prominent time pickers by setting `size` to `"
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size for more compact time pickers by setting `size` to `"sm"`.
|
|
||||||
|
|
||||||
<TimePicker size="sm" labelText="Cron job" placeholder="hh:mm">
|
<TimePicker size="sm" labelText="Cron job" placeholder="hh:mm">
|
||||||
<TimePickerSelect value="pm">
|
<TimePickerSelect value="pm">
|
||||||
<SelectItem value="am" text="AM" />
|
<SelectItem value="am" text="AM" />
|
||||||
|
@ -69,8 +61,6 @@ Use the small size for more compact time pickers by setting `size` to `"sm"`.
|
||||||
|
|
||||||
## Invalid state
|
## Invalid state
|
||||||
|
|
||||||
Indicate an invalid state with an error message by setting `invalid` to `true` and providing `invalidText`.
|
|
||||||
|
|
||||||
<TimePicker invalid invalidText="A valid value is required" labelText="Cron job" placeholder="hh:mm">
|
<TimePicker invalid invalidText="A valid value is required" labelText="Cron job" placeholder="hh:mm">
|
||||||
<TimePickerSelect value="pm">
|
<TimePickerSelect value="pm">
|
||||||
<SelectItem value="am" text="AM" />
|
<SelectItem value="am" text="AM" />
|
||||||
|
@ -82,9 +72,8 @@ Indicate an invalid state with an error message by setting `invalid` to `true` a
|
||||||
</TimePickerSelect>
|
</TimePickerSelect>
|
||||||
</TimePicker>
|
</TimePicker>
|
||||||
|
|
||||||
## Disabled state
|
|
||||||
|
|
||||||
Disable the time picker to prevent user interaction by setting `disabled` to `true`.
|
## Disabled state
|
||||||
|
|
||||||
<TimePicker labelText="Cron job" placeholder="hh:mm" disabled>
|
<TimePicker labelText="Cron job" placeholder="hh:mm" disabled>
|
||||||
<TimePickerSelect value="pm" disabled>
|
<TimePickerSelect value="pm" disabled>
|
||||||
|
|
|
@ -1,32 +1,30 @@
|
||||||
---
|
|
||||||
components: ["ToastNotification"]
|
|
||||||
---
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { ToastNotification } from "carbon-components-svelte";
|
import { ToastNotification } from "carbon-components-svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`ToastNotification` displays non-modal, time-based messages that appear at the top of the screen and automatically disappear. It supports various notification types, custom content, and accessibility features.
|
Toasts are non-modal, time-based window elements used to display short messages;
|
||||||
|
they usually appear at the top of the screen and disappear after a few seconds.
|
||||||
|
|
||||||
See [detailed usage](https://carbondesignsystem.com/components/notification/usage).
|
See [detailed
|
||||||
|
usage](https://carbondesignsystem.com/components/notification/usage).
|
||||||
See also: [InlineNotification](InlineNotification)
|
See also: [InlineNotification](InlineNotification)
|
||||||
|
|
||||||
## Default
|
## Default (error)
|
||||||
|
|
||||||
Display a basic error notification with title, subtitle, and timestamp by default.
|
|
||||||
|
|
||||||
<ToastNotification title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" />
|
<ToastNotification title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" />
|
||||||
|
|
||||||
## Autoclose
|
## Autoclose
|
||||||
|
|
||||||
|
By default, `ToastNotification` does not automatically close.
|
||||||
|
|
||||||
Specify the `timeout` prop to automatically close the notification after a specified duration (in milliseconds).
|
Specify the `timeout` prop to automatically close the notification after a specified duration (in milliseconds).
|
||||||
|
|
||||||
<FileSource src="/framed/ToastNotification/ToastNotificationTimeout" />
|
<FileSource src="/framed/ToastNotification/ToastNotificationTimeout" />
|
||||||
|
|
||||||
## Prevent default close behavior
|
## Prevent default close behavior
|
||||||
|
|
||||||
Prevent the default close behavior using `e.preventDefault()` in the `on:close` event handler.
|
`ToastNotification` is a controlled component. Prevent the default close behavior using the `e.preventDefault()` method in the dispatched `on:close` event.
|
||||||
|
|
||||||
<ToastNotification title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" on:close={(e) => {
|
<ToastNotification title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" on:close={(e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
@ -35,14 +33,12 @@ Prevent the default close behavior using `e.preventDefault()` in the `on:close`
|
||||||
|
|
||||||
## Full width
|
## Full width
|
||||||
|
|
||||||
Set `fullWidth` to `true` for the notification to span the full width of its container.
|
Set `fullWidth` to `true` for the notification to span the full width of its containing element.
|
||||||
|
|
||||||
<ToastNotification fullWidth title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" />
|
<ToastNotification fullWidth title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" />
|
||||||
|
|
||||||
## Slottable title, subtitle, caption
|
## Slottable title, subtitle, caption
|
||||||
|
|
||||||
Customize the notification content using slots for more flexibility.
|
|
||||||
|
|
||||||
<ToastNotification>
|
<ToastNotification>
|
||||||
<strong slot="title">Error: </strong>
|
<strong slot="title">Error: </strong>
|
||||||
<strong slot="subtitle">An internal server error occurred.</strong>
|
<strong slot="subtitle">An internal server error occurred.</strong>
|
||||||
|
@ -51,7 +47,9 @@ Customize the notification content using slots for more flexibility.
|
||||||
|
|
||||||
## Accessible icon descriptions
|
## Accessible icon descriptions
|
||||||
|
|
||||||
Provide custom descriptions for icons to improve accessibility.
|
The status icon and close button icon descriptions appear on cursor hover and are read
|
||||||
|
by assistive technology. Default descriptions are provided in English and can be
|
||||||
|
overridden via `statusIconDescription` and `closeButtonDescription`.
|
||||||
|
|
||||||
<ToastNotification
|
<ToastNotification
|
||||||
title="错误"
|
title="错误"
|
||||||
|
@ -62,14 +60,10 @@ Provide custom descriptions for icons to improve accessibility.
|
||||||
|
|
||||||
## Hidden close button
|
## Hidden close button
|
||||||
|
|
||||||
Create a persistent notification by hiding the close button.
|
|
||||||
|
|
||||||
<ToastNotification hideCloseButton kind="warning" title="Scheduled maintenance" subtitle="Maintenance will last 2-4 hours." caption="{new Date().toLocaleString()}" />
|
<ToastNotification hideCloseButton kind="warning" title="Scheduled maintenance" subtitle="Maintenance will last 2-4 hours." caption="{new Date().toLocaleString()}" />
|
||||||
|
|
||||||
## Notification variants
|
## Notification variants
|
||||||
|
|
||||||
The component supports different notification types:
|
|
||||||
|
|
||||||
<ToastNotification kind="error" title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" />
|
<ToastNotification kind="error" title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" />
|
||||||
<ToastNotification kind="info" title="New updates" subtitle="Restart to get the latest updates." caption="{new Date().toLocaleString()}" />
|
<ToastNotification kind="info" title="New updates" subtitle="Restart to get the latest updates." caption="{new Date().toLocaleString()}" />
|
||||||
<ToastNotification kind="info-square" title="New updates" subtitle="Restart to get the latest updates." caption="{new Date().toLocaleString()}" />
|
<ToastNotification kind="info-square" title="New updates" subtitle="Restart to get the latest updates." caption="{new Date().toLocaleString()}" />
|
||||||
|
@ -79,8 +73,6 @@ The component supports different notification types:
|
||||||
|
|
||||||
## Low contrast
|
## Low contrast
|
||||||
|
|
||||||
Use low contrast variants for less prominent notifications.
|
|
||||||
|
|
||||||
<ToastNotification lowContrast kind="error" title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" />
|
<ToastNotification lowContrast kind="error" title="Error" subtitle="An internal server error occurred." caption="{new Date().toLocaleString()}" />
|
||||||
<ToastNotification lowContrast kind="info" title="New updates" subtitle="Restart to get the latest updates." caption="{new Date().toLocaleString()}" />
|
<ToastNotification lowContrast kind="info" title="New updates" subtitle="Restart to get the latest updates." caption="{new Date().toLocaleString()}" />
|
||||||
<ToastNotification lowContrast kind="info-square" title="New updates" subtitle="Restart to get the latest updates." caption="{new Date().toLocaleString()}" />
|
<ToastNotification lowContrast kind="info-square" title="New updates" subtitle="Restart to get the latest updates." caption="{new Date().toLocaleString()}" />
|
||||||
|
|
|
@ -7,73 +7,53 @@ components: ["Toggle", "ToggleSkeleton"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Toggle` provides a switch-like control that allows users to turn options on or off. It supports custom labels, different sizes, and various states to match your application's needs.
|
## Default (untoggled)
|
||||||
|
|
||||||
## Default
|
|
||||||
|
|
||||||
Display a basic toggle in its untoggled state by default.
|
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" />
|
<Toggle labelText="Push notifications" />
|
||||||
|
|
||||||
## Toggled
|
## Toggled
|
||||||
|
|
||||||
Set `toggled` to `true` to display the toggle in its on state.
|
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" toggled />
|
<Toggle labelText="Push notifications" toggled />
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
Use two-way binding to control the toggle state programmatically.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Toggle/ToggleReactive" />
|
<FileSource src="/framed/Toggle/ToggleReactive" />
|
||||||
|
|
||||||
## on:toggle event
|
## on:toggle event
|
||||||
|
|
||||||
Listen for toggle state changes using the `on:toggle` event.
|
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" on:toggle={e => console.log(e.detail)} />
|
<Toggle labelText="Push notifications" on:toggle={e => console.log(e.detail)} />
|
||||||
|
|
||||||
## Hidden label text
|
## Hidden label text
|
||||||
|
|
||||||
Set `hideLabel` to `true` to visually hide the label while maintaining accessibility.
|
Set `hideLabel` to `true` to visually hide the label text. It's recommended to still specify `labelText` for screen reader accessibility.
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" hideLabel />
|
<Toggle labelText="Push notifications" hideLabel />
|
||||||
|
|
||||||
## Custom labels
|
## Custom labels
|
||||||
|
|
||||||
Customize the toggle labels using `labelA` and `labelB` props.
|
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
||||||
|
|
||||||
## Slottable labels
|
## Slottable labels
|
||||||
|
|
||||||
Use slots to customize the toggle labels with additional styling or content.
|
An alternative to the "labelA" and "labelB" props is to use the corresponding named slots.
|
||||||
|
|
||||||
<Toggle labelText="Push notifications">
|
<Toggle labelText="Push notifications">
|
||||||
<span slot="labelA" style="color: red">No</span>
|
<span slot="labelA" style="color: red">No</span>
|
||||||
<span slot="labelB" style="color: green">Yes</span>
|
<span slot="labelB" style="color: green">Yes</span>
|
||||||
</Toggle>
|
</Toggle>
|
||||||
|
|
||||||
## Disabled state
|
## Disabled
|
||||||
|
|
||||||
Set `disabled` to `true` to prevent user interaction.
|
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" disabled />
|
<Toggle labelText="Push notifications" disabled />
|
||||||
|
|
||||||
## Small size
|
## Small size
|
||||||
|
|
||||||
Use the small size variant by setting `size` to `"sm"`.
|
|
||||||
|
|
||||||
<Toggle size="sm" labelText="Push notifications" />
|
<Toggle size="sm" labelText="Push notifications" />
|
||||||
|
|
||||||
## Skeleton
|
## Skeleton
|
||||||
|
|
||||||
Display a loading state using the skeleton component.
|
|
||||||
|
|
||||||
<ToggleSkeleton />
|
<ToggleSkeleton />
|
||||||
|
|
||||||
## Skeleton (small)
|
## Skeleton (small)
|
||||||
|
|
||||||
Use the small size variant for the skeleton component.
|
|
||||||
|
|
||||||
<ToggleSkeleton size="sm" />
|
<ToggleSkeleton size="sm" />
|
|
@ -8,11 +8,9 @@ components: ["Tooltip", "TooltipFooter"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Tooltip` displays contextual information when users hover over or focus on an element. It supports various directions, alignments, and interactive content to provide additional context or guidance.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Display a tooltip triggered by the default information icon.
|
By default, the tooltip is triggered by an information icon.
|
||||||
|
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<p>
|
<p>
|
||||||
|
@ -22,8 +20,6 @@ Display a tooltip triggered by the default information icon.
|
||||||
|
|
||||||
## With trigger text
|
## With trigger text
|
||||||
|
|
||||||
Use custom trigger text instead of the default icon.
|
|
||||||
|
|
||||||
<Tooltip triggerText="Resource list">
|
<Tooltip triggerText="Resource list">
|
||||||
<p>
|
<p>
|
||||||
Resources are provisioned based on your account's organization.
|
Resources are provisioned based on your account's organization.
|
||||||
|
@ -32,14 +28,10 @@ Use custom trigger text instead of the default icon.
|
||||||
|
|
||||||
## Reactive example
|
## Reactive example
|
||||||
|
|
||||||
Control the tooltip state programmatically.
|
|
||||||
|
|
||||||
<FileSource src="/framed/Tooltip/TooltipReactive" />
|
<FileSource src="/framed/Tooltip/TooltipReactive" />
|
||||||
|
|
||||||
## Directions
|
## Directions
|
||||||
|
|
||||||
Position the tooltip in different directions using the `direction` prop.
|
|
||||||
|
|
||||||
<Tooltip triggerText="Top" direction="top"><p>Top</p></Tooltip>
|
<Tooltip triggerText="Top" direction="top"><p>Top</p></Tooltip>
|
||||||
<Tooltip triggerText="Right" direction="right"><p>Right</p></Tooltip>
|
<Tooltip triggerText="Right" direction="right"><p>Right</p></Tooltip>
|
||||||
<Tooltip triggerText="Bottom" direction="bottom"><p>Bottom</p></Tooltip>
|
<Tooltip triggerText="Bottom" direction="bottom"><p>Bottom</p></Tooltip>
|
||||||
|
@ -47,16 +39,12 @@ Position the tooltip in different directions using the `direction` prop.
|
||||||
|
|
||||||
## Alignment
|
## Alignment
|
||||||
|
|
||||||
Align the tooltip content using the `align` prop.
|
|
||||||
|
|
||||||
<Tooltip triggerText="Start" align="start"><p>Start</p></Tooltip>
|
<Tooltip triggerText="Start" align="start"><p>Start</p></Tooltip>
|
||||||
<Tooltip triggerText="End" align="end"><p>End</p></Tooltip>
|
<Tooltip triggerText="End" align="end"><p>End</p></Tooltip>
|
||||||
<Tooltip triggerText="Center" align="center"><p>Center</p></Tooltip>
|
<Tooltip triggerText="Center" align="center"><p>Center</p></Tooltip>
|
||||||
|
|
||||||
## Interactive
|
## Interactive
|
||||||
|
|
||||||
Add interactive elements like links and buttons using `TooltipFooter`.
|
|
||||||
|
|
||||||
<Tooltip triggerText="Resource list">
|
<Tooltip triggerText="Resource list">
|
||||||
<p>
|
<p>
|
||||||
Resources are provisioned based on your account's organization.
|
Resources are provisioned based on your account's organization.
|
||||||
|
@ -69,8 +57,6 @@ Add interactive elements like links and buttons using `TooltipFooter`.
|
||||||
|
|
||||||
## Custom icon (component)
|
## Custom icon (component)
|
||||||
|
|
||||||
Use a custom icon component with the `icon` prop.
|
|
||||||
|
|
||||||
<Tooltip triggerText="Resource list" icon={Catalog}>
|
<Tooltip triggerText="Resource list" icon={Catalog}>
|
||||||
<p>
|
<p>
|
||||||
Resources are provisioned based on your account's organization.
|
Resources are provisioned based on your account's organization.
|
||||||
|
@ -79,8 +65,6 @@ Use a custom icon component with the `icon` prop.
|
||||||
|
|
||||||
## Custom icon (slot)
|
## Custom icon (slot)
|
||||||
|
|
||||||
Customize the icon using the `icon` slot for more flexibility.
|
|
||||||
|
|
||||||
<Tooltip triggerText="Resource list">
|
<Tooltip triggerText="Resource list">
|
||||||
<div slot="icon" style="width: 1rem; height: 1rem; outline: 1px solid red;"></div>
|
<div slot="icon" style="width: 1rem; height: 1rem; outline: 1px solid red;"></div>
|
||||||
<p>
|
<p>
|
||||||
|
@ -90,8 +74,6 @@ Customize the icon using the `icon` slot for more flexibility.
|
||||||
|
|
||||||
## Hidden icon
|
## Hidden icon
|
||||||
|
|
||||||
Hide the icon while keeping the tooltip functionality using `hideIcon`.
|
|
||||||
|
|
||||||
<Tooltip hideIcon triggerText="Resource list">
|
<Tooltip hideIcon triggerText="Resource list">
|
||||||
<p>
|
<p>
|
||||||
Resources are provisioned based on your account's organization.
|
Resources are provisioned based on your account's organization.
|
||||||
|
|
|
@ -3,19 +3,17 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`TooltipDefinition` provides inline definitions for terms or concepts. It displays a tooltip when users hover over or focus on the defined term, making it ideal for providing additional context without cluttering the interface.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Display a basic definition tooltip with the default bottom-center alignment.
|
|
||||||
|
|
||||||
<TooltipDefinition tooltipText="IBM Corporate Headquarters is based in Armonk, New York.">
|
<TooltipDefinition tooltipText="IBM Corporate Headquarters is based in Armonk, New York.">
|
||||||
Armonk
|
Armonk
|
||||||
</TooltipDefinition>
|
</TooltipDefinition>
|
||||||
|
|
||||||
## Custom tooltip direction and alignment
|
## Custom tooltip direction and alignment
|
||||||
|
|
||||||
Customize the tooltip position using the `direction` and `align` props. The default direction is `"bottom"` and alignment is `"center"`.
|
Customize the tooltip menu direction and alignment through the `direction` and `align` props.
|
||||||
|
|
||||||
|
By default, `direction` is `"bottom"` and `align` is `"center"`.
|
||||||
|
|
||||||
<TooltipDefinition direction="top" align="start" tooltipText="IBM Corporate Headquarters is based in Armonk, New York.">
|
<TooltipDefinition direction="top" align="start" tooltipText="IBM Corporate Headquarters is based in Armonk, New York.">
|
||||||
Armonk
|
Armonk
|
||||||
|
@ -23,8 +21,6 @@ Customize the tooltip position using the `direction` and `align` props. The defa
|
||||||
|
|
||||||
## Custom tooltip slot
|
## Custom tooltip slot
|
||||||
|
|
||||||
Use the `tooltip` slot to customize the tooltip content with additional styling or structure.
|
|
||||||
|
|
||||||
<TooltipDefinition>
|
<TooltipDefinition>
|
||||||
Armonk
|
Armonk
|
||||||
<span slot="tooltip" style="color: red">
|
<span slot="tooltip" style="color: red">
|
||||||
|
|
|
@ -5,18 +5,12 @@
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`TooltipIcon` displays contextual information when users hover over or focus on an icon. It's ideal for providing additional context about icons or actions in your interface.
|
## Default ("bottom" direction, "center" aligned)
|
||||||
|
|
||||||
## Default
|
|
||||||
|
|
||||||
Display a tooltip with the default bottom-center alignment.
|
|
||||||
|
|
||||||
<TooltipIcon tooltipText="Carbon is an open source design system by IBM." icon={Carbon} />
|
<TooltipIcon tooltipText="Carbon is an open source design system by IBM." icon={Carbon} />
|
||||||
|
|
||||||
## Directions
|
## Directions
|
||||||
|
|
||||||
Position the tooltip in different directions and alignments using the `direction` and `align` props.
|
|
||||||
|
|
||||||
<TooltipIcon tooltipText="Top start" direction="top" align="start" icon={Filter} />
|
<TooltipIcon tooltipText="Top start" direction="top" align="start" icon={Filter} />
|
||||||
<TooltipIcon tooltipText="Right end" direction="right" align="end" icon={Filter} />
|
<TooltipIcon tooltipText="Right end" direction="right" align="end" icon={Filter} />
|
||||||
<TooltipIcon tooltipText="Bottom start" direction="bottom" align="start" icon={Filter} />
|
<TooltipIcon tooltipText="Bottom start" direction="bottom" align="start" icon={Filter} />
|
||||||
|
@ -24,14 +18,12 @@ Position the tooltip in different directions and alignments using the `direction
|
||||||
|
|
||||||
## Custom tooltip text
|
## Custom tooltip text
|
||||||
|
|
||||||
Use the `tooltipText` slot to customize the tooltip content with additional styling.
|
Use the "text" slot to customize the tooltip text.
|
||||||
|
|
||||||
<TooltipIcon icon={Carbon}>
|
<TooltipIcon icon={Carbon}>
|
||||||
<span slot="tooltipText" style="color: red">Carbon is an open source design system by IBM.</span>
|
<span slot="tooltipText" style="color: red">Carbon is an open source design system by IBM.</span>
|
||||||
</TooltipIcon>
|
</TooltipIcon>
|
||||||
|
|
||||||
## Disabled state
|
## Disabled
|
||||||
|
|
||||||
Set `disabled` to `true` to prevent user interaction with the tooltip.
|
|
||||||
|
|
||||||
<TooltipIcon disabled tooltipText="Carbon is an open source design system by IBM." icon={Carbon} />
|
<TooltipIcon disabled tooltipText="Carbon is an open source design system by IBM." icon={Carbon} />
|
|
@ -1,13 +1,15 @@
|
||||||
<script>
|
<script>
|
||||||
import { InlineNotification, UnorderedList, ListItem, Link } from "carbon-components-svelte";
|
import { InlineNotification, UnorderedList, ListItem, Link, } from "carbon-components-svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`TreeView` displays hierarchical data in a collapsible tree structure. It supports node selection, expansion, icons, and programmatic control of the tree state.
|
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic tree view using the `nodes` prop. Each node requires an `id` and `text`, with optional properties for `disabled`, `icon`, and child `nodes`.
|
The `nodes` prop accepts an array of child nodes. Each node should contain `id` and `text` properties.
|
||||||
|
|
||||||
|
Optional properties include `disabled`, `icon`, and `nodes`.
|
||||||
|
|
||||||
|
A parent node contains `nodes` while a leaf node does not.
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
|
@ -23,7 +25,9 @@ Create a basic tree view using the `nodes` prop. Each node requires an `id` and
|
||||||
|
|
||||||
## Slottable node
|
## Slottable node
|
||||||
|
|
||||||
Customize node rendering using the default slot with the `let:node` directive. The node object provides:
|
By default, each item renders the value of `node.text`. Use the data from `let:node` directive to override the default slot.
|
||||||
|
|
||||||
|
The destructured `let:node` contains the following properties:
|
||||||
|
|
||||||
<UnorderedList svx-ignore style="margin-bottom: var(--cds-spacing-08)">
|
<UnorderedList svx-ignore style="margin-bottom: var(--cds-spacing-08)">
|
||||||
<ListItem><strong>id</strong>: the node id</ListItem>
|
<ListItem><strong>id</strong>: the node id</ListItem>
|
||||||
|
@ -38,66 +42,75 @@ Customize node rendering using the default slot with the `let:node` directive. T
|
||||||
|
|
||||||
## Initial active node
|
## Initial active node
|
||||||
|
|
||||||
Set the initial active node using the `activeId` prop.
|
The active node can be set through `activeId`.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewActive" />
|
<FileSource src="/framed/TreeView/TreeViewActive" />
|
||||||
|
|
||||||
## Compact size
|
## Compact size
|
||||||
|
|
||||||
Use the compact variant by setting `size` to `"compact"`.
|
Set `size` to `"compact"` to use the compact variant.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewCompact" />
|
<FileSource src="/framed/TreeView/TreeViewCompact" />
|
||||||
|
|
||||||
## With icons
|
## With icons
|
||||||
|
|
||||||
Add icons to nodes by defining an `icon` property with a Carbon Svelte icon component.
|
To render a node with an icon, define an `icon` property with a Carbon Svelte icon as its value.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewIcons" />
|
<FileSource src="/framed/TreeView/TreeViewIcons" />
|
||||||
|
|
||||||
## Initial expanded nodes
|
## Initial expanded nodes
|
||||||
|
|
||||||
Set initially expanded nodes using the `expandedIds` prop.
|
Expanded nodes can be set using `expandedIds`.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewExpanded" />
|
<FileSource src="/framed/TreeView/TreeViewExpanded" />
|
||||||
|
|
||||||
## Initial multiple selected nodes
|
## Initial multiple selected nodes
|
||||||
|
|
||||||
Set multiple initially selected nodes using the `selectedIds` prop.
|
Initial multiple selected nodes can be set using `selectedIds`.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewMultiselect" />
|
<FileSource src="/framed/TreeView/TreeViewMultiselect" />
|
||||||
|
|
||||||
## Expand all nodes
|
## Expand all nodes
|
||||||
|
|
||||||
Programmatically expand all nodes using the `TreeView.expandAll()` method.
|
To programmatically expand all nodes, access the component instance using the [bind:this](https://svelte.dev/docs#bind_element) directive and invoke the `TreeView.expandAll()` accessor.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewExpandAll" />
|
<FileSource src="/framed/TreeView/TreeViewExpandAll" />
|
||||||
|
|
||||||
## Collapse all nodes
|
## Collapse all nodes
|
||||||
|
|
||||||
Programmatically collapse all nodes using the `TreeView.collapseAll()` method.
|
Similarly, invoke `TreeView.collapseAll()` to collapse all nodes.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewCollapseAll" />
|
<FileSource src="/framed/TreeView/TreeViewCollapseAll" />
|
||||||
|
|
||||||
## Expand a subset of nodes
|
## Expand a subset of nodes
|
||||||
|
|
||||||
Use `TreeView.expandNodes` to expand specific nodes based on a condition.
|
Use the `TreeView.expandNodes` method to expand only a subset of nodes.
|
||||||
|
|
||||||
|
The method accepts an argument that takes a node and returns a boolean.
|
||||||
|
|
||||||
|
If no argument is provided, all nodes will be expanded.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewExpandNodes" />
|
<FileSource src="/framed/TreeView/TreeViewExpandNodes" />
|
||||||
|
|
||||||
## Collapse a subset of nodes
|
## Collapse a subset of nodes
|
||||||
|
|
||||||
Use `TreeView.collapseNodes` to collapse specific nodes based on a condition.
|
Use the `TreeView.collapseNodes` method to collapse a subset of nodes.
|
||||||
|
|
||||||
|
If no argument is provided, all nodes will be collapsed.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewCollapseNodes" />
|
<FileSource src="/framed/TreeView/TreeViewCollapseNodes" />
|
||||||
|
|
||||||
## Show a specific node
|
## Show a specific node
|
||||||
|
|
||||||
Use `TreeView.showNode` to expand, select, and focus a specific node.
|
Use the `TreeView.showNode` method to show a specific node.
|
||||||
|
|
||||||
|
If a matching node is found, it will be expanded, selected, and focused.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewShowNode" />
|
<FileSource src="/framed/TreeView/TreeViewShowNode" />
|
||||||
|
|
||||||
## Flat data structure
|
## Flat data structure
|
||||||
|
|
||||||
Convert flat data to a hierarchical structure using the `toHierarchy` utility.
|
If working with a flat data structure, use the `toHierarchy` utility
|
||||||
|
to convert a flat data structure into a hierarchical array accepted by the `nodes` prop.
|
||||||
|
|
||||||
<FileSource src="/framed/TreeView/TreeViewFlatArray" />
|
<FileSource src="/framed/TreeView/TreeViewFlatArray" />
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Truncate, truncate } from "carbon-components-svelte";
|
import { Truncate, truncate } from "carbon-components-svelte";
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`Truncate` provides text truncation functionality for single-line content. It implements Carbon's text truncation CSS classes and can be used as either a component or an action.
|
This utility component wraps the `.bx--text-truncate--*` CSS selectors from [carbon-components](https://github.com/carbon-design-system/carbon/blob/master/packages/components/src/globals/scss/_helper-classes.scss#L11) for single-line text truncation.
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Display truncated text using the default component. Text is wrapped in a paragraph element and truncated at the end of the line.
|
By default, text will be clamped at the end of the line. Text is wrapped with a paragraph (`p`) element. Use the [truncate action](#usetruncate) to truncate text in other elements.
|
||||||
|
|
||||||
<Truncate>
|
<Truncate>
|
||||||
Carbon Components Svelte is a Svelte component library that implements the Carbon Design System, an open source design system by IBM.
|
Carbon Components Svelte is a Svelte component library that implements the Carbon Design System, an open source design system by IBM.
|
||||||
|
@ -15,7 +16,7 @@ Display truncated text using the default component. Text is wrapped in a paragra
|
||||||
|
|
||||||
## Clamp front
|
## Clamp front
|
||||||
|
|
||||||
Truncate text from the beginning by setting `clamp` to `"front"`.
|
Set `clamp` to `"front"` to clamp the text from the front.
|
||||||
|
|
||||||
<Truncate clamp="front">
|
<Truncate clamp="front">
|
||||||
Carbon Components Svelte is a Svelte component library that implements the Carbon Design System, an open source design system by IBM.
|
Carbon Components Svelte is a Svelte component library that implements the Carbon Design System, an open source design system by IBM.
|
||||||
|
@ -23,7 +24,7 @@ Truncate text from the beginning by setting `clamp` to `"front"`.
|
||||||
|
|
||||||
## use:truncate
|
## use:truncate
|
||||||
|
|
||||||
Apply truncation to any HTML element using the `truncate` action.
|
The `truncate` action can be used on plain HTML elements.
|
||||||
|
|
||||||
<h4 use:truncate>
|
<h4 use:truncate>
|
||||||
Carbon Components Svelte is a Svelte component library that implements the Carbon Design System, an open source design system by IBM.
|
Carbon Components Svelte is a Svelte component library that implements the Carbon Design System, an open source design system by IBM.
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
components: ["Header",
|
components: ["Header",
|
||||||
"HeaderAction",
|
"HeaderAction",
|
||||||
|
@ -25,8 +27,6 @@ components: ["Header",
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`UIShell` provides a collection of components for building application shells and navigation structures. It includes header, side navigation, and content components that work together to create a cohesive user interface.
|
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
Currently, the UI Shell is not themable and only supports dark mode.
|
Currently, the UI Shell is not themable and only supports dark mode.
|
||||||
|
@ -37,8 +37,6 @@ Open the following examples in a new tab to experience them in full.
|
||||||
|
|
||||||
## Header
|
## Header
|
||||||
|
|
||||||
Create a basic header with the `Header` component.
|
|
||||||
|
|
||||||
<FileSource src="/framed/UIShell/Header" />
|
<FileSource src="/framed/UIShell/Header" />
|
||||||
|
|
||||||
## Header with side navigation
|
## Header with side navigation
|
||||||
|
@ -73,18 +71,12 @@ Note that providing `text` overrides the tooltip.
|
||||||
|
|
||||||
## Header with global search
|
## Header with global search
|
||||||
|
|
||||||
Add a global search component to the header.
|
|
||||||
|
|
||||||
<FileSource src="/framed/UIShell/HeaderSearch" />
|
<FileSource src="/framed/UIShell/HeaderSearch" />
|
||||||
|
|
||||||
## Header with utilities
|
## Header with utilities
|
||||||
|
|
||||||
Include utility components in the header using `HeaderUtilities`.
|
|
||||||
|
|
||||||
<FileSource src="/framed/UIShell/HeaderUtilities" />
|
<FileSource src="/framed/UIShell/HeaderUtilities" />
|
||||||
|
|
||||||
## Header with persisted hamburger menu
|
## Header with persisted hamburger menu
|
||||||
|
|
||||||
Create a header with a persistent hamburger menu state.
|
|
||||||
|
|
||||||
<FileSource src="/framed/UIShell/PersistedHamburgerMenu" />
|
<FileSource src="/framed/UIShell/PersistedHamburgerMenu" />
|
|
@ -7,8 +7,6 @@ components: ["UnorderedList", "ListItem"]
|
||||||
import Preview from "../../components/Preview.svelte";
|
import Preview from "../../components/Preview.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
`UnorderedList` provides a styled unordered list component that supports nested lists, links, and expressive typography. It's ideal for displaying bulleted content in your interface.
|
|
||||||
|
|
||||||
<InlineNotification svx-ignore lowContrast title="Tip:" kind="info" hideCloseButton>
|
<InlineNotification svx-ignore lowContrast title="Tip:" kind="info" hideCloseButton>
|
||||||
<div class="body-short-01">
|
<div class="body-short-01">
|
||||||
Consider using the <Link href="/components/RecursiveList#unordered">RecursiveList</Link> component for rendering tree structured data.
|
Consider using the <Link href="/components/RecursiveList#unordered">RecursiveList</Link> component for rendering tree structured data.
|
||||||
|
@ -17,8 +15,6 @@ components: ["UnorderedList", "ListItem"]
|
||||||
|
|
||||||
## Default
|
## Default
|
||||||
|
|
||||||
Create a basic unordered list with `ListItem` components.
|
|
||||||
|
|
||||||
<UnorderedList>
|
<UnorderedList>
|
||||||
<ListItem>Unordered list item</ListItem>
|
<ListItem>Unordered list item</ListItem>
|
||||||
<ListItem>Unordered list item</ListItem>
|
<ListItem>Unordered list item</ListItem>
|
||||||
|
@ -27,8 +23,6 @@ Create a basic unordered list with `ListItem` components.
|
||||||
|
|
||||||
## With links
|
## With links
|
||||||
|
|
||||||
Add links to list items by wrapping them in `Link` components.
|
|
||||||
|
|
||||||
<UnorderedList>
|
<UnorderedList>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<Link href="#">Unordered list item</Link>
|
<Link href="#">Unordered list item</Link>
|
||||||
|
@ -43,8 +37,6 @@ Add links to list items by wrapping them in `Link` components.
|
||||||
|
|
||||||
## Nested
|
## Nested
|
||||||
|
|
||||||
Create nested lists by setting `nested` to `true` on child `UnorderedList` components.
|
|
||||||
|
|
||||||
<UnorderedList>
|
<UnorderedList>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
Unordered list level 1
|
Unordered list level 1
|
||||||
|
@ -65,7 +57,7 @@ Create nested lists by setting `nested` to `true` on child `UnorderedList` compo
|
||||||
|
|
||||||
## Expressive styles
|
## Expressive styles
|
||||||
|
|
||||||
Use Carbon's expressive typesetting by setting `expressive` to `true`.
|
Set `expressive` to `true` to use Carbon's expressive typesetting.
|
||||||
|
|
||||||
<UnorderedList expressive>
|
<UnorderedList expressive>
|
||||||
<ListItem><Link size="lg" href="#">Unordered list item</Link></ListItem>
|
<ListItem><Link size="lg" href="#">Unordered list item</Link></ListItem>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
{ key: "name", value: "Name" },
|
{ key: "name", value: "Name" },
|
||||||
{ key: "port", value: "Port" },
|
{ key: "port", value: "Port" },
|
||||||
{ key: "rule", value: "Rule" },
|
{ key: "rule", value: "Rule" },
|
||||||
{ key: "overflow", empty: true, width: "72px" },
|
{ key: "overflow", empty: true },
|
||||||
];
|
];
|
||||||
|
|
||||||
const rows = [
|
const rows = [
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
$: console.log("sortDirection", sortDirection);
|
$: console.log("sortDirection", sortDirection);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div style="margin-bottom: 1rem">
|
|
||||||
<Button
|
<Button
|
||||||
size="sm"
|
|
||||||
kind="tertiary"
|
kind="tertiary"
|
||||||
disabled={sortKey === "port" && sortDirection === "ascending"}
|
disabled={sortKey === "port" && sortDirection === "ascending"}
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
|
@ -20,8 +18,8 @@
|
||||||
>
|
>
|
||||||
Sort "port" in ascending order
|
Sort "port" in ascending order
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
size="sm"
|
|
||||||
kind="tertiary"
|
kind="tertiary"
|
||||||
disabled={sortKey === "name" && sortDirection === "descending"}
|
disabled={sortKey === "name" && sortDirection === "descending"}
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
|
@ -31,8 +29,8 @@
|
||||||
>
|
>
|
||||||
Sort "name" in descending order
|
Sort "name" in descending order
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
size="sm"
|
|
||||||
kind="ghost"
|
kind="ghost"
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
sortKey = null;
|
sortKey = null;
|
||||||
|
@ -41,7 +39,6 @@
|
||||||
>
|
>
|
||||||
Clear sorting
|
Clear sorting
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
|
||||||
|
|
||||||
<DataTable
|
<DataTable
|
||||||
sortable
|
sortable
|
||||||
|
|
|
@ -235,7 +235,7 @@
|
||||||
<TileCard
|
<TileCard
|
||||||
borderBottom
|
borderBottom
|
||||||
title="Carbon Icons Svelte"
|
title="Carbon Icons Svelte"
|
||||||
subtitle="2,500+ icons"
|
subtitle="2,400+ icons"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
href="https://github.com/carbon-design-system/carbon-icons-svelte"
|
href="https://github.com/carbon-design-system/carbon-icons-svelte"
|
||||||
/>
|
/>
|
||||||
|
@ -247,7 +247,7 @@
|
||||||
borderBottom
|
borderBottom
|
||||||
borderRight
|
borderRight
|
||||||
title="Carbon Pictograms Svelte"
|
title="Carbon Pictograms Svelte"
|
||||||
subtitle="1,300+ pictograms"
|
subtitle="1,200+ pictograms"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
href="https://github.com/carbon-design-system/carbon-pictograms-svelte"
|
href="https://github.com/carbon-design-system/carbon-pictograms-svelte"
|
||||||
/>
|
/>
|
||||||
|
@ -276,7 +276,8 @@
|
||||||
</Content>
|
</Content>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<dds-footer-container disable-locale-button="true" size="micro" />
|
<dds-footer-container disable-locale-button="true" size="micro"
|
||||||
|
></dds-footer-container>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -4,8 +4,8 @@ import { parse, walk } from "svelte/compiler";
|
||||||
import slug from "remark-slug";
|
import slug from "remark-slug";
|
||||||
import visit from "unist-util-visit";
|
import visit from "unist-util-visit";
|
||||||
import { format } from "prettier";
|
import { format } from "prettier";
|
||||||
import pkg from "../package.json" with { type: "json" };
|
import pkg from "../package.json" assert { type: "json" };
|
||||||
import component_api from "./src/COMPONENT_API.json" with { type: "json" };
|
import component_api from "./src/COMPONENT_API.json" assert { type: "json" };
|
||||||
import fs from "node:fs";
|
import fs from "node:fs";
|
||||||
import Prism from "prismjs";
|
import Prism from "prismjs";
|
||||||
import "prism-svelte";
|
import "prism-svelte";
|
||||||
|
|
|
@ -5,10 +5,6 @@ export default defineConfig({
|
||||||
plugins: [svelte()],
|
plugins: [svelte()],
|
||||||
optimizeDeps: {
|
optimizeDeps: {
|
||||||
include: ["clipboard-copy", "flatpickr/dist/plugins/rangePlugin"],
|
include: ["clipboard-copy", "flatpickr/dist/plugins/rangePlugin"],
|
||||||
exclude: [
|
exclude: ["@sveltech/routify"],
|
||||||
"carbon-components-svelte",
|
|
||||||
"carbon-icons-svelte",
|
|
||||||
"@sveltech/routify",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
287
examples/rollup/package-lock.json
generated
287
examples/rollup/package-lock.json
generated
|
@ -5,17 +5,17 @@
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"carbon-components-svelte": "^0.88.4"
|
"carbon-components-svelte": "^0.88.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rollup/plugin-commonjs": "^26.0.3",
|
"@rollup/plugin-commonjs": "^26.0.3",
|
||||||
"@rollup/plugin-node-resolve": "^15.3.1",
|
"@rollup/plugin-node-resolve": "^15.3.1",
|
||||||
"@rollup/plugin-terser": "^0.4.4",
|
"@rollup/plugin-terser": "^0.4.4",
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"rollup": "^4.45.1",
|
"rollup": "^4.36.0",
|
||||||
"rollup-plugin-css-only": "^4.5.2",
|
"rollup-plugin-css-only": "^4.5.2",
|
||||||
"rollup-plugin-svelte": "^7.2.2",
|
"rollup-plugin-svelte": "^7.2.2",
|
||||||
"svelte": "^4.2.20"
|
"svelte": "^4.2.19"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
|
@ -60,14 +60,18 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/gen-mapping": {
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
"version": "0.3.12",
|
"version": "0.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
||||||
"integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
|
"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/sourcemap-codec": "^1.5.0",
|
"@jridgewell/set-array": "^1.2.1",
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.4.10",
|
||||||
"@jridgewell/trace-mapping": "^0.3.24"
|
"@jridgewell/trace-mapping": "^0.3.24"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/resolve-uri": {
|
"node_modules/@jridgewell/resolve-uri": {
|
||||||
|
@ -80,10 +84,20 @@
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@jridgewell/set-array": {
|
||||||
|
"version": "1.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
|
||||||
|
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@jridgewell/source-map": {
|
"node_modules/@jridgewell/source-map": {
|
||||||
"version": "0.3.10",
|
"version": "0.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.10.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
|
||||||
"integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==",
|
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -92,16 +106,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/sourcemap-codec": {
|
"node_modules/@jridgewell/sourcemap-codec": {
|
||||||
"version": "1.5.4",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
||||||
"integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
|
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/trace-mapping": {
|
"node_modules/@jridgewell/trace-mapping": {
|
||||||
"version": "0.3.29",
|
"version": "0.3.25",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
||||||
"integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
|
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -195,9 +209,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/pluginutils": {
|
"node_modules/@rollup/pluginutils": {
|
||||||
"version": "5.2.0",
|
"version": "5.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
|
||||||
"integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
|
"integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -218,9 +232,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.36.0.tgz",
|
||||||
"integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==",
|
"integrity": "sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -232,9 +246,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm64": {
|
"node_modules/@rollup/rollup-android-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==",
|
"integrity": "sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -246,9 +260,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==",
|
"integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -260,9 +274,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-x64": {
|
"node_modules/@rollup/rollup-darwin-x64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.36.0.tgz",
|
||||||
"integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==",
|
"integrity": "sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -274,9 +288,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==",
|
"integrity": "sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -288,9 +302,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.36.0.tgz",
|
||||||
"integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==",
|
"integrity": "sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -302,9 +316,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.36.0.tgz",
|
||||||
"integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==",
|
"integrity": "sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -316,9 +330,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.36.0.tgz",
|
||||||
"integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==",
|
"integrity": "sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -330,9 +344,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==",
|
"integrity": "sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -344,9 +358,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.36.0.tgz",
|
||||||
"integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==",
|
"integrity": "sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -358,9 +372,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==",
|
"integrity": "sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"loong64"
|
"loong64"
|
||||||
],
|
],
|
||||||
|
@ -372,9 +386,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==",
|
"integrity": "sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
|
@ -386,23 +400,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==",
|
"integrity": "sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==",
|
||||||
"cpu": [
|
|
||||||
"riscv64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
|
||||||
"version": "4.45.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz",
|
|
||||||
"integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==",
|
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
|
@ -414,9 +414,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==",
|
"integrity": "sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
|
@ -428,9 +428,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==",
|
"integrity": "sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -442,9 +442,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.36.0.tgz",
|
||||||
"integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==",
|
"integrity": "sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -456,9 +456,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==",
|
"integrity": "sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -470,9 +470,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==",
|
"integrity": "sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
|
@ -484,9 +484,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==",
|
"integrity": "sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -498,9 +498,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@types/estree": {
|
"node_modules/@types/estree": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
|
||||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
@ -512,9 +512,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/acorn": {
|
"node_modules/acorn": {
|
||||||
"version": "8.15.0",
|
"version": "8.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
|
||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -578,9 +578,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/brace-expansion": {
|
"node_modules/brace-expansion": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||||
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -595,9 +595,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/carbon-components-svelte": {
|
"node_modules/carbon-components-svelte": {
|
||||||
"version": "0.88.4",
|
"version": "0.88.1",
|
||||||
"resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.88.4.tgz",
|
"resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.88.1.tgz",
|
||||||
"integrity": "sha512-liUTU97iJbCy2iQCbtHIDWPUCtHPo+a6K9GBJt/3x9EU4DuCr6dKlQW/v9E0FktyrotMZshLEbuk0uB5ZDAVcw==",
|
"integrity": "sha512-R5bJ4I3eTB1BSOCP/HAH/iNsltiNcKvY8EwNkUluuZD+s2J+D6DVlDOQyaa96UtGW9tJareVUuZE/r6E+4DwQA==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1041,9 +1041,9 @@
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/picomatch": {
|
"node_modules/picomatch": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
||||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -1054,9 +1054,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.5.6",
|
"version": "8.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
|
||||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1074,7 +1074,7 @@
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.11",
|
"nanoid": "^3.3.8",
|
||||||
"picocolors": "^1.1.1",
|
"picocolors": "^1.1.1",
|
||||||
"source-map-js": "^1.2.1"
|
"source-map-js": "^1.2.1"
|
||||||
},
|
},
|
||||||
|
@ -1083,16 +1083,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-empty": {
|
"node_modules/postcss-discard-empty": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz",
|
||||||
"integrity": "sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==",
|
"integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"postcss": "^8.4.32"
|
"postcss": "^8.4.31"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/randombytes": {
|
"node_modules/randombytes": {
|
||||||
|
@ -1137,13 +1137,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz",
|
||||||
"integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==",
|
"integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/estree": "1.0.8"
|
"@types/estree": "1.0.6"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"rollup": "dist/bin/rollup"
|
"rollup": "dist/bin/rollup"
|
||||||
|
@ -1153,26 +1153,25 @@
|
||||||
"npm": ">=8.0.0"
|
"npm": ">=8.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rollup/rollup-android-arm-eabi": "4.45.1",
|
"@rollup/rollup-android-arm-eabi": "4.36.0",
|
||||||
"@rollup/rollup-android-arm64": "4.45.1",
|
"@rollup/rollup-android-arm64": "4.36.0",
|
||||||
"@rollup/rollup-darwin-arm64": "4.45.1",
|
"@rollup/rollup-darwin-arm64": "4.36.0",
|
||||||
"@rollup/rollup-darwin-x64": "4.45.1",
|
"@rollup/rollup-darwin-x64": "4.36.0",
|
||||||
"@rollup/rollup-freebsd-arm64": "4.45.1",
|
"@rollup/rollup-freebsd-arm64": "4.36.0",
|
||||||
"@rollup/rollup-freebsd-x64": "4.45.1",
|
"@rollup/rollup-freebsd-x64": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm-gnueabihf": "4.45.1",
|
"@rollup/rollup-linux-arm-gnueabihf": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm-musleabihf": "4.45.1",
|
"@rollup/rollup-linux-arm-musleabihf": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm64-gnu": "4.45.1",
|
"@rollup/rollup-linux-arm64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm64-musl": "4.45.1",
|
"@rollup/rollup-linux-arm64-musl": "4.36.0",
|
||||||
"@rollup/rollup-linux-loongarch64-gnu": "4.45.1",
|
"@rollup/rollup-linux-loongarch64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-powerpc64le-gnu": "4.45.1",
|
"@rollup/rollup-linux-powerpc64le-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-riscv64-gnu": "4.45.1",
|
"@rollup/rollup-linux-riscv64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-riscv64-musl": "4.45.1",
|
"@rollup/rollup-linux-s390x-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-s390x-gnu": "4.45.1",
|
"@rollup/rollup-linux-x64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-x64-gnu": "4.45.1",
|
"@rollup/rollup-linux-x64-musl": "4.36.0",
|
||||||
"@rollup/rollup-linux-x64-musl": "4.45.1",
|
"@rollup/rollup-win32-arm64-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-arm64-msvc": "4.45.1",
|
"@rollup/rollup-win32-ia32-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-ia32-msvc": "4.45.1",
|
"@rollup/rollup-win32-x64-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-x64-msvc": "4.45.1",
|
|
||||||
"fsevents": "~2.3.2"
|
"fsevents": "~2.3.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1460,9 +1459,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svelte": {
|
"node_modules/svelte": {
|
||||||
"version": "4.2.20",
|
"version": "4.2.19",
|
||||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.20.tgz",
|
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
|
||||||
"integrity": "sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==",
|
"integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1506,14 +1505,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/terser": {
|
"node_modules/terser": {
|
||||||
"version": "5.43.1",
|
"version": "5.39.0",
|
||||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
|
"resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz",
|
||||||
"integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
|
"integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/source-map": "^0.3.3",
|
"@jridgewell/source-map": "^0.3.3",
|
||||||
"acorn": "^8.14.0",
|
"acorn": "^8.8.2",
|
||||||
"commander": "^2.20.0",
|
"commander": "^2.20.0",
|
||||||
"source-map-support": "~0.5.20"
|
"source-map-support": "~0.5.20"
|
||||||
},
|
},
|
||||||
|
|
|
@ -6,16 +6,16 @@
|
||||||
"build": "rollup -c"
|
"build": "rollup -c"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"carbon-components-svelte": "^0.88.4"
|
"carbon-components-svelte": "^0.88.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rollup/plugin-commonjs": "^26.0.3",
|
"@rollup/plugin-commonjs": "^26.0.3",
|
||||||
"@rollup/plugin-node-resolve": "^15.3.1",
|
"@rollup/plugin-node-resolve": "^15.3.1",
|
||||||
"@rollup/plugin-terser": "^0.4.4",
|
"@rollup/plugin-terser": "^0.4.4",
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"rollup": "^4.45.1",
|
"rollup": "^4.36.0",
|
||||||
"rollup-plugin-css-only": "^4.5.2",
|
"rollup-plugin-css-only": "^4.5.2",
|
||||||
"rollup-plugin-svelte": "^7.2.2",
|
"rollup-plugin-svelte": "^7.2.2",
|
||||||
"svelte": "^4.2.20"
|
"svelte": "^4.2.19"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
317
examples/sveltekit/package-lock.json
generated
317
examples/sveltekit/package-lock.json
generated
|
@ -5,15 +5,15 @@
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"carbon-components-svelte": "^0.88.4",
|
"carbon-components-svelte": "^0.88.1",
|
||||||
"carbon-pictograms-svelte": "^13.8.0"
|
"carbon-pictograms-svelte": "^13.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/kit": "^2.25.2",
|
"@sveltejs/kit": "^2.20.1",
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"svelte": "^4.2.20",
|
"svelte": "^4.2.19",
|
||||||
"vite": "^5.4.20"
|
"vite": "^5.4.14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
|
@ -431,14 +431,18 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/gen-mapping": {
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
"version": "0.3.12",
|
"version": "0.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
||||||
"integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
|
"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/sourcemap-codec": "^1.5.0",
|
"@jridgewell/set-array": "^1.2.1",
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.4.10",
|
||||||
"@jridgewell/trace-mapping": "^0.3.24"
|
"@jridgewell/trace-mapping": "^0.3.24"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/resolve-uri": {
|
"node_modules/@jridgewell/resolve-uri": {
|
||||||
|
@ -451,17 +455,27 @@
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@jridgewell/set-array": {
|
||||||
|
"version": "1.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
|
||||||
|
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@jridgewell/sourcemap-codec": {
|
"node_modules/@jridgewell/sourcemap-codec": {
|
||||||
"version": "1.5.4",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
||||||
"integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
|
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/trace-mapping": {
|
"node_modules/@jridgewell/trace-mapping": {
|
||||||
"version": "0.3.29",
|
"version": "0.3.25",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
||||||
"integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
|
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -470,16 +484,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@polka/url": {
|
"node_modules/@polka/url": {
|
||||||
"version": "1.0.0-next.29",
|
"version": "1.0.0-next.28",
|
||||||
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
|
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz",
|
||||||
"integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
|
"integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.36.0.tgz",
|
||||||
"integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==",
|
"integrity": "sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -491,9 +505,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm64": {
|
"node_modules/@rollup/rollup-android-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==",
|
"integrity": "sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -505,9 +519,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==",
|
"integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -519,9 +533,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-x64": {
|
"node_modules/@rollup/rollup-darwin-x64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.36.0.tgz",
|
||||||
"integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==",
|
"integrity": "sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -533,9 +547,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==",
|
"integrity": "sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -547,9 +561,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.36.0.tgz",
|
||||||
"integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==",
|
"integrity": "sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -561,9 +575,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.36.0.tgz",
|
||||||
"integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==",
|
"integrity": "sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -575,9 +589,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.36.0.tgz",
|
||||||
"integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==",
|
"integrity": "sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -589,9 +603,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==",
|
"integrity": "sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -603,9 +617,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.36.0.tgz",
|
||||||
"integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==",
|
"integrity": "sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -617,9 +631,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==",
|
"integrity": "sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"loong64"
|
"loong64"
|
||||||
],
|
],
|
||||||
|
@ -631,9 +645,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==",
|
"integrity": "sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
|
@ -645,23 +659,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==",
|
"integrity": "sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==",
|
||||||
"cpu": [
|
|
||||||
"riscv64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
|
||||||
"version": "4.45.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz",
|
|
||||||
"integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==",
|
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
|
@ -673,9 +673,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==",
|
"integrity": "sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
|
@ -687,9 +687,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==",
|
"integrity": "sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -701,9 +701,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.36.0.tgz",
|
||||||
"integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==",
|
"integrity": "sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -715,9 +715,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==",
|
"integrity": "sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -729,9 +729,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==",
|
"integrity": "sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
|
@ -743,9 +743,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==",
|
"integrity": "sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -756,29 +756,18 @@
|
||||||
"win32"
|
"win32"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@sveltejs/acorn-typescript": {
|
|
||||||
"version": "1.0.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz",
|
|
||||||
"integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"peerDependencies": {
|
|
||||||
"acorn": "^8.9.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@sveltejs/kit": {
|
"node_modules/@sveltejs/kit": {
|
||||||
"version": "2.25.2",
|
"version": "2.20.1",
|
||||||
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.25.2.tgz",
|
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.20.1.tgz",
|
||||||
"integrity": "sha512-aKfj82vqEINedoH9Pw4Ip16jj3w8soNq9F3nJqc56kxXW74TcEu/gdTAuLUI+gsl8i+KXfetRqg1F+gG/AZRVQ==",
|
"integrity": "sha512-XXd6hQKi9le+8rYIKsxTfgABjB3b8S21qZmMUTvAC5kuVA1AXvYPVEmxrMhRqyOacXu3e6P3ag5HtJi6j9K7UQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sveltejs/acorn-typescript": "^1.0.5",
|
|
||||||
"@types/cookie": "^0.6.0",
|
"@types/cookie": "^0.6.0",
|
||||||
"acorn": "^8.14.1",
|
|
||||||
"cookie": "^0.6.0",
|
"cookie": "^0.6.0",
|
||||||
"devalue": "^5.1.0",
|
"devalue": "^5.1.0",
|
||||||
"esm-env": "^1.2.2",
|
"esm-env": "^1.2.2",
|
||||||
|
"import-meta-resolve": "^4.1.0",
|
||||||
"kleur": "^4.1.5",
|
"kleur": "^4.1.5",
|
||||||
"magic-string": "^0.30.5",
|
"magic-string": "^0.30.5",
|
||||||
"mrmime": "^2.0.0",
|
"mrmime": "^2.0.0",
|
||||||
|
@ -793,9 +782,9 @@
|
||||||
"node": ">=18.13"
|
"node": ">=18.13"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0",
|
"@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0",
|
||||||
"svelte": "^4.0.0 || ^5.0.0-next.0",
|
"svelte": "^4.0.0 || ^5.0.0-next.0",
|
||||||
"vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0"
|
"vite": "^5.0.3 || ^6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sveltejs/vite-plugin-svelte": {
|
"node_modules/@sveltejs/vite-plugin-svelte": {
|
||||||
|
@ -847,16 +836,16 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/estree": {
|
"node_modules/@types/estree": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
|
||||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/acorn": {
|
"node_modules/acorn": {
|
||||||
"version": "8.15.0",
|
"version": "8.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
|
||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -887,9 +876,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/carbon-components-svelte": {
|
"node_modules/carbon-components-svelte": {
|
||||||
"version": "0.88.4",
|
"version": "0.88.1",
|
||||||
"resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.88.4.tgz",
|
"resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.88.1.tgz",
|
||||||
"integrity": "sha512-liUTU97iJbCy2iQCbtHIDWPUCtHPo+a6K9GBJt/3x9EU4DuCr6dKlQW/v9E0FktyrotMZshLEbuk0uB5ZDAVcw==",
|
"integrity": "sha512-R5bJ4I3eTB1BSOCP/HAH/iNsltiNcKvY8EwNkUluuZD+s2J+D6DVlDOQyaa96UtGW9tJareVUuZE/r6E+4DwQA==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -898,9 +887,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/carbon-pictograms-svelte": {
|
"node_modules/carbon-pictograms-svelte": {
|
||||||
"version": "13.8.0",
|
"version": "13.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/carbon-pictograms-svelte/-/carbon-pictograms-svelte-13.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/carbon-pictograms-svelte/-/carbon-pictograms-svelte-13.3.0.tgz",
|
||||||
"integrity": "sha512-ijDbxLCnGosV+2QfM65OzCSv+KYiC/c8Wda/qvrIBMw5LBU8j6fUyNWWmNLn1HdXTDXPefObzFqXuNyKKCd3VA==",
|
"integrity": "sha512-xeJOCeQ4YnX/yz0SIVehqpILGjxguiYOnyeg5nc9Xo5qTOWfvXXs8/HHOVJjOGEmURyEzaezrjjUeP0CHobnuw==",
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/carbon-preprocess-svelte": {
|
"node_modules/carbon-preprocess-svelte": {
|
||||||
|
@ -965,9 +954,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.4.1",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
|
||||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1073,6 +1062,17 @@
|
||||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/import-meta-resolve": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/wooorm"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/is-reference": {
|
"node_modules/is-reference": {
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
|
||||||
|
@ -1193,9 +1193,9 @@
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.5.6",
|
"version": "8.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
|
||||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1213,7 +1213,7 @@
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.11",
|
"nanoid": "^3.3.8",
|
||||||
"picocolors": "^1.1.1",
|
"picocolors": "^1.1.1",
|
||||||
"source-map-js": "^1.2.1"
|
"source-map-js": "^1.2.1"
|
||||||
},
|
},
|
||||||
|
@ -1222,26 +1222,26 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-empty": {
|
"node_modules/postcss-discard-empty": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz",
|
||||||
"integrity": "sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==",
|
"integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"postcss": "^8.4.32"
|
"postcss": "^8.4.31"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz",
|
||||||
"integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==",
|
"integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/estree": "1.0.8"
|
"@types/estree": "1.0.6"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"rollup": "dist/bin/rollup"
|
"rollup": "dist/bin/rollup"
|
||||||
|
@ -1251,26 +1251,25 @@
|
||||||
"npm": ">=8.0.0"
|
"npm": ">=8.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rollup/rollup-android-arm-eabi": "4.45.1",
|
"@rollup/rollup-android-arm-eabi": "4.36.0",
|
||||||
"@rollup/rollup-android-arm64": "4.45.1",
|
"@rollup/rollup-android-arm64": "4.36.0",
|
||||||
"@rollup/rollup-darwin-arm64": "4.45.1",
|
"@rollup/rollup-darwin-arm64": "4.36.0",
|
||||||
"@rollup/rollup-darwin-x64": "4.45.1",
|
"@rollup/rollup-darwin-x64": "4.36.0",
|
||||||
"@rollup/rollup-freebsd-arm64": "4.45.1",
|
"@rollup/rollup-freebsd-arm64": "4.36.0",
|
||||||
"@rollup/rollup-freebsd-x64": "4.45.1",
|
"@rollup/rollup-freebsd-x64": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm-gnueabihf": "4.45.1",
|
"@rollup/rollup-linux-arm-gnueabihf": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm-musleabihf": "4.45.1",
|
"@rollup/rollup-linux-arm-musleabihf": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm64-gnu": "4.45.1",
|
"@rollup/rollup-linux-arm64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm64-musl": "4.45.1",
|
"@rollup/rollup-linux-arm64-musl": "4.36.0",
|
||||||
"@rollup/rollup-linux-loongarch64-gnu": "4.45.1",
|
"@rollup/rollup-linux-loongarch64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-powerpc64le-gnu": "4.45.1",
|
"@rollup/rollup-linux-powerpc64le-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-riscv64-gnu": "4.45.1",
|
"@rollup/rollup-linux-riscv64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-riscv64-musl": "4.45.1",
|
"@rollup/rollup-linux-s390x-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-s390x-gnu": "4.45.1",
|
"@rollup/rollup-linux-x64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-x64-gnu": "4.45.1",
|
"@rollup/rollup-linux-x64-musl": "4.36.0",
|
||||||
"@rollup/rollup-linux-x64-musl": "4.45.1",
|
"@rollup/rollup-win32-arm64-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-arm64-msvc": "4.45.1",
|
"@rollup/rollup-win32-ia32-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-ia32-msvc": "4.45.1",
|
"@rollup/rollup-win32-x64-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-x64-msvc": "4.45.1",
|
|
||||||
"fsevents": "~2.3.2"
|
"fsevents": "~2.3.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1320,9 +1319,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svelte": {
|
"node_modules/svelte": {
|
||||||
"version": "4.2.20",
|
"version": "4.2.19",
|
||||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.20.tgz",
|
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
|
||||||
"integrity": "sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==",
|
"integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1379,9 +1378,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "5.4.20",
|
"version": "5.4.14",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.20.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz",
|
||||||
"integrity": "sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==",
|
"integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"carbon-components-svelte": "^0.88.4",
|
"carbon-components-svelte": "^0.88.1",
|
||||||
"carbon-pictograms-svelte": "^13.8.0"
|
"carbon-pictograms-svelte": "^13.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/kit": "^2.25.2",
|
"@sveltejs/kit": "^2.20.1",
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"svelte": "^4.2.20",
|
"svelte": "^4.2.19",
|
||||||
"vite": "^5.4.20"
|
"vite": "^5.4.14"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
267
examples/vite/package-lock.json
generated
267
examples/vite/package-lock.json
generated
|
@ -5,13 +5,13 @@
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"carbon-components-svelte": "^0.88.4"
|
"carbon-components-svelte": "^0.88.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"svelte": "^4.2.20",
|
"svelte": "^4.2.19",
|
||||||
"vite": "^5.4.19"
|
"vite": "^5.4.14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
|
@ -429,14 +429,18 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/gen-mapping": {
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
"version": "0.3.12",
|
"version": "0.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
||||||
"integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
|
"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/sourcemap-codec": "^1.5.0",
|
"@jridgewell/set-array": "^1.2.1",
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.4.10",
|
||||||
"@jridgewell/trace-mapping": "^0.3.24"
|
"@jridgewell/trace-mapping": "^0.3.24"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/resolve-uri": {
|
"node_modules/@jridgewell/resolve-uri": {
|
||||||
|
@ -449,17 +453,27 @@
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@jridgewell/set-array": {
|
||||||
|
"version": "1.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
|
||||||
|
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@jridgewell/sourcemap-codec": {
|
"node_modules/@jridgewell/sourcemap-codec": {
|
||||||
"version": "1.5.4",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
||||||
"integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
|
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/trace-mapping": {
|
"node_modules/@jridgewell/trace-mapping": {
|
||||||
"version": "0.3.29",
|
"version": "0.3.25",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
||||||
"integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
|
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -468,9 +482,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.36.0.tgz",
|
||||||
"integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==",
|
"integrity": "sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -482,9 +496,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm64": {
|
"node_modules/@rollup/rollup-android-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==",
|
"integrity": "sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -496,9 +510,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==",
|
"integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -510,9 +524,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-x64": {
|
"node_modules/@rollup/rollup-darwin-x64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.36.0.tgz",
|
||||||
"integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==",
|
"integrity": "sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -524,9 +538,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.36.0.tgz",
|
||||||
"integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==",
|
"integrity": "sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -538,9 +552,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.36.0.tgz",
|
||||||
"integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==",
|
"integrity": "sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -552,9 +566,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.36.0.tgz",
|
||||||
"integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==",
|
"integrity": "sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -566,9 +580,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.36.0.tgz",
|
||||||
"integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==",
|
"integrity": "sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -580,9 +594,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==",
|
"integrity": "sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -594,9 +608,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.36.0.tgz",
|
||||||
"integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==",
|
"integrity": "sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -608,9 +622,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==",
|
"integrity": "sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"loong64"
|
"loong64"
|
||||||
],
|
],
|
||||||
|
@ -622,9 +636,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==",
|
"integrity": "sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
|
@ -636,23 +650,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==",
|
"integrity": "sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==",
|
||||||
"cpu": [
|
|
||||||
"riscv64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
|
||||||
"version": "4.45.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz",
|
|
||||||
"integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==",
|
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
|
@ -664,9 +664,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==",
|
"integrity": "sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
|
@ -678,9 +678,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.36.0.tgz",
|
||||||
"integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==",
|
"integrity": "sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -692,9 +692,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.36.0.tgz",
|
||||||
"integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==",
|
"integrity": "sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -706,9 +706,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==",
|
"integrity": "sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -720,9 +720,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==",
|
"integrity": "sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
|
@ -734,9 +734,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.36.0.tgz",
|
||||||
"integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==",
|
"integrity": "sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -789,16 +789,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/estree": {
|
"node_modules/@types/estree": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
|
||||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/acorn": {
|
"node_modules/acorn": {
|
||||||
"version": "8.15.0",
|
"version": "8.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
|
||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -829,9 +829,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/carbon-components-svelte": {
|
"node_modules/carbon-components-svelte": {
|
||||||
"version": "0.88.4",
|
"version": "0.88.1",
|
||||||
"resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.88.4.tgz",
|
"resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.88.1.tgz",
|
||||||
"integrity": "sha512-liUTU97iJbCy2iQCbtHIDWPUCtHPo+a6K9GBJt/3x9EU4DuCr6dKlQW/v9E0FktyrotMZshLEbuk0uB5ZDAVcw==",
|
"integrity": "sha512-R5bJ4I3eTB1BSOCP/HAH/iNsltiNcKvY8EwNkUluuZD+s2J+D6DVlDOQyaa96UtGW9tJareVUuZE/r6E+4DwQA==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -891,9 +891,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.4.1",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
|
||||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1085,9 +1085,9 @@
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.5.6",
|
"version": "8.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
|
||||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1105,7 +1105,7 @@
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.11",
|
"nanoid": "^3.3.8",
|
||||||
"picocolors": "^1.1.1",
|
"picocolors": "^1.1.1",
|
||||||
"source-map-js": "^1.2.1"
|
"source-map-js": "^1.2.1"
|
||||||
},
|
},
|
||||||
|
@ -1114,26 +1114,26 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-empty": {
|
"node_modules/postcss-discard-empty": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz",
|
||||||
"integrity": "sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==",
|
"integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"postcss": "^8.4.32"
|
"postcss": "^8.4.31"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "4.45.1",
|
"version": "4.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz",
|
||||||
"integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==",
|
"integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/estree": "1.0.8"
|
"@types/estree": "1.0.6"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"rollup": "dist/bin/rollup"
|
"rollup": "dist/bin/rollup"
|
||||||
|
@ -1143,26 +1143,25 @@
|
||||||
"npm": ">=8.0.0"
|
"npm": ">=8.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rollup/rollup-android-arm-eabi": "4.45.1",
|
"@rollup/rollup-android-arm-eabi": "4.36.0",
|
||||||
"@rollup/rollup-android-arm64": "4.45.1",
|
"@rollup/rollup-android-arm64": "4.36.0",
|
||||||
"@rollup/rollup-darwin-arm64": "4.45.1",
|
"@rollup/rollup-darwin-arm64": "4.36.0",
|
||||||
"@rollup/rollup-darwin-x64": "4.45.1",
|
"@rollup/rollup-darwin-x64": "4.36.0",
|
||||||
"@rollup/rollup-freebsd-arm64": "4.45.1",
|
"@rollup/rollup-freebsd-arm64": "4.36.0",
|
||||||
"@rollup/rollup-freebsd-x64": "4.45.1",
|
"@rollup/rollup-freebsd-x64": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm-gnueabihf": "4.45.1",
|
"@rollup/rollup-linux-arm-gnueabihf": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm-musleabihf": "4.45.1",
|
"@rollup/rollup-linux-arm-musleabihf": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm64-gnu": "4.45.1",
|
"@rollup/rollup-linux-arm64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-arm64-musl": "4.45.1",
|
"@rollup/rollup-linux-arm64-musl": "4.36.0",
|
||||||
"@rollup/rollup-linux-loongarch64-gnu": "4.45.1",
|
"@rollup/rollup-linux-loongarch64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-powerpc64le-gnu": "4.45.1",
|
"@rollup/rollup-linux-powerpc64le-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-riscv64-gnu": "4.45.1",
|
"@rollup/rollup-linux-riscv64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-riscv64-musl": "4.45.1",
|
"@rollup/rollup-linux-s390x-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-s390x-gnu": "4.45.1",
|
"@rollup/rollup-linux-x64-gnu": "4.36.0",
|
||||||
"@rollup/rollup-linux-x64-gnu": "4.45.1",
|
"@rollup/rollup-linux-x64-musl": "4.36.0",
|
||||||
"@rollup/rollup-linux-x64-musl": "4.45.1",
|
"@rollup/rollup-win32-arm64-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-arm64-msvc": "4.45.1",
|
"@rollup/rollup-win32-ia32-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-ia32-msvc": "4.45.1",
|
"@rollup/rollup-win32-x64-msvc": "4.36.0",
|
||||||
"@rollup/rollup-win32-x64-msvc": "4.45.1",
|
|
||||||
"fsevents": "~2.3.2"
|
"fsevents": "~2.3.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1177,9 +1176,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svelte": {
|
"node_modules/svelte": {
|
||||||
"version": "4.2.20",
|
"version": "4.2.19",
|
||||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.20.tgz",
|
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
|
||||||
"integrity": "sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==",
|
"integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1226,9 +1225,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "5.4.19",
|
"version": "5.4.14",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz",
|
||||||
"integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==",
|
"integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -6,12 +6,12 @@
|
||||||
"build": "vite build"
|
"build": "vite build"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"carbon-components-svelte": "^0.88.4"
|
"carbon-components-svelte": "^0.88.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"svelte": "^4.2.20",
|
"svelte": "^4.2.19",
|
||||||
"vite": "^5.4.19"
|
"vite": "^5.4.14"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
375
examples/webpack/package-lock.json
generated
375
examples/webpack/package-lock.json
generated
|
@ -5,18 +5,18 @@
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"carbon-components-svelte": "^0.88.4"
|
"carbon-components-svelte": "^0.88.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"css-loader": "^7.1.2",
|
"css-loader": "^7.1.2",
|
||||||
"html-webpack-plugin": "^5.6.3",
|
"html-webpack-plugin": "^5.6.3",
|
||||||
"mini-css-extract-plugin": "^2.9.2",
|
"mini-css-extract-plugin": "^2.9.2",
|
||||||
"svelte": "^4.2.20",
|
"svelte": "^4.2.19",
|
||||||
"svelte-loader": "^3.2.4",
|
"svelte-loader": "^3.2.4",
|
||||||
"webpack": "^5.100.2",
|
"webpack": "^5.98.0",
|
||||||
"webpack-cli": "^5.1.4",
|
"webpack-cli": "^5.1.4",
|
||||||
"webpack-dev-server": "^5.2.2"
|
"webpack-dev-server": "^5.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
|
@ -53,14 +53,18 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/gen-mapping": {
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
"version": "0.3.12",
|
"version": "0.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
||||||
"integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
|
"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/sourcemap-codec": "^1.5.0",
|
"@jridgewell/set-array": "^1.2.1",
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.4.10",
|
||||||
"@jridgewell/trace-mapping": "^0.3.24"
|
"@jridgewell/trace-mapping": "^0.3.24"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/resolve-uri": {
|
"node_modules/@jridgewell/resolve-uri": {
|
||||||
|
@ -73,10 +77,20 @@
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@jridgewell/set-array": {
|
||||||
|
"version": "1.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
|
||||||
|
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@jridgewell/source-map": {
|
"node_modules/@jridgewell/source-map": {
|
||||||
"version": "0.3.10",
|
"version": "0.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.10.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
|
||||||
"integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==",
|
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -85,16 +99,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/sourcemap-codec": {
|
"node_modules/@jridgewell/sourcemap-codec": {
|
||||||
"version": "1.5.4",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
||||||
"integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
|
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/trace-mapping": {
|
"node_modules/@jridgewell/trace-mapping": {
|
||||||
"version": "0.3.29",
|
"version": "0.3.25",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
||||||
"integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
|
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -143,9 +157,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jsonjoy.com/util": {
|
"node_modules/@jsonjoy.com/util": {
|
||||||
"version": "1.6.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz",
|
||||||
"integrity": "sha512-sw/RMbehRhN68WRtcKCpQOPfnH6lLP4GJfqzi3iYej8tnzpZUDr6UkZYJjcjjC0FWEJOJbyM3PTIwxucUmDG2A==",
|
"integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -167,9 +181,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/body-parser": {
|
"node_modules/@types/body-parser": {
|
||||||
"version": "1.19.6",
|
"version": "1.19.5",
|
||||||
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
|
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
|
||||||
"integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
|
"integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -231,16 +245,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/estree": {
|
"node_modules/@types/estree": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
|
||||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/express": {
|
"node_modules/@types/express": {
|
||||||
"version": "4.17.23",
|
"version": "4.17.21",
|
||||||
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz",
|
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
|
||||||
"integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==",
|
"integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -251,6 +265,19 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/express-serve-static-core": {
|
"node_modules/@types/express-serve-static-core": {
|
||||||
|
"version": "5.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz",
|
||||||
|
"integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*",
|
||||||
|
"@types/qs": "*",
|
||||||
|
"@types/range-parser": "*",
|
||||||
|
"@types/send": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/express/node_modules/@types/express-serve-static-core": {
|
||||||
"version": "4.19.6",
|
"version": "4.19.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz",
|
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz",
|
||||||
"integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==",
|
"integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==",
|
||||||
|
@ -271,9 +298,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/http-errors": {
|
"node_modules/@types/http-errors": {
|
||||||
"version": "2.0.5",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
|
||||||
"integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
|
"integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
@ -302,19 +329,19 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "24.1.0",
|
"version": "22.13.10",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
|
||||||
"integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==",
|
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~7.8.0"
|
"undici-types": "~6.20.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node-forge": {
|
"node_modules/@types/node-forge": {
|
||||||
"version": "1.3.13",
|
"version": "1.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.13.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz",
|
||||||
"integrity": "sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==",
|
"integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -322,9 +349,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/qs": {
|
"node_modules/@types/qs": {
|
||||||
"version": "6.14.0",
|
"version": "6.9.18",
|
||||||
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz",
|
||||||
"integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
|
"integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
@ -343,9 +370,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/send": {
|
"node_modules/@types/send": {
|
||||||
"version": "0.17.5",
|
"version": "0.17.4",
|
||||||
"resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz",
|
"resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
|
||||||
"integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==",
|
"integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -364,9 +391,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/serve-static": {
|
"node_modules/@types/serve-static": {
|
||||||
"version": "1.15.8",
|
"version": "1.15.7",
|
||||||
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz",
|
||||||
"integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==",
|
"integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -386,9 +413,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/ws": {
|
"node_modules/@types/ws": {
|
||||||
"version": "8.18.1",
|
"version": "8.18.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.0.tgz",
|
||||||
"integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
|
"integrity": "sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -642,9 +669,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/acorn": {
|
"node_modules/acorn": {
|
||||||
"version": "8.15.0",
|
"version": "8.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
|
||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -654,19 +681,6 @@
|
||||||
"node": ">=0.4.0"
|
"node": ">=0.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/acorn-import-phases": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10.13.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"acorn": "^8.14.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/ajv": {
|
"node_modules/ajv": {
|
||||||
"version": "8.17.1",
|
"version": "8.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
|
||||||
|
@ -866,9 +880,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/browserslist": {
|
"node_modules/browserslist": {
|
||||||
"version": "4.25.1",
|
"version": "4.24.4",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
|
||||||
"integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==",
|
"integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -886,10 +900,10 @@
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"caniuse-lite": "^1.0.30001726",
|
"caniuse-lite": "^1.0.30001688",
|
||||||
"electron-to-chromium": "^1.5.173",
|
"electron-to-chromium": "^1.5.73",
|
||||||
"node-releases": "^2.0.19",
|
"node-releases": "^2.0.19",
|
||||||
"update-browserslist-db": "^1.1.3"
|
"update-browserslist-db": "^1.1.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"browserslist": "cli.js"
|
"browserslist": "cli.js"
|
||||||
|
@ -974,9 +988,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001727",
|
"version": "1.0.30001706",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz",
|
||||||
"integrity": "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==",
|
"integrity": "sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -995,9 +1009,9 @@
|
||||||
"license": "CC-BY-4.0"
|
"license": "CC-BY-4.0"
|
||||||
},
|
},
|
||||||
"node_modules/carbon-components-svelte": {
|
"node_modules/carbon-components-svelte": {
|
||||||
"version": "0.88.4",
|
"version": "0.88.1",
|
||||||
"resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.88.4.tgz",
|
"resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.88.1.tgz",
|
||||||
"integrity": "sha512-liUTU97iJbCy2iQCbtHIDWPUCtHPo+a6K9GBJt/3x9EU4DuCr6dKlQW/v9E0FktyrotMZshLEbuk0uB5ZDAVcw==",
|
"integrity": "sha512-R5bJ4I3eTB1BSOCP/HAH/iNsltiNcKvY8EwNkUluuZD+s2J+D6DVlDOQyaa96UtGW9tJareVUuZE/r6E+4DwQA==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1136,9 +1150,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/compression": {
|
"node_modules/compression": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz",
|
||||||
"integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
|
"integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1146,7 +1160,7 @@
|
||||||
"compressible": "~2.0.18",
|
"compressible": "~2.0.18",
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
"negotiator": "~0.6.4",
|
"negotiator": "~0.6.4",
|
||||||
"on-headers": "~1.1.0",
|
"on-headers": "~1.0.2",
|
||||||
"safe-buffer": "5.2.1",
|
"safe-buffer": "5.2.1",
|
||||||
"vary": "~1.1.2"
|
"vary": "~1.1.2"
|
||||||
},
|
},
|
||||||
|
@ -1294,9 +1308,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/css-what": {
|
"node_modules/css-what": {
|
||||||
"version": "6.2.2",
|
"version": "6.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
|
||||||
"integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
|
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -1516,9 +1530,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.5.190",
|
"version": "1.5.120",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.190.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.120.tgz",
|
||||||
"integrity": "sha512-k4McmnB2091YIsdCgkS0fMVMPOJgxl93ltFzaryXqwip1AaxeDqKCGLxkXODDA5Ab/D+tV5EL5+aTx76RvLRxw==",
|
"integrity": "sha512-oTUp3gfX1gZI+xfD2djr2rzQdHCwHzPQrrK0CD7WpTdF0nPdQ/INcRVjWgLdCT4a9W3jFObR9DAfsuyFQnI8CQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
@ -1543,9 +1557,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/enhanced-resolve": {
|
"node_modules/enhanced-resolve": {
|
||||||
"version": "5.18.2",
|
"version": "5.18.1",
|
||||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz",
|
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
|
||||||
"integrity": "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==",
|
"integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1600,9 +1614,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-module-lexer": {
|
"node_modules/es-module-lexer": {
|
||||||
"version": "1.7.0",
|
"version": "1.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz",
|
||||||
"integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
|
"integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
@ -2217,9 +2231,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/http-parser-js": {
|
"node_modules/http-parser-js": {
|
||||||
"version": "0.5.10",
|
"version": "0.5.9",
|
||||||
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz",
|
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz",
|
||||||
"integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==",
|
"integrity": "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
@ -2239,9 +2253,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/http-proxy-middleware": {
|
"node_modules/http-proxy-middleware": {
|
||||||
"version": "2.0.9",
|
"version": "2.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz",
|
||||||
"integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==",
|
"integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -2695,9 +2709,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/memfs": {
|
"node_modules/memfs": {
|
||||||
"version": "4.17.2",
|
"version": "4.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.2.tgz",
|
"resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz",
|
||||||
"integrity": "sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==",
|
"integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -2961,9 +2975,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/on-headers": {
|
"node_modules/on-headers": {
|
||||||
"version": "1.1.0",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
|
||||||
"integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
|
"integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -2971,16 +2985,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/open": {
|
"node_modules/open": {
|
||||||
"version": "10.2.0",
|
"version": "10.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz",
|
||||||
"integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
|
"integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"default-browser": "^5.2.1",
|
"default-browser": "^5.2.1",
|
||||||
"define-lazy-prop": "^3.0.0",
|
"define-lazy-prop": "^3.0.0",
|
||||||
"is-inside-container": "^1.0.0",
|
"is-inside-container": "^1.0.0",
|
||||||
"wsl-utils": "^0.1.0"
|
"is-wsl": "^3.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
|
@ -3168,9 +3182,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.5.6",
|
"version": "8.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
|
||||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3188,7 +3202,7 @@
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.11",
|
"nanoid": "^3.3.8",
|
||||||
"picocolors": "^1.1.1",
|
"picocolors": "^1.1.1",
|
||||||
"source-map-js": "^1.2.1"
|
"source-map-js": "^1.2.1"
|
||||||
},
|
},
|
||||||
|
@ -3197,16 +3211,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-empty": {
|
"node_modules/postcss-discard-empty": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz",
|
||||||
"integrity": "sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==",
|
"integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"postcss": "^8.4.32"
|
"postcss": "^8.4.31"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-modules-extract-imports": {
|
"node_modules/postcss-modules-extract-imports": {
|
||||||
|
@ -3565,9 +3579,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/schema-utils": {
|
"node_modules/schema-utils": {
|
||||||
"version": "4.3.2",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz",
|
||||||
"integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
|
"integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -3606,9 +3620,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "7.7.2",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
|
||||||
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
|
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -3799,9 +3813,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/shell-quote": {
|
"node_modules/shell-quote": {
|
||||||
"version": "1.8.3",
|
"version": "1.8.2",
|
||||||
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
|
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz",
|
||||||
"integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
|
"integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -3963,9 +3977,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/spdy-transport/node_modules/debug": {
|
"node_modules/spdy-transport/node_modules/debug": {
|
||||||
"version": "4.4.1",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
|
||||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -3988,9 +4002,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/spdy/node_modules/debug": {
|
"node_modules/spdy/node_modules/debug": {
|
||||||
"version": "4.4.1",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
|
||||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -4075,9 +4089,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svelte": {
|
"node_modules/svelte": {
|
||||||
"version": "4.2.20",
|
"version": "4.2.19",
|
||||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.20.tgz",
|
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
|
||||||
"integrity": "sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==",
|
"integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -4146,9 +4160,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tapable": {
|
"node_modules/tapable": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
|
||||||
"integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==",
|
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -4156,14 +4170,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/terser": {
|
"node_modules/terser": {
|
||||||
"version": "5.43.1",
|
"version": "5.39.0",
|
||||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
|
"resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz",
|
||||||
"integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
|
"integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/source-map": "^0.3.3",
|
"@jridgewell/source-map": "^0.3.3",
|
||||||
"acorn": "^8.14.0",
|
"acorn": "^8.8.2",
|
||||||
"commander": "^2.20.0",
|
"commander": "^2.20.0",
|
||||||
"source-map-support": "~0.5.20"
|
"source-map-support": "~0.5.20"
|
||||||
},
|
},
|
||||||
|
@ -4260,9 +4274,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tree-dump": {
|
"node_modules/tree-dump": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz",
|
||||||
"integrity": "sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==",
|
"integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -4298,9 +4312,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici-types": {
|
"node_modules/undici-types": {
|
||||||
"version": "7.8.0",
|
"version": "6.20.0",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
|
||||||
"integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
|
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
@ -4390,9 +4404,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/watchpack": {
|
"node_modules/watchpack": {
|
||||||
"version": "2.4.4",
|
"version": "2.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
|
||||||
"integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==",
|
"integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -4414,23 +4428,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webpack": {
|
"node_modules/webpack": {
|
||||||
"version": "5.100.2",
|
"version": "5.98.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.100.2.tgz",
|
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz",
|
||||||
"integrity": "sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==",
|
"integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/eslint-scope": "^3.7.7",
|
"@types/eslint-scope": "^3.7.7",
|
||||||
"@types/estree": "^1.0.8",
|
"@types/estree": "^1.0.6",
|
||||||
"@types/json-schema": "^7.0.15",
|
|
||||||
"@webassemblyjs/ast": "^1.14.1",
|
"@webassemblyjs/ast": "^1.14.1",
|
||||||
"@webassemblyjs/wasm-edit": "^1.14.1",
|
"@webassemblyjs/wasm-edit": "^1.14.1",
|
||||||
"@webassemblyjs/wasm-parser": "^1.14.1",
|
"@webassemblyjs/wasm-parser": "^1.14.1",
|
||||||
"acorn": "^8.15.0",
|
"acorn": "^8.14.0",
|
||||||
"acorn-import-phases": "^1.0.3",
|
|
||||||
"browserslist": "^4.24.0",
|
"browserslist": "^4.24.0",
|
||||||
"chrome-trace-event": "^1.0.2",
|
"chrome-trace-event": "^1.0.2",
|
||||||
"enhanced-resolve": "^5.17.2",
|
"enhanced-resolve": "^5.17.1",
|
||||||
"es-module-lexer": "^1.2.1",
|
"es-module-lexer": "^1.2.1",
|
||||||
"eslint-scope": "5.1.1",
|
"eslint-scope": "5.1.1",
|
||||||
"events": "^3.2.0",
|
"events": "^3.2.0",
|
||||||
|
@ -4440,11 +4452,11 @@
|
||||||
"loader-runner": "^4.2.0",
|
"loader-runner": "^4.2.0",
|
||||||
"mime-types": "^2.1.27",
|
"mime-types": "^2.1.27",
|
||||||
"neo-async": "^2.6.2",
|
"neo-async": "^2.6.2",
|
||||||
"schema-utils": "^4.3.2",
|
"schema-utils": "^4.3.0",
|
||||||
"tapable": "^2.1.1",
|
"tapable": "^2.1.1",
|
||||||
"terser-webpack-plugin": "^5.3.11",
|
"terser-webpack-plugin": "^5.3.11",
|
||||||
"watchpack": "^2.4.1",
|
"watchpack": "^2.4.1",
|
||||||
"webpack-sources": "^3.3.3"
|
"webpack-sources": "^3.2.3"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"webpack": "bin/webpack.js"
|
"webpack": "bin/webpack.js"
|
||||||
|
@ -4549,16 +4561,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webpack-dev-server": {
|
"node_modules/webpack-dev-server": {
|
||||||
"version": "5.2.2",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz",
|
||||||
"integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==",
|
"integrity": "sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/bonjour": "^3.5.13",
|
"@types/bonjour": "^3.5.13",
|
||||||
"@types/connect-history-api-fallback": "^1.5.4",
|
"@types/connect-history-api-fallback": "^1.5.4",
|
||||||
"@types/express": "^4.17.21",
|
"@types/express": "^4.17.21",
|
||||||
"@types/express-serve-static-core": "^4.17.21",
|
|
||||||
"@types/serve-index": "^1.9.4",
|
"@types/serve-index": "^1.9.4",
|
||||||
"@types/serve-static": "^1.15.5",
|
"@types/serve-static": "^1.15.5",
|
||||||
"@types/sockjs": "^0.3.36",
|
"@types/sockjs": "^0.3.36",
|
||||||
|
@ -4571,7 +4582,7 @@
|
||||||
"connect-history-api-fallback": "^2.0.0",
|
"connect-history-api-fallback": "^2.0.0",
|
||||||
"express": "^4.21.2",
|
"express": "^4.21.2",
|
||||||
"graceful-fs": "^4.2.6",
|
"graceful-fs": "^4.2.6",
|
||||||
"http-proxy-middleware": "^2.0.9",
|
"http-proxy-middleware": "^2.0.7",
|
||||||
"ipaddr.js": "^2.1.0",
|
"ipaddr.js": "^2.1.0",
|
||||||
"launch-editor": "^2.6.1",
|
"launch-editor": "^2.6.1",
|
||||||
"open": "^10.0.3",
|
"open": "^10.0.3",
|
||||||
|
@ -4622,9 +4633,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webpack-sources": {
|
"node_modules/webpack-sources": {
|
||||||
"version": "3.3.3",
|
"version": "3.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
|
||||||
"integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
|
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -4680,9 +4691,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.18.3",
|
"version": "8.18.1",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz",
|
||||||
"integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
|
"integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -4700,22 +4711,6 @@
|
||||||
"optional": true
|
"optional": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"node_modules/wsl-utils": {
|
|
||||||
"version": "0.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
|
|
||||||
"integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"is-wsl": "^3.1.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,17 +5,17 @@
|
||||||
"build": "NODE_ENV=production webpack"
|
"build": "NODE_ENV=production webpack"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"carbon-components-svelte": "^0.88.4"
|
"carbon-components-svelte": "^0.88.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"css-loader": "^7.1.2",
|
"css-loader": "^7.1.2",
|
||||||
"html-webpack-plugin": "^5.6.3",
|
"html-webpack-plugin": "^5.6.3",
|
||||||
"mini-css-extract-plugin": "^2.9.2",
|
"mini-css-extract-plugin": "^2.9.2",
|
||||||
"svelte": "^4.2.20",
|
"svelte": "^4.2.19",
|
||||||
"svelte-loader": "^3.2.4",
|
"svelte-loader": "^3.2.4",
|
||||||
"webpack": "^5.100.2",
|
"webpack": "^5.98.0",
|
||||||
"webpack-cli": "^5.1.4",
|
"webpack-cli": "^5.1.4",
|
||||||
"webpack-dev-server": "^5.2.2"
|
"webpack-dev-server": "^5.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2153
package-lock.json
generated
2153
package-lock.json
generated
File diff suppressed because it is too large
Load diff
24
package.json
24
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "carbon-components-svelte",
|
"name": "carbon-components-svelte",
|
||||||
"version": "0.89.7",
|
"version": "0.88.2",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"description": "Svelte implementation of the Carbon Design System",
|
"description": "Svelte implementation of the Carbon Design System",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
@ -47,25 +47,25 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
||||||
"@testing-library/jest-dom": "^6.6.3",
|
"@testing-library/jest-dom": "^6.6.3",
|
||||||
"@testing-library/svelte": "^5.2.8",
|
"@testing-library/svelte": "^5.2.7",
|
||||||
"@testing-library/user-event": "^14.6.1",
|
"@testing-library/user-event": "^14.6.1",
|
||||||
"autoprefixer": "^10.4.21",
|
"autoprefixer": "^10.4.8",
|
||||||
"carbon-components": "10.58.12",
|
"carbon-components": "10.58.12",
|
||||||
"carbon-icons-svelte": "^13.4.0",
|
"carbon-icons-svelte": "^13.3.0",
|
||||||
"carbon-preprocess-svelte": "^0.11.11",
|
"carbon-preprocess-svelte": "^0.11.11",
|
||||||
"culls": "^0.1.1",
|
"culls": "^0.1.1",
|
||||||
"jsdom": "^26.1.0",
|
"jsdom": "^26.0.0",
|
||||||
"postcss": "^8.5.5",
|
"postcss": "^8.5.3",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"prettier-plugin-svelte": "^3.4.0",
|
"prettier-plugin-svelte": "^3.3.3",
|
||||||
"sass": "^1.49.11",
|
"sass": "^1.49.11",
|
||||||
"standard-version": "^9.5.0",
|
"standard-version": "^9.5.0",
|
||||||
"sveld": "^0.22.1",
|
"sveld": "^0.22.1",
|
||||||
"svelte": "^4.2.20",
|
"svelte": "^4.2.19",
|
||||||
"svelte-check": "^4.2.1",
|
"svelte-check": "^4.1.5",
|
||||||
"tinyglobby": "^0.2.14",
|
"tinyglobby": "^0.2.12",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.2",
|
||||||
"vitest": "^3.2.3"
|
"vitest": "^3.0.8"
|
||||||
},
|
},
|
||||||
"standard-version": {
|
"standard-version": {
|
||||||
"skip": {
|
"skip": {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import fs from "node:fs";
|
import fs from "node:fs";
|
||||||
import { globSync } from "tinyglobby";
|
import { globSync } from "tinyglobby";
|
||||||
import { sveld } from "sveld";
|
import { sveld } from "sveld";
|
||||||
import pkg from "../package.json" with { type: "json" };
|
import pkg from "../package.json" assert { type: "json" };
|
||||||
|
|
||||||
sveld({
|
sveld({
|
||||||
glob: true,
|
glob: true,
|
||||||
|
@ -22,7 +22,7 @@ sveld({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
for (const file of globSync(["./src/**/*.d.ts"])) {
|
globSync(["./src/**/*.d.ts"]).forEach((file) => {
|
||||||
console.log("Copying", file, " to types/");
|
console.log("Copying", file, " to types/");
|
||||||
fs.copyFileSync(file, file.replace(/src/, "types"));
|
fs.copyFileSync(file, file.replace(/src/, "types"));
|
||||||
}
|
});
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// @ts-check
|
// @ts-check
|
||||||
import fs from "node:fs";
|
import fs from "node:fs";
|
||||||
import componentApi from "../docs/src/COMPONENT_API.json" with { type: "json" };
|
import componentApi from "../docs/src/COMPONENT_API.json" assert { type: "json" };
|
||||||
import { format } from "prettier";
|
import { format } from "prettier";
|
||||||
import plugin from "prettier/plugins/typescript";
|
import plugin from "prettier/plugins/typescript";
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ const formatTypeScript = async (value) => {
|
||||||
|
|
||||||
console.time("formatComponentApi");
|
console.time("formatComponentApi");
|
||||||
|
|
||||||
const modified = { ...componentApi };
|
let modified = { ...componentApi };
|
||||||
|
|
||||||
modified.components = await Promise.all(
|
modified.components = await Promise.all(
|
||||||
componentApi.components.map(async (component) => {
|
componentApi.components.map(async (component) => {
|
||||||
|
@ -26,7 +26,7 @@ modified.components = await Promise.all(
|
||||||
}
|
}
|
||||||
|
|
||||||
let normalizedValue = prop.value;
|
let normalizedValue = prop.value;
|
||||||
const prefix = `const ${prop.name} = `;
|
let prefix = `const ${prop.name} = `;
|
||||||
|
|
||||||
if (prop.isFunction || prop.value.startsWith("{")) {
|
if (prop.isFunction || prop.value.startsWith("{")) {
|
||||||
normalizedValue = prefix + prop.value;
|
normalizedValue = prefix + prop.value;
|
||||||
|
@ -64,7 +64,7 @@ modified.components = await Promise.all(
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
const normalizedValue = `type EventDetail = ${event.detail}`;
|
let normalizedValue = `type EventDetail = ` + event.detail;
|
||||||
|
|
||||||
const formatted = (await formatTypeScript(normalizedValue))
|
const formatted = (await formatTypeScript(normalizedValue))
|
||||||
// Remove prefix needed for formatting.
|
// Remove prefix needed for formatting.
|
||||||
|
@ -88,7 +88,7 @@ modified.components = await Promise.all(
|
||||||
let normalizedValue = slot.slot_props;
|
let normalizedValue = slot.slot_props;
|
||||||
|
|
||||||
if (normalizedValue.startsWith("{")) {
|
if (normalizedValue.startsWith("{")) {
|
||||||
normalizedValue = `type SlotProps = ${normalizedValue}`;
|
normalizedValue = `type SlotProps = ` + normalizedValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const formatted = (await formatTypeScript(normalizedValue))
|
const formatted = (await formatTypeScript(normalizedValue))
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
$: useGroup = Array.isArray(group);
|
$: useGroup = Array.isArray(group);
|
||||||
$: if (useGroup) checked = group.includes(value);
|
$: checked = useGroup ? group.includes(value) : checked;
|
||||||
$: dispatch("check", checked);
|
$: dispatch("check", checked);
|
||||||
|
|
||||||
let refLabel = null;
|
let refLabel = null;
|
||||||
|
|
|
@ -46,9 +46,6 @@
|
||||||
/** Specify the title text of the combobox */
|
/** Specify the title text of the combobox */
|
||||||
export let titleText = "";
|
export let titleText = "";
|
||||||
|
|
||||||
/** Set to `true` to visually hide the label text */
|
|
||||||
export let hideLabel = false;
|
|
||||||
|
|
||||||
/** Specify the placeholder text */
|
/** Specify the placeholder text */
|
||||||
export let placeholder = "";
|
export let placeholder = "";
|
||||||
|
|
||||||
|
@ -116,6 +113,7 @@
|
||||||
import WarningFilled from "../icons/WarningFilled.svelte";
|
import WarningFilled from "../icons/WarningFilled.svelte";
|
||||||
import WarningAltFilled from "../icons/WarningAltFilled.svelte";
|
import WarningAltFilled from "../icons/WarningAltFilled.svelte";
|
||||||
import ListBox from "../ListBox/ListBox.svelte";
|
import ListBox from "../ListBox/ListBox.svelte";
|
||||||
|
import ListBoxField from "../ListBox/ListBoxField.svelte";
|
||||||
import ListBoxMenu from "../ListBox/ListBoxMenu.svelte";
|
import ListBoxMenu from "../ListBox/ListBoxMenu.svelte";
|
||||||
import ListBoxMenuIcon from "../ListBox/ListBoxMenuIcon.svelte";
|
import ListBoxMenuIcon from "../ListBox/ListBoxMenuIcon.svelte";
|
||||||
import ListBoxMenuItem from "../ListBox/ListBoxMenuItem.svelte";
|
import ListBoxMenuItem from "../ListBox/ListBoxMenuItem.svelte";
|
||||||
|
@ -228,12 +226,7 @@
|
||||||
|
|
||||||
<div class:bx--list-box__wrapper={true}>
|
<div class:bx--list-box__wrapper={true}>
|
||||||
{#if titleText || $$slots.titleText}
|
{#if titleText || $$slots.titleText}
|
||||||
<label
|
<label for={id} class:bx--label={true} class:bx--label--disabled={disabled}>
|
||||||
for={id}
|
|
||||||
class:bx--label={true}
|
|
||||||
class:bx--label--disabled={disabled}
|
|
||||||
class:bx--visually-hidden={hideLabel}
|
|
||||||
>
|
|
||||||
<slot name="titleText">
|
<slot name="titleText">
|
||||||
{titleText}
|
{titleText}
|
||||||
</slot>
|
</slot>
|
||||||
|
@ -253,12 +246,22 @@
|
||||||
{warn}
|
{warn}
|
||||||
{warnText}
|
{warnText}
|
||||||
>
|
>
|
||||||
<div class:bx--list-box__field={true}>
|
<ListBoxField
|
||||||
|
role="button"
|
||||||
|
aria-expanded={open}
|
||||||
|
on:click={async () => {
|
||||||
|
if (disabled) return;
|
||||||
|
open = true;
|
||||||
|
await tick();
|
||||||
|
ref.focus();
|
||||||
|
}}
|
||||||
|
{id}
|
||||||
|
{disabled}
|
||||||
|
{translateWithId}
|
||||||
|
>
|
||||||
<input
|
<input
|
||||||
bind:this={ref}
|
bind:this={ref}
|
||||||
bind:value
|
bind:value
|
||||||
type="text"
|
|
||||||
role="combobox"
|
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
aria-autocomplete="list"
|
aria-autocomplete="list"
|
||||||
|
@ -276,10 +279,6 @@
|
||||||
class:bx--text-input={true}
|
class:bx--text-input={true}
|
||||||
class:bx--text-input--light={light}
|
class:bx--text-input--light={light}
|
||||||
class:bx--text-input--empty={value === ""}
|
class:bx--text-input--empty={value === ""}
|
||||||
on:click={() => {
|
|
||||||
if (disabled) return;
|
|
||||||
open = true;
|
|
||||||
}}
|
|
||||||
on:input={({ target }) => {
|
on:input={({ target }) => {
|
||||||
if (!open && target.value.length > 0) {
|
if (!open && target.value.length > 0) {
|
||||||
open = true;
|
open = true;
|
||||||
|
@ -332,7 +331,7 @@
|
||||||
} else if (key === "ArrowUp") {
|
} else if (key === "ArrowUp") {
|
||||||
change(-1);
|
change(-1);
|
||||||
} else if (key === "Escape") {
|
} else if (key === "Escape") {
|
||||||
clear();
|
open = false;
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
on:keyup
|
on:keyup
|
||||||
|
@ -377,7 +376,7 @@
|
||||||
{translateWithId}
|
{translateWithId}
|
||||||
{open}
|
{open}
|
||||||
/>
|
/>
|
||||||
</div>
|
</ListBoxField>
|
||||||
{#if open}
|
{#if open}
|
||||||
<ListBoxMenu aria-label={ariaLabel} {id} on:scroll bind:ref={listRef}>
|
<ListBoxMenu aria-label={ariaLabel} {id} on:scroll bind:ref={listRef}>
|
||||||
{#each filteredItems as item, i (item.id)}
|
{#each filteredItems as item, i (item.id)}
|
||||||
|
|
|
@ -152,7 +152,6 @@
|
||||||
>
|
>
|
||||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||||
<!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
|
<!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
|
||||||
<!-- svelte-ignore a11y_interactive_supports_focus -->
|
|
||||||
<div
|
<div
|
||||||
bind:this={innerModal}
|
bind:this={innerModal}
|
||||||
role="dialog"
|
role="dialog"
|
||||||
|
|
|
@ -263,13 +263,12 @@
|
||||||
expanded = expandedRowIds.length === expandableRowIds.length;
|
expanded = expandedRowIds.length === expandableRowIds.length;
|
||||||
}
|
}
|
||||||
$: if (radio || batchSelection) selectable = true;
|
$: if (radio || batchSelection) selectable = true;
|
||||||
|
$: headerKeys = headers.map(({ key }) => key);
|
||||||
$: tableCellsByRowId = rows.reduce((rows, row) => {
|
$: tableCellsByRowId = rows.reduce((rows, row) => {
|
||||||
rows[row.id] = headers.map((header, index) => ({
|
rows[row.id] = headerKeys.map((key, index) => ({
|
||||||
key: header.key || `key-${index}`,
|
key,
|
||||||
value: header.key ? resolvePath(row, header.key) : undefined,
|
value: resolvePath(row, key),
|
||||||
display: header.display,
|
display: headers[index].display,
|
||||||
empty: header.empty,
|
|
||||||
columnMenu: header.columnMenu,
|
|
||||||
}));
|
}));
|
||||||
return rows;
|
return rows;
|
||||||
}, {});
|
}, {});
|
||||||
|
@ -558,8 +557,8 @@
|
||||||
</td>
|
</td>
|
||||||
{/if}
|
{/if}
|
||||||
{#each tableCellsByRowId[row.id] as cell, j (cell.key)}
|
{#each tableCellsByRowId[row.id] as cell, j (cell.key)}
|
||||||
{#if cell.empty}
|
{#if headers[j].empty}
|
||||||
<td class:bx--table-column-menu={cell.columnMenu}>
|
<td class:bx--table-column-menu={headers[j].columnMenu}>
|
||||||
<slot name="cell" {row} {cell} rowIndex={i} cellIndex={j}>
|
<slot name="cell" {row} {cell} rowIndex={i} cellIndex={j}>
|
||||||
{cell.display ? cell.display(cell.value, row) : cell.value}
|
{cell.display ? cell.display(cell.value, row) : cell.value}
|
||||||
</slot>
|
</slot>
|
||||||
|
|
|
@ -46,38 +46,14 @@
|
||||||
*/
|
*/
|
||||||
export let ref = null;
|
export let ref = null;
|
||||||
|
|
||||||
import { tick, getContext, afterUpdate, onMount } from "svelte";
|
import { tick, getContext } from "svelte";
|
||||||
import Search from "../Search/Search.svelte";
|
import Search from "../Search/Search.svelte";
|
||||||
|
|
||||||
const ctx = getContext("DataTable") ?? {};
|
const ctx = getContext("DataTable") ?? {};
|
||||||
|
|
||||||
let rows = null;
|
|
||||||
let unsubscribe = null;
|
|
||||||
|
|
||||||
$: if (shouldFilterRows) {
|
$: if (shouldFilterRows) {
|
||||||
unsubscribe = ctx?.tableRows.subscribe((tableRows) => {
|
|
||||||
// Only update if the rows have actually changed.
|
|
||||||
// This approach works in both Svelte 4 and Svelte 5.
|
|
||||||
if (JSON.stringify(tableRows) !== JSON.stringify(rows)) {
|
|
||||||
rows = tableRows;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
rows = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
onMount(() => {
|
|
||||||
return () => {
|
|
||||||
unsubscribe?.();
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
afterUpdate(() => {
|
|
||||||
// Only filter rows in a callback to avoid an infinite update loop.
|
|
||||||
if (rows !== null) {
|
|
||||||
filteredRowIds = ctx?.filterRows(value, shouldFilterRows);
|
filteredRowIds = ctx?.filterRows(value, shouldFilterRows);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
async function expandSearch() {
|
async function expandSearch() {
|
||||||
await tick();
|
await tick();
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
class:bx--list-box__menu-item--highlighted={highlighted || active}
|
class:bx--list-box__menu-item--highlighted={highlighted || active}
|
||||||
aria-selected={active}
|
aria-selected={active}
|
||||||
aria-disabled={disabled ? true : undefined}
|
aria-disabled={disabled ? true : undefined}
|
||||||
disabled={disabled ? true : undefined}
|
|
||||||
{...$$restProps}
|
{...$$restProps}
|
||||||
on:click
|
on:click
|
||||||
on:mouseenter
|
on:mouseenter
|
||||||
|
|
|
@ -44,12 +44,11 @@
|
||||||
$: if (ctx && ref) {
|
$: if (ctx && ref) {
|
||||||
ctx.declareRef({ key: "selection", ref });
|
ctx.declareRef({ key: "selection", ref });
|
||||||
}
|
}
|
||||||
$: translationId =
|
|
||||||
selectionCount === undefined
|
$: translationId = selectionCount
|
||||||
? translationIds.clearSelection
|
? translationIds.clearAll
|
||||||
: translationIds.clearAll;
|
: translationIds.clearSelection;
|
||||||
$: buttonLabel =
|
|
||||||
translateWithId?.(translationId) ?? defaultTranslations[translationId];
|
|
||||||
$: description =
|
$: description =
|
||||||
translateWithId?.(translationId) ?? defaultTranslations[translationId];
|
translateWithId?.(translationId) ?? defaultTranslations[translationId];
|
||||||
</script>
|
</script>
|
||||||
|
@ -75,12 +74,12 @@
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
on:keydown|stopPropagation={(e) => {
|
on:keydown|stopPropagation={(e) => {
|
||||||
if (!disabled && (e.key === "Enter" || e.key === " ")) {
|
if (!disabled && e.key === "Enter") {
|
||||||
dispatch("clear", e);
|
dispatch("clear", e);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
{disabled}
|
{disabled}
|
||||||
aria-label={buttonLabel}
|
aria-label={translationIds.clearAll}
|
||||||
title={description}
|
title={description}
|
||||||
>
|
>
|
||||||
<Close />
|
<Close />
|
||||||
|
@ -103,7 +102,7 @@
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
on:keydown|stopPropagation={(e) => {
|
on:keydown|stopPropagation={(e) => {
|
||||||
if (!disabled && (e.key === "Enter" || e.key === " ")) {
|
if (!disabled && e.key === "Enter") {
|
||||||
dispatch("clear", e);
|
dispatch("clear", e);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -459,7 +459,6 @@
|
||||||
if (!open) open = true;
|
if (!open) open = true;
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
on:input
|
|
||||||
on:keyup
|
on:keyup
|
||||||
on:focus
|
on:focus
|
||||||
on:blur
|
on:blur
|
||||||
|
|
|
@ -167,12 +167,17 @@
|
||||||
$: if ($items[$currentIndex]) {
|
$: if ($items[$currentIndex]) {
|
||||||
focusedId.set($items[$currentIndex].id);
|
focusedId.set($items[$currentIndex].id);
|
||||||
}
|
}
|
||||||
// Use CSS custom properties instead of dynamic style injection for better
|
$: styles = `<style>
|
||||||
// performance. The previous approach created individual `style` tags per
|
#${id} .bx--overflow-menu-options.bx--overflow-menu-options:after {
|
||||||
// instance, causing overhead when many OverflowMenu components are rendered.
|
width: ${buttonWidth ? buttonWidth + "px" : "2rem"};
|
||||||
$: overflowMenuOptionsAfterWidth = buttonWidth ? buttonWidth + "px" : "2rem";
|
}
|
||||||
|
<\/style>`;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<svelte:head>
|
||||||
|
{@html styles}
|
||||||
|
</svelte:head>
|
||||||
|
|
||||||
<svelte:window
|
<svelte:window
|
||||||
on:click={({ target }) => {
|
on:click={({ target }) => {
|
||||||
if (buttonRef && buttonRef.contains(target)) return;
|
if (buttonRef && buttonRef.contains(target)) return;
|
||||||
|
@ -247,15 +252,8 @@
|
||||||
class:bx--overflow-menu-options--xl={size === "xl"}
|
class:bx--overflow-menu-options--xl={size === "xl"}
|
||||||
class:bx--breadcrumb-menu-options={!!ctxBreadcrumbItem}
|
class:bx--breadcrumb-menu-options={!!ctxBreadcrumbItem}
|
||||||
class={menuOptionsClass}
|
class={menuOptionsClass}
|
||||||
style="--overflow-menu-options-after-width: {overflowMenuOptionsAfterWidth}"
|
|
||||||
>
|
>
|
||||||
<slot />
|
<slot />
|
||||||
</ul>
|
</ul>
|
||||||
{/if}
|
{/if}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<style>
|
|
||||||
.bx--overflow-menu-options:after {
|
|
||||||
width: var(--overflow-menu-options-after-width, 2rem);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue