mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
Merge pull request #95 from metonym/refactor
refactor(components): make bound prop names consistent
This commit is contained in:
commit
42acce50d9
109 changed files with 494 additions and 534 deletions
|
@ -57,7 +57,7 @@ This project uses Storybook for UI development and "live" documentation.
|
||||||
Run the following command to start the Storybook:
|
Run the following command to start the Storybook:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn start -p 9090
|
yarn start
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Component Format
|
#### Component Format
|
||||||
|
|
|
@ -96,7 +96,6 @@ Currently, the following components are supported:
|
||||||
- StructuredListCell
|
- StructuredListCell
|
||||||
- StructuredListRow
|
- StructuredListRow
|
||||||
- StructuredListInput
|
- StructuredListInput
|
||||||
- StructuredListWrapper
|
|
||||||
- Tabs
|
- Tabs
|
||||||
- Tab
|
- Tab
|
||||||
- TabContent
|
- TabContent
|
||||||
|
@ -112,8 +111,6 @@ Currently, the following components are supported:
|
||||||
- ClickableTile
|
- ClickableTile
|
||||||
- SelectableTile
|
- SelectableTile
|
||||||
- ExpandableTile
|
- ExpandableTile
|
||||||
- TileAboveTheFoldContent
|
|
||||||
- TileBelowTheFoldContent
|
|
||||||
- RadioTile
|
- RadioTile
|
||||||
- Tile
|
- Tile
|
||||||
- TileGroup
|
- TileGroup
|
||||||
|
|
|
@ -70,4 +70,4 @@
|
||||||
}</script><style>#root[hidden],
|
}</script><style>#root[hidden],
|
||||||
#docs-root[hidden] {
|
#docs-root[hidden] {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}</style></head><body><div class="sb-nopreview sb-wrapper"><div class="sb-nopreview_main"><h1 class="sb-nopreview_heading sb-heading">No Preview</h1><p>Sorry, but you either have no stories or none are selected somehow.</p><ul><li>Please check the Storybook config.</li><li>Try reloading the page.</li></ul><p>If the problem persists, check the browser console, or the terminal you've run Storybook from.</p></div></div><div class="sb-errordisplay sb-wrapper"><pre id="error-message" class="sb-heading"></pre><pre class="sb-errordisplay_code"><code id="error-stack"></code></pre></div><div id="root"></div><div id="docs-root"></div><script src="runtime~main.548a6af97ccb098d1b95.bundle.js"></script><script src="vendors~main.548a6af97ccb098d1b95.bundle.js"></script><script src="main.548a6af97ccb098d1b95.bundle.js"></script></body></html>
|
}</style></head><body><div class="sb-nopreview sb-wrapper"><div class="sb-nopreview_main"><h1 class="sb-nopreview_heading sb-heading">No Preview</h1><p>Sorry, but you either have no stories or none are selected somehow.</p><ul><li>Please check the Storybook config.</li><li>Try reloading the page.</li></ul><p>If the problem persists, check the browser console, or the terminal you've run Storybook from.</p></div></div><div class="sb-errordisplay sb-wrapper"><pre id="error-message" class="sb-heading"></pre><pre class="sb-errordisplay_code"><code id="error-stack"></code></pre></div><div id="root"></div><div id="docs-root"></div><script src="runtime~main.977ebf979d865a2cb35d.bundle.js"></script><script src="vendors~main.977ebf979d865a2cb35d.bundle.js"></script><script src="main.977ebf979d865a2cb35d.bundle.js"></script></body></html>
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"main.548a6af97ccb098d1b95.bundle.js","sources":["webpack:///main.548a6af97ccb098d1b95.bundle.js"],"mappings":"AAAA","sourceRoot":""}
|
|
2
docs/main.977ebf979d865a2cb35d.bundle.js
Normal file
2
docs/main.977ebf979d865a2cb35d.bundle.js
Normal file
File diff suppressed because one or more lines are too long
1
docs/main.977ebf979d865a2cb35d.bundle.js.map
Normal file
1
docs/main.977ebf979d865a2cb35d.bundle.js.map
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"main.977ebf979d865a2cb35d.bundle.js","sources":["webpack:///main.977ebf979d865a2cb35d.bundle.js"],"mappings":"AAAA","sourceRoot":""}
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"runtime~main.548a6af97ccb098d1b95.bundle.js","sources":["webpack:///runtime~main.548a6af97ccb098d1b95.bundle.js"],"mappings":"AAAA","sourceRoot":""}
|
|
|
@ -1,2 +1,2 @@
|
||||||
!function(modules){function webpackJsonpCallback(data){for(var moduleId,chunkId,chunkIds=data[0],moreModules=data[1],executeModules=data[2],i=0,resolves=[];i<chunkIds.length;i++)chunkId=chunkIds[i],Object.prototype.hasOwnProperty.call(installedChunks,chunkId)&&installedChunks[chunkId]&&resolves.push(installedChunks[chunkId][0]),installedChunks[chunkId]=0;for(moduleId in moreModules)Object.prototype.hasOwnProperty.call(moreModules,moduleId)&&(modules[moduleId]=moreModules[moduleId]);for(parentJsonpFunction&&parentJsonpFunction(data);resolves.length;)resolves.shift()();return deferredModules.push.apply(deferredModules,executeModules||[]),checkDeferredModules()}function checkDeferredModules(){for(var result,i=0;i<deferredModules.length;i++){for(var deferredModule=deferredModules[i],fulfilled=!0,j=1;j<deferredModule.length;j++){var depId=deferredModule[j];0!==installedChunks[depId]&&(fulfilled=!1)}fulfilled&&(deferredModules.splice(i--,1),result=__webpack_require__(__webpack_require__.s=deferredModule[0]))}return result}var installedModules={},installedChunks={1:0},deferredModules=[];function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{enumerable:!0,get:getter})},__webpack_require__.r=function(exports){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.t=function(value,mode){if(1&mode&&(value=__webpack_require__(value)),8&mode)return value;if(4&mode&&"object"==typeof value&&value&&value.__esModule)return value;var ns=Object.create(null);if(__webpack_require__.r(ns),Object.defineProperty(ns,"default",{enumerable:!0,value:value}),2&mode&&"string"!=typeof value)for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module.default}:function getModuleExports(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="";var jsonpArray=window.webpackJsonp=window.webpackJsonp||[],oldJsonpFunction=jsonpArray.push.bind(jsonpArray);jsonpArray.push=webpackJsonpCallback,jsonpArray=jsonpArray.slice();for(var i=0;i<jsonpArray.length;i++)webpackJsonpCallback(jsonpArray[i]);var parentJsonpFunction=oldJsonpFunction;checkDeferredModules()}([]);
|
!function(modules){function webpackJsonpCallback(data){for(var moduleId,chunkId,chunkIds=data[0],moreModules=data[1],executeModules=data[2],i=0,resolves=[];i<chunkIds.length;i++)chunkId=chunkIds[i],Object.prototype.hasOwnProperty.call(installedChunks,chunkId)&&installedChunks[chunkId]&&resolves.push(installedChunks[chunkId][0]),installedChunks[chunkId]=0;for(moduleId in moreModules)Object.prototype.hasOwnProperty.call(moreModules,moduleId)&&(modules[moduleId]=moreModules[moduleId]);for(parentJsonpFunction&&parentJsonpFunction(data);resolves.length;)resolves.shift()();return deferredModules.push.apply(deferredModules,executeModules||[]),checkDeferredModules()}function checkDeferredModules(){for(var result,i=0;i<deferredModules.length;i++){for(var deferredModule=deferredModules[i],fulfilled=!0,j=1;j<deferredModule.length;j++){var depId=deferredModule[j];0!==installedChunks[depId]&&(fulfilled=!1)}fulfilled&&(deferredModules.splice(i--,1),result=__webpack_require__(__webpack_require__.s=deferredModule[0]))}return result}var installedModules={},installedChunks={1:0},deferredModules=[];function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{enumerable:!0,get:getter})},__webpack_require__.r=function(exports){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.t=function(value,mode){if(1&mode&&(value=__webpack_require__(value)),8&mode)return value;if(4&mode&&"object"==typeof value&&value&&value.__esModule)return value;var ns=Object.create(null);if(__webpack_require__.r(ns),Object.defineProperty(ns,"default",{enumerable:!0,value:value}),2&mode&&"string"!=typeof value)for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module.default}:function getModuleExports(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="";var jsonpArray=window.webpackJsonp=window.webpackJsonp||[],oldJsonpFunction=jsonpArray.push.bind(jsonpArray);jsonpArray.push=webpackJsonpCallback,jsonpArray=jsonpArray.slice();for(var i=0;i<jsonpArray.length;i++)webpackJsonpCallback(jsonpArray[i]);var parentJsonpFunction=oldJsonpFunction;checkDeferredModules()}([]);
|
||||||
//# sourceMappingURL=runtime~main.548a6af97ccb098d1b95.bundle.js.map
|
//# sourceMappingURL=runtime~main.977ebf979d865a2cb35d.bundle.js.map
|
1
docs/runtime~main.977ebf979d865a2cb35d.bundle.js.map
Normal file
1
docs/runtime~main.977ebf979d865a2cb35d.bundle.js.map
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"runtime~main.977ebf979d865a2cb35d.bundle.js","sources":["webpack:///runtime~main.977ebf979d865a2cb35d.bundle.js"],"mappings":"AAAA","sourceRoot":""}
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"vendors~main.548a6af97ccb098d1b95.bundle.js","sources":["webpack:///vendors~main.548a6af97ccb098d1b95.bundle.js"],"mappings":"AAAA;;;;;;;;;;;;;;AAg4PA;;;;;AAq/XA;;AAu8BA;;;;;;;;;;;;;;AAmBA;;;;;AA6gPA;;;;;AAkkEA;;;;;;;;;AAukBA;;;AA8odA;;;;;;;;AAg/BA;;;;;;;;AAqEA;;;;;;;;AAkTA;;;;;;;AAyrDA;;;;;;;AAy7CA;;;;;;;AAmdA;;;;;;;AAfA","sourceRoot":""}
|
|
File diff suppressed because one or more lines are too long
1
docs/vendors~main.977ebf979d865a2cb35d.bundle.js.map
Normal file
1
docs/vendors~main.977ebf979d865a2cb35d.bundle.js.map
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"vendors~main.977ebf979d865a2cb35d.bundle.js","sources":["webpack:///vendors~main.977ebf979d865a2cb35d.bundle.js"],"mappings":"AAAA;;;;;;;;;;;;;;AAk4PA;;;;;AAq/XA;;AAu8BA;;;;;;;;;;;;;;AAmBA;;;;;AA6gPA;;;;;AAkkEA;;;;;;;;;AAukBA;;;AA8odA;;;;;;;;AAg/BA;;;;;;;;AAqEA;;;;;;;;AAkTA;;;;;;;AAyrDA;;;;;;;AAy7CA;;;;;;;AAodA;;;;;;;AAfA","sourceRoot":""}
|
|
@ -7,7 +7,7 @@
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"module": "lib/index.mjs",
|
"module": "lib/index.mjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "start-storybook",
|
"start": "start-storybook -p 9090",
|
||||||
"build": "rollup -c",
|
"build": "rollup -c",
|
||||||
"build:storybook": "build-storybook -o docs",
|
"build:storybook": "build-storybook -o docs",
|
||||||
"test": "jest --coverage",
|
"test": "jest --coverage",
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let open = true;
|
|
||||||
export let count = 4;
|
export let count = 4;
|
||||||
|
export let open = true;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import ChevronRight16 from 'carbon-icons-svelte/lib/ChevronRight16';
|
import ChevronRight16 from 'carbon-icons-svelte/lib/ChevronRight16';
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let title = undefined;
|
|
||||||
export let iconDescription = 'Expand/Collapse';
|
export let iconDescription = 'Expand/Collapse';
|
||||||
export let open = false;
|
export let open = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let title = undefined;
|
||||||
|
|
||||||
import ChevronRight16 from 'carbon-icons-svelte/lib/ChevronRight16';
|
import ChevronRight16 from 'carbon-icons-svelte/lib/ChevronRight16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let small = false;
|
|
||||||
export let href = undefined;
|
export let href = undefined;
|
||||||
|
export let small = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -3,16 +3,16 @@
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let as = undefined;
|
export let as = undefined;
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let size = 'default';
|
|
||||||
export let kind = 'primary';
|
|
||||||
export let href = undefined;
|
export let href = undefined;
|
||||||
export let tabindex = '0';
|
|
||||||
export let type = 'button';
|
|
||||||
export let icon = undefined;
|
export let icon = undefined;
|
||||||
export let iconDescription = undefined;
|
export let iconDescription = undefined;
|
||||||
export let tooltipPosition = undefined;
|
export let kind = 'primary';
|
||||||
export let tooltipAlignment = undefined;
|
export let size = 'default';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
export let tooltipAlignment = undefined;
|
||||||
|
export let tooltipPosition = undefined;
|
||||||
|
export let type = 'button';
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let checked = false;
|
export let checked = false;
|
||||||
export let indeterminate = false;
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let hideLabel = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let indeterminate = false;
|
||||||
export let labelText = '';
|
export let labelText = '';
|
||||||
export let name = '';
|
export let name = '';
|
||||||
export let readonly = false;
|
export let readonly = false;
|
||||||
export let hideLabel = false;
|
|
||||||
export let title = '';
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let title = '';
|
||||||
|
|
||||||
import { createEventDispatcher } from 'svelte';
|
import { createEventDispatcher } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let type = 'single';
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let type = 'single';
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let type = 'single';
|
|
||||||
export let feedback = undefined;
|
|
||||||
export let feedbackTimeout = undefined;
|
|
||||||
export let copyButtonDescription = undefined;
|
export let copyButtonDescription = undefined;
|
||||||
export let copyLabel = undefined;
|
export let copyLabel = undefined;
|
||||||
export let showMoreText = 'Show more';
|
export let feedback = undefined;
|
||||||
export let showLessText = 'Show less';
|
export let feedbackTimeout = undefined;
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let showLessText = 'Show less';
|
||||||
|
export let showMoreText = 'Show more';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let type = 'single';
|
||||||
|
|
||||||
import { afterUpdate } from 'svelte';
|
import { afterUpdate } from 'svelte';
|
||||||
import ChevronDown16 from 'carbon-icons-svelte/lib/ChevronDown16';
|
import ChevronDown16 from 'carbon-icons-svelte/lib/ChevronDown16';
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
|
||||||
export let titleText = '';
|
|
||||||
export let helperText = '';
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let value = '';
|
export let helperText = '';
|
||||||
export let open = false;
|
export let id = Math.random();
|
||||||
export let selectedIndex = -1;
|
|
||||||
export let items = [];
|
|
||||||
export let itemToString = item => item.text || item.id;
|
|
||||||
export let placeholder = '';
|
|
||||||
export let shouldFilterItem = () => true;
|
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
export let translateWithId = undefined;
|
export let items = [];
|
||||||
export let size = undefined;
|
export let itemToString = item => item.text || item.id;
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let open = false;
|
||||||
|
export let placeholder = '';
|
||||||
|
export let selectedIndex = -1;
|
||||||
|
export let shouldFilterItem = () => true;
|
||||||
|
export let size = undefined;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let titleText = '';
|
||||||
|
export let translateWithId = undefined;
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { afterUpdate } from 'svelte';
|
import { afterUpdate } from 'svelte';
|
||||||
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let containerClass = undefined;
|
export let containerClass = undefined;
|
||||||
export let open = false;
|
|
||||||
export let danger = false;
|
export let danger = false;
|
||||||
|
export let open = false;
|
||||||
export let selectorPrimaryFocus = '[data-modal-primary-focus]';
|
export let selectorPrimaryFocus = '[data-modal-primary-focus]';
|
||||||
export let size = undefined;
|
export let size = undefined;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
let currentId = writable(null);
|
let currentId = writable(null);
|
||||||
let currentIndex = selectedIndex;
|
let currentIndex = selectedIndex;
|
||||||
let switches = [];
|
let switches = [];
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let iconDescription = 'Copy to clipboard';
|
|
||||||
export let feedback = 'Copied!';
|
export let feedback = 'Copied!';
|
||||||
export let feedbackTimeout = 2000;
|
export let feedbackTimeout = 2000;
|
||||||
|
export let iconDescription = 'Copy to clipboard';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { afterUpdate, onDestroy } from 'svelte';
|
import { afterUpdate, onDestroy } from 'svelte';
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let zebra = false;
|
export let columns = 5;
|
||||||
export let compact = false;
|
export let compact = false;
|
||||||
export let headers = [];
|
export let headers = [];
|
||||||
export let rows = 5;
|
export let rows = 5;
|
||||||
export let columns = 5;
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let zebra = false;
|
||||||
|
|
||||||
import { cx, fillArray } from '../../lib';
|
import { cx, fillArray } from '../../lib';
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
import Layout from '../../internal/ui/Layout.svelte';
|
import Layout from '../../internal/ui/Layout.svelte';
|
||||||
import DatePicker from './DatePicker.svelte';
|
import DatePicker from './DatePicker.svelte';
|
||||||
import DatePickerSkeleton from './DatePicker.Skeleton.svelte';
|
|
||||||
import DatePickerInput from './DatePickerInput.svelte';
|
import DatePickerInput from './DatePickerInput.svelte';
|
||||||
|
import DatePickerSkeleton from './DatePicker.Skeleton.svelte';
|
||||||
|
|
||||||
let datePickerType = 'simple';
|
let datePickerType = 'simple';
|
||||||
let value = '';
|
let value = '';
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
|
||||||
export let short = false;
|
|
||||||
export let datePickerType = 'simple';
|
|
||||||
export let dateFormat = 'm/d/Y';
|
|
||||||
export let locale = 'en';
|
|
||||||
export let value = '';
|
|
||||||
export let appendTo = document.body;
|
export let appendTo = document.body;
|
||||||
export let minDate = null;
|
export let dateFormat = 'm/d/Y';
|
||||||
export let maxDate = null;
|
export let datePickerType = 'simple';
|
||||||
|
export let id = Math.random();
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let locale = 'en';
|
||||||
|
export let maxDate = null;
|
||||||
|
export let minDate = null;
|
||||||
|
export let short = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { createEventDispatcher, setContext, afterUpdate, onDestroy } from 'svelte';
|
import { createEventDispatcher, setContext, afterUpdate, onDestroy } from 'svelte';
|
||||||
import { writable, derived } from 'svelte/store';
|
import { writable, derived } from 'svelte/store';
|
||||||
import { createCalendar } from './flatpickr';
|
import { createCalendar } from './createCalendar';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
|
||||||
export let iconDescription = '';
|
|
||||||
export let labelText = '';
|
|
||||||
export let hideLabel = false;
|
|
||||||
export let pattern = '\\d{1,2}\\/\\d{1,2}\\/\\d{4}';
|
|
||||||
export let type = 'text';
|
|
||||||
export let placeholder = '';
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let hideLabel = false;
|
||||||
|
export let iconDescription = '';
|
||||||
|
export let id = Math.random();
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
|
export let labelText = '';
|
||||||
|
export let pattern = '\\d{1,2}\\/\\d{1,2}\\/\\d{4}';
|
||||||
|
export let placeholder = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let type = 'text';
|
||||||
|
|
||||||
import { getContext, onMount } from 'svelte';
|
import { getContext, onMount } from 'svelte';
|
||||||
import Calendar16 from 'carbon-icons-svelte/lib/Calendar16';
|
import Calendar16 from 'carbon-icons-svelte/lib/Calendar16';
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
import SkeletonText from '../SkeletonText';
|
|
||||||
import { ButtonSkeleton } from '../Button';
|
import { ButtonSkeleton } from '../Button';
|
||||||
|
import SkeletonText from '../SkeletonText';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div on:click on:mouseover on:mouseenter on:mouseleave class={cx('--form-item', className)} {style}>
|
<div on:click on:mouseover on:mouseenter on:mouseleave class={cx('--form-item', className)} {style}>
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
import Button from '../Button';
|
import Button from '../Button';
|
||||||
import FileUploader from './FileUploader.svelte';
|
import FileUploader from './FileUploader.svelte';
|
||||||
import FileUploaderButton from './FileUploaderButton.svelte';
|
import FileUploaderButton from './FileUploaderButton.svelte';
|
||||||
import FileUploaderItem from './FileUploaderItem.svelte';
|
|
||||||
import FileUploaderDropContainer from './FileUploaderDropContainer.svelte';
|
import FileUploaderDropContainer from './FileUploaderDropContainer.svelte';
|
||||||
|
import FileUploaderItem from './FileUploaderItem.svelte';
|
||||||
import FileUploaderSkeleton from './FileUploader.Skeleton.svelte';
|
import FileUploaderSkeleton from './FileUploader.Skeleton.svelte';
|
||||||
|
|
||||||
let fileUploader = undefined;
|
let fileUploader = undefined;
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let files = [];
|
|
||||||
export const clearFiles = () => (files = []);
|
export const clearFiles = () => (files = []);
|
||||||
export let name = '';
|
export let accept = [];
|
||||||
|
export let buttonLabel = '';
|
||||||
|
export let files = [];
|
||||||
|
export let iconDescription = 'Provide icon description';
|
||||||
|
export let kind = 'primary';
|
||||||
export let labelDescription = '';
|
export let labelDescription = '';
|
||||||
export let labelTitle = '';
|
export let labelTitle = '';
|
||||||
export let iconDescription = 'Provide icon description';
|
|
||||||
export let status = 'uploading';
|
|
||||||
export let buttonLabel = '';
|
|
||||||
export let kind = 'primary';
|
|
||||||
export let multiple = false;
|
export let multiple = false;
|
||||||
export let accept = [];
|
export let name = '';
|
||||||
|
export let status = 'uploading';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { createEventDispatcher, afterUpdate } from 'svelte';
|
import { createEventDispatcher, afterUpdate } from 'svelte';
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
|
export let accept = [];
|
||||||
|
export let disabled = false;
|
||||||
export let disableLabelChanges = false;
|
export let disableLabelChanges = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let kind = 'primary';
|
||||||
export let labelText = 'Add file';
|
export let labelText = 'Add file';
|
||||||
export let multiple = false;
|
export let multiple = false;
|
||||||
export let name = '';
|
export let name = '';
|
||||||
export let role = 'button';
|
export let role = 'button';
|
||||||
export let tabindex = '0';
|
|
||||||
export let kind = 'primary';
|
|
||||||
export let accept = [];
|
|
||||||
export let disabled = false;
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let name = '';
|
export let accept = [];
|
||||||
export let role = 'button';
|
|
||||||
export let id = Math.random();
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let tabindex = '0';
|
export let id = Math.random();
|
||||||
export let labelText = 'Add file';
|
export let labelText = 'Add file';
|
||||||
export let multiple = false;
|
export let multiple = false;
|
||||||
export let accept = [];
|
export let name = '';
|
||||||
export let validateFiles = files => files;
|
export let role = 'button';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
export let validateFiles = files => files;
|
||||||
|
|
||||||
import { createEventDispatcher } from 'svelte';
|
import { createEventDispatcher } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
|
||||||
export let status = 'uploading';
|
|
||||||
export let iconDescription = '';
|
|
||||||
export let name = '';
|
|
||||||
export let invalid = false;
|
|
||||||
export let errorSubject = '';
|
|
||||||
export let errorBody = '';
|
export let errorBody = '';
|
||||||
|
export let errorSubject = '';
|
||||||
|
export let iconDescription = '';
|
||||||
|
export let id = Math.random();
|
||||||
|
export let invalid = false;
|
||||||
|
export let name = '';
|
||||||
|
export let status = 'uploading';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { createEventDispatcher } from 'svelte';
|
import { createEventDispatcher } from 'svelte';
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let status = 'uploading';
|
|
||||||
export let iconDescription = '';
|
export let iconDescription = '';
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let tabindex = '0';
|
export let status = 'uploading';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
|
||||||
import Close16 from 'carbon-icons-svelte/lib/Close16';
|
import Close16 from 'carbon-icons-svelte/lib/Close16';
|
||||||
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
|
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let legendText = '';
|
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
|
export let legendText = '';
|
||||||
export let message = false;
|
export let message = false;
|
||||||
export let messageText = '';
|
export let messageText = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let skeleton = false;
|
|
||||||
export let render = undefined;
|
|
||||||
export let title = undefined;
|
|
||||||
export let tabindex = undefined;
|
|
||||||
export let focusable = false;
|
export let focusable = false;
|
||||||
|
export let render = undefined;
|
||||||
|
export let skeleton = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = undefined;
|
||||||
|
export let title = undefined;
|
||||||
|
|
||||||
import IconSkeleton from './Icon.Skeleton.svelte';
|
import IconSkeleton from './Icon.Skeleton.svelte';
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let status = 'active';
|
|
||||||
export let description = undefined;
|
export let description = undefined;
|
||||||
export let iconDescription = undefined;
|
export let iconDescription = undefined;
|
||||||
export let successDelay = 1500;
|
export let status = 'active';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let successDelay = 1500;
|
||||||
|
|
||||||
import { createEventDispatcher, afterUpdate, onDestroy } from 'svelte';
|
import { createEventDispatcher, afterUpdate, onDestroy } from 'svelte';
|
||||||
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
|
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let href = undefined;
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let href = undefined;
|
||||||
export let inline = false;
|
export let inline = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
|
||||||
export let size = undefined;
|
|
||||||
export let type = 'default';
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let id = Math.random();
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
export let open = false;
|
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let open = false;
|
||||||
|
export let size = undefined;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let type = 'default';
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
|
||||||
export let tabindex = '-1';
|
|
||||||
export let role = 'combobox';
|
|
||||||
export let disabled = false;
|
|
||||||
export const translationIds = { close: 'close', open: 'open' };
|
export const translationIds = { close: 'close', open: 'open' };
|
||||||
export let translateWithId = id => defaultTranslations[id];
|
export let disabled = false;
|
||||||
|
export let id = Math.random();
|
||||||
|
export let role = 'combobox';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '-1';
|
||||||
|
export let translateWithId = id => defaultTranslations[id];
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let open = false;
|
|
||||||
export const translationIds = { close: 'close', open: 'open' };
|
export const translationIds = { close: 'close', open: 'open' };
|
||||||
export let translateWithId = id => defaultTranslations[id];
|
export let open = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let translateWithId = id => defaultTranslations[id];
|
||||||
|
|
||||||
import ChevronDown16 from 'carbon-icons-svelte/lib/ChevronDown16';
|
import ChevronDown16 from 'carbon-icons-svelte/lib/ChevronDown16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
|
export const translationIds = { clearAll: 'clearAll', clearSelection: 'clearSelection' };
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let selectionCount = undefined;
|
export let selectionCount = undefined;
|
||||||
export const translationIds = { clearAll: 'clearAll', clearSelection: 'clearSelection' };
|
|
||||||
export let translateWithId = id => defaultTranslations[id];
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let translateWithId = id => defaultTranslations[id];
|
||||||
|
|
||||||
import { createEventDispatcher, getContext } from 'svelte';
|
import { createEventDispatcher, getContext } from 'svelte';
|
||||||
import Close16 from 'carbon-icons-svelte/lib/Close16';
|
import Close16 from 'carbon-icons-svelte/lib/Close16';
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let active = true;
|
export let active = true;
|
||||||
export let withOverlay = true;
|
|
||||||
export let small = false;
|
|
||||||
export let description = 'Active loading indicator';
|
export let description = 'Active loading indicator';
|
||||||
|
export let small = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let withOverlay = true;
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let passiveModal = false;
|
export let danger = false;
|
||||||
export let hasForm = false;
|
export let hasForm = false;
|
||||||
|
export let hasScrollingContent = false;
|
||||||
|
export let iconDescription = 'Close the modal';
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let modalAriaLabel = undefined;
|
||||||
export let modalHeading = undefined;
|
export let modalHeading = undefined;
|
||||||
export let modalLabel = undefined;
|
export let modalLabel = undefined;
|
||||||
export let modalAriaLabel = undefined;
|
|
||||||
export let open = false;
|
export let open = false;
|
||||||
export let iconDescription = 'Close the modal';
|
export let passiveModal = false;
|
||||||
export let primaryButtonDisabled = false;
|
export let primaryButtonDisabled = false;
|
||||||
export let primaryButtonText = '';
|
export let primaryButtonText = '';
|
||||||
export let secondaryButtonText = '';
|
export let secondaryButtonText = '';
|
||||||
export let danger = false;
|
|
||||||
export let shouldSubmitOnEnter = true;
|
|
||||||
export let hasScrollingContent = false;
|
|
||||||
export let selectorPrimaryFocus = '[data-modal-primary-focus]';
|
export let selectorPrimaryFocus = '[data-modal-primary-focus]';
|
||||||
|
export let shouldSubmitOnEnter = true;
|
||||||
export let size = undefined;
|
export let size = undefined;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
|
||||||
export let titleText = '';
|
|
||||||
export let helperText = '';
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let value = '';
|
|
||||||
export let open = false;
|
|
||||||
export let selectedIds = [];
|
|
||||||
export let items = [];
|
|
||||||
export let itemToString = item => item.text || item.id;
|
|
||||||
export let placeholder = '';
|
|
||||||
export let filterable = false;
|
export let filterable = false;
|
||||||
|
export let filterItem = (item, value) => item.text.toLowerCase().includes(value.toLowerCase());
|
||||||
|
export let helperText = '';
|
||||||
|
export let id = Math.random();
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
export let translateWithId = undefined;
|
export let items = [];
|
||||||
export let size = undefined;
|
export let itemToString = item => item.text || item.id;
|
||||||
export let type = 'default';
|
|
||||||
export let locale = 'en';
|
|
||||||
export let sortItem = (a, b) => a.text.localeCompare(b.text, locale, { numeric: true });
|
|
||||||
export let filterItem = (item, value) => item.text.toLowerCase().includes(value.toLowerCase());
|
|
||||||
export let label = '';
|
export let label = '';
|
||||||
export let useTitleInItem = false;
|
|
||||||
export let selectionFeedback = 'top-after-reopen';
|
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let locale = 'en';
|
||||||
|
export let open = false;
|
||||||
|
export let placeholder = '';
|
||||||
|
export let selectedIds = [];
|
||||||
|
export let selectionFeedback = 'top-after-reopen';
|
||||||
|
export let size = undefined;
|
||||||
|
export let sortItem = (a, b) => a.text.localeCompare(b.text, locale, { numeric: true });
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let titleText = '';
|
||||||
|
export let translateWithId = undefined;
|
||||||
|
export let type = 'default';
|
||||||
|
export let useTitleInItem = false;
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { afterUpdate, setContext } from 'svelte';
|
import { afterUpdate, setContext } from 'svelte';
|
||||||
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let kind = 'error';
|
|
||||||
export let title = 'provide a title';
|
|
||||||
export let subtitle = ''; // TODO: support subtitle slot?
|
|
||||||
export let role = 'alert';
|
|
||||||
export let notificationType = 'inline';
|
|
||||||
export let iconDescription = 'closes notification';
|
|
||||||
export let hideCloseButton = false;
|
export let hideCloseButton = false;
|
||||||
|
export let iconDescription = 'closes notification';
|
||||||
|
export let kind = 'error';
|
||||||
export let lowContrast = false;
|
export let lowContrast = false;
|
||||||
|
export let notificationType = 'inline';
|
||||||
|
export let role = 'alert';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let subtitle = ''; // TODO: support subtitle slot?
|
||||||
|
export let title = 'provide a title';
|
||||||
|
|
||||||
import { createEventDispatcher } from 'svelte';
|
import { createEventDispatcher } from 'svelte';
|
||||||
import NotificationIcon from './NotificationIcon.svelte';
|
import NotificationIcon from './NotificationIcon.svelte';
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
import Layout from '../../internal/ui/Layout.svelte';
|
import Layout from '../../internal/ui/Layout.svelte';
|
||||||
import InlineNotification from './InlineNotification.svelte';
|
import InlineNotification from './InlineNotification.svelte';
|
||||||
import ToastNotification from './ToastNotification.svelte';
|
|
||||||
import NotificationActionButton from './NotificationActionButton.svelte';
|
import NotificationActionButton from './NotificationActionButton.svelte';
|
||||||
|
import ToastNotification from './ToastNotification.svelte';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import Button from '../Button';
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
import Button from '../Button';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let notificationType = 'toast';
|
|
||||||
export let type = 'button';
|
|
||||||
export let iconDescription = 'close icon';
|
export let iconDescription = 'close icon';
|
||||||
|
export let notificationType = 'toast';
|
||||||
export let renderIcon = Close20;
|
export let renderIcon = Close20;
|
||||||
export let title = undefined;
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let title = undefined;
|
||||||
|
export let type = 'button';
|
||||||
|
|
||||||
import Close20 from 'carbon-icons-svelte/lib/Close20';
|
import Close20 from 'carbon-icons-svelte/lib/Close20';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
export let notificationType = 'toast';
|
export let notificationType = 'toast';
|
||||||
export let iconDescription = 'closes notification';
|
export let iconDescription = 'closes notification';
|
||||||
|
|
||||||
import ErrorFilled20 from 'carbon-icons-svelte/lib/ErrorFilled20';
|
|
||||||
import CheckmarkFilled20 from 'carbon-icons-svelte/lib/CheckmarkFilled20';
|
import CheckmarkFilled20 from 'carbon-icons-svelte/lib/CheckmarkFilled20';
|
||||||
|
import ErrorFilled20 from 'carbon-icons-svelte/lib/ErrorFilled20';
|
||||||
import WarningFilled20 from 'carbon-icons-svelte/lib/WarningFilled20';
|
import WarningFilled20 from 'carbon-icons-svelte/lib/WarningFilled20';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script>
|
<script>
|
||||||
export let title = 'title';
|
|
||||||
export let subtitle = '';
|
|
||||||
export let caption = 'caption';
|
export let caption = 'caption';
|
||||||
export let notificationType = 'toast';
|
export let notificationType = 'toast';
|
||||||
|
export let subtitle = '';
|
||||||
|
export let title = 'title';
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let kind = 'error';
|
|
||||||
export let title = 'provide a title';
|
|
||||||
export let subtitle = ''; // TODO: support subtitle slot?
|
|
||||||
export let caption = 'provide a caption';
|
export let caption = 'provide a caption';
|
||||||
export let role = 'alert';
|
|
||||||
export let notificationType = 'toast';
|
|
||||||
export let iconDescription = 'closes notification';
|
|
||||||
export let hideCloseButton = false;
|
export let hideCloseButton = false;
|
||||||
|
export let iconDescription = 'closes notification';
|
||||||
|
export let kind = 'error';
|
||||||
export let lowContrast = false;
|
export let lowContrast = false;
|
||||||
export let timeout = 0;
|
export let notificationType = 'toast';
|
||||||
|
export let role = 'alert';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let subtitle = ''; // TODO: support subtitle slot?
|
||||||
|
export let timeout = 0;
|
||||||
|
export let title = 'provide a title';
|
||||||
|
|
||||||
import { createEventDispatcher, onMount } from 'svelte';
|
import { createEventDispatcher, onMount } from 'svelte';
|
||||||
|
import NotificationButton from './NotificationButton.svelte';
|
||||||
import NotificationIcon from './NotificationIcon.svelte';
|
import NotificationIcon from './NotificationIcon.svelte';
|
||||||
import NotificationTextDetails from './NotificationTextDetails.svelte';
|
import NotificationTextDetails from './NotificationTextDetails.svelte';
|
||||||
import NotificationButton from './NotificationButton.svelte';
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
|
@ -16,7 +16,7 @@ export const Default = () => ({
|
||||||
disabled: boolean('Disabled (disabled)', false),
|
disabled: boolean('Disabled (disabled)', false),
|
||||||
readonly: boolean('Read only (readonly)', false),
|
readonly: boolean('Read only (readonly)', false),
|
||||||
invalid: boolean('Show form validation UI (invalid)', false),
|
invalid: boolean('Show form validation UI (invalid)', false),
|
||||||
isMobile: boolean('Mobile variant', false),
|
mobile: boolean('Mobile variant (mobile)', false),
|
||||||
invalidText: text('Form validation UI content (invalidText)', 'Number is not valid'),
|
invalidText: text('Form validation UI content (invalidText)', 'Number is not valid'),
|
||||||
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
||||||
light: boolean('Light variant (light)', false)
|
light: boolean('Light variant (light)', false)
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
|
export const translationIds = { increment: 'increment', decrement: 'decrement' };
|
||||||
|
export let allowEmpty = false;
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let helperText = '';
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let iconDescription = '';
|
export let iconDescription = '';
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
export let label = '';
|
|
||||||
export let max = undefined;
|
|
||||||
export let min = undefined;
|
|
||||||
export let step = 1;
|
|
||||||
export let value = '';
|
|
||||||
export let readonly = false;
|
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = 'Provide invalidText';
|
export let invalidText = 'Provide invalidText';
|
||||||
export let helperText = '';
|
export let mobile = false;
|
||||||
|
export let label = '';
|
||||||
export let light = false;
|
export let light = false;
|
||||||
export let allowEmpty = false;
|
export let max = undefined;
|
||||||
export let isMobile = false;
|
export let min = undefined;
|
||||||
export const translationIds = { increment: 'increment', decrement: 'decrement' };
|
export let readonly = false;
|
||||||
export let translateWithId = id => defaultTranslations[id];
|
export let step = 1;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let translateWithId = id => defaultTranslations[id];
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { createEventDispatcher, afterUpdate } from 'svelte';
|
import { createEventDispatcher, afterUpdate } from 'svelte';
|
||||||
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
|
||||||
import CaretDownGlyph from 'carbon-icons-svelte/lib/CaretDownGlyph';
|
import CaretDownGlyph from 'carbon-icons-svelte/lib/CaretDownGlyph';
|
||||||
import CaretUpGlyph from 'carbon-icons-svelte/lib/CaretUpGlyph';
|
import CaretUpGlyph from 'carbon-icons-svelte/lib/CaretUpGlyph';
|
||||||
|
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const defaultTranslations = {
|
const defaultTranslations = {
|
||||||
|
@ -62,8 +62,8 @@
|
||||||
<div on:click on:mouseover on:mouseenter on:mouseleave class={cx('--form-item', className)} {style}>
|
<div on:click on:mouseover on:mouseenter on:mouseleave class={cx('--form-item', className)} {style}>
|
||||||
<div
|
<div
|
||||||
data-invalid={error || undefined}
|
data-invalid={error || undefined}
|
||||||
class={cx('--number', '--number--helpertext', readonly && '--number--readonly', light && '--number--light', hideLabel && '--number--nolabel', isMobile && '--number--mobile')}>
|
class={cx('--number', '--number--helpertext', readonly && '--number--readonly', light && '--number--light', hideLabel && '--number--nolabel', mobile && '--number--mobile')}>
|
||||||
{#if isMobile}
|
{#if mobile}
|
||||||
{#if label}
|
{#if label}
|
||||||
<label class={cx('--label', hideLabel && '--visually-hidden')} for={id}>
|
<label class={cx('--label', hideLabel && '--visually-hidden')} for={id}>
|
||||||
<slot name="label">{label}</slot>
|
<slot name="label">{label}</slot>
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let open = false;
|
|
||||||
export let direction = 'bottom';
|
export let direction = 'bottom';
|
||||||
export let flipped = false;
|
export let flipped = false;
|
||||||
export let tabindex = '0';
|
|
||||||
export let id = Math.random();
|
|
||||||
export let iconDescription = 'Open and close list of options';
|
|
||||||
export let iconClass = undefined;
|
|
||||||
export let icon = OverflowMenuVertical16;
|
export let icon = OverflowMenuVertical16;
|
||||||
|
export let iconClass = undefined;
|
||||||
|
export let iconDescription = 'Open and close list of options';
|
||||||
|
export let id = Math.random();
|
||||||
export let light = false;
|
export let light = false;
|
||||||
export let menuOptionsClass = undefined;
|
export let menuOptionsClass = undefined;
|
||||||
|
export let open = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
|
||||||
import { createEventDispatcher, setContext, afterUpdate } from 'svelte';
|
import { createEventDispatcher, setContext, afterUpdate } from 'svelte';
|
||||||
import { writable } from 'svelte/store';
|
import { writable } from 'svelte/store';
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let text = 'Provide text';
|
|
||||||
export let href = '';
|
|
||||||
export let hasDivider = false;
|
|
||||||
export let danger = false;
|
export let danger = false;
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let hasDivider = false;
|
||||||
|
export let href = '';
|
||||||
export let primaryFocus = false;
|
export let primaryFocus = false;
|
||||||
export let requireTitle = true;
|
export let requireTitle = true;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let text = 'Provide text';
|
||||||
|
|
||||||
import { getContext, afterUpdate } from 'svelte';
|
import { getContext, afterUpdate } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import SkeletonText from '../SkeletonText';
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
import SkeletonText from '../SkeletonText';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
|
|
@ -2,26 +2,26 @@
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let backwardText = 'Previous page';
|
export let backwardText = 'Previous page';
|
||||||
export let itemRangeText = (min, max, total) => `${min}–${max} of ${total} items`;
|
export let disabled = false;
|
||||||
export let forwardText = 'Next page';
|
export let forwardText = 'Next page';
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let itemRangeText = (min, max, total) => `${min}–${max} of ${total} items`;
|
||||||
export let itemsPerPageText = 'Items per page:';
|
export let itemsPerPageText = 'Items per page:';
|
||||||
export let itemText = (min, max) => `${min}–${max} items`;
|
export let itemText = (min, max) => `${min}–${max} items`;
|
||||||
export let pageRangeText = (current, total) => `of ${total} pages`;
|
|
||||||
export let pageText = page => `page ${page}`;
|
|
||||||
export let pageSizes = [10];
|
|
||||||
export let totalItems = 0;
|
|
||||||
export let disabled = false;
|
|
||||||
export let page = 1;
|
export let page = 1;
|
||||||
export let pageSize = 10;
|
|
||||||
export let pagesUnknown = false;
|
|
||||||
export let pageInputDisabled = false;
|
export let pageInputDisabled = false;
|
||||||
|
export let pageRangeText = (current, total) => `of ${total} pages`;
|
||||||
|
export let pageSize = 10;
|
||||||
|
export let pageSizes = [10];
|
||||||
|
export let pagesUnknown = false;
|
||||||
|
export let pageText = page => `page ${page}`;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let totalItems = 0;
|
||||||
|
|
||||||
import CaretRight24 from 'carbon-icons-svelte/lib/CaretRight24';
|
|
||||||
import CaretLeft24 from 'carbon-icons-svelte/lib/CaretLeft24';
|
import CaretLeft24 from 'carbon-icons-svelte/lib/CaretLeft24';
|
||||||
import Select, { SelectItem } from '../Select';
|
import CaretRight24 from 'carbon-icons-svelte/lib/CaretRight24';
|
||||||
import { cx, fillArray } from '../../lib';
|
import { cx, fillArray } from '../../lib';
|
||||||
|
import Select, { SelectItem } from '../Select';
|
||||||
|
|
||||||
$: totalPages = Math.max(Math.ceil(totalItems / pageSize), 1);
|
$: totalPages = Math.max(Math.ceil(totalItems / pageSize), 1);
|
||||||
$: selectItems = fillArray(totalPages);
|
$: selectItems = fillArray(totalPages);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let vertical = false;
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let vertical = false;
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
import Layout from '../../internal/ui/Layout.svelte';
|
import Layout from '../../internal/ui/Layout.svelte';
|
||||||
import ProgressIndicator from './ProgressIndicator.svelte';
|
import ProgressIndicator from './ProgressIndicator.svelte';
|
||||||
import ProgressStep from './ProgressStep.svelte';
|
|
||||||
import ProgressIndicatorSkeleton from './ProgressIndicator.Skeleton.svelte';
|
import ProgressIndicatorSkeleton from './ProgressIndicator.Skeleton.svelte';
|
||||||
|
import ProgressStep from './ProgressStep.svelte';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
|
@ -39,8 +39,8 @@
|
||||||
<ProgressStep
|
<ProgressStep
|
||||||
label="Fourth step"
|
label="Fourth step"
|
||||||
description="Step 4: Getting started with Carbon Design System"
|
description="Step 4: Getting started with Carbon Design System"
|
||||||
invalid
|
secondaryLabel="Example invalid step"
|
||||||
secondaryLabel="Example invalid step" />
|
invalid />
|
||||||
<ProgressStep
|
<ProgressStep
|
||||||
label="Fifth step"
|
label="Fifth step"
|
||||||
description="Step 5: Getting started with Carbon Design System"
|
description="Step 5: Getting started with Carbon Design System"
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let currentIndex = 0;
|
export let currentIndex = 0;
|
||||||
export let vertical = false;
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let vertical = false;
|
||||||
|
|
||||||
import { createEventDispatcher, setContext } from 'svelte';
|
import { createEventDispatcher, setContext } from 'svelte';
|
||||||
import { writable, derived } from 'svelte/store';
|
import { writable, derived } from 'svelte/store';
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let label = '';
|
|
||||||
export let current = false;
|
|
||||||
export let complete = false;
|
export let complete = false;
|
||||||
|
export let current = false;
|
||||||
export let description = '';
|
export let description = '';
|
||||||
export let invalid = false;
|
|
||||||
export let secondaryLabel = '';
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let invalid = false;
|
||||||
|
export let label = '';
|
||||||
|
export let secondaryLabel = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import Warning16 from 'carbon-icons-svelte/lib/Warning16';
|
|
||||||
import CheckmarkOutline16 from 'carbon-icons-svelte/lib/CheckmarkOutline16';
|
import CheckmarkOutline16 from 'carbon-icons-svelte/lib/CheckmarkOutline16';
|
||||||
|
import Warning16 from 'carbon-icons-svelte/lib/Warning16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const id = Math.random();
|
const id = Math.random();
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let value = '';
|
|
||||||
export let checked = false;
|
export let checked = false;
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let id = Math.random();
|
|
||||||
export let labelText = '';
|
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
|
export let id = Math.random();
|
||||||
export let labelPosition = 'right';
|
export let labelPosition = 'right';
|
||||||
|
export let labelText = '';
|
||||||
export let name = '';
|
export let name = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import { writable } from 'svelte/store';
|
import { writable } from 'svelte/store';
|
||||||
|
@ -17,13 +17,13 @@
|
||||||
|
|
||||||
const ctx = getContext('RadioButtonGroup');
|
const ctx = getContext('RadioButtonGroup');
|
||||||
|
|
||||||
let selected = ctx ? ctx.selected : writable(checked ? value : undefined);
|
let selectedValue = ctx ? ctx.selectedValue : writable(checked ? value : undefined);
|
||||||
|
|
||||||
if (ctx) {
|
if (ctx) {
|
||||||
ctx.add({ id, checked, disabled, value });
|
ctx.add({ id, checked, disabled, value });
|
||||||
}
|
}
|
||||||
|
|
||||||
$: checked = $selected === value;
|
$: checked = $selectedValue === value;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
|
|
@ -3,11 +3,13 @@
|
||||||
import RadioButtonGroup from './RadioButtonGroup.svelte';
|
import RadioButtonGroup from './RadioButtonGroup.svelte';
|
||||||
import RadioButton from '../RadioButton';
|
import RadioButton from '../RadioButton';
|
||||||
import FormGroup from '../FormGroup';
|
import FormGroup from '../FormGroup';
|
||||||
|
|
||||||
|
let selected = 'default-selected';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
<FormGroup legendText="Radio Button heading">
|
<FormGroup legendText="Radio Button heading">
|
||||||
<RadioButtonGroup {...$$props.group} defaultSelected="default-selected" legend="Group Legend">
|
<RadioButtonGroup {...$$props.group} legend="Group Legend" bind:selected>
|
||||||
<RadioButton {...$$props.radio} value="standard" id="radio-1" />
|
<RadioButton {...$$props.radio} value="standard" id="radio-1" />
|
||||||
<RadioButton {...$$props.radio} value="default-selected" id="radio-2" />
|
<RadioButton {...$$props.radio} value="default-selected" id="radio-2" />
|
||||||
<RadioButton {...$$props.radio} value="disabled" id="radio-3" />
|
<RadioButton {...$$props.radio} value="disabled" id="radio-3" />
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let orientation = 'horizontal';
|
export let selected = undefined;
|
||||||
export let labelPosition = 'right';
|
|
||||||
export let defaultSelected = undefined;
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let labelPosition = 'right';
|
||||||
|
export let orientation = 'horizontal';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { createEventDispatcher, setContext } from 'svelte';
|
import { createEventDispatcher, setContext } from 'svelte';
|
||||||
|
@ -13,23 +13,23 @@
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
let selected = writable(defaultSelected);
|
let selectedValue = writable(selected);
|
||||||
|
|
||||||
setContext('RadioButtonGroup', {
|
setContext('RadioButtonGroup', {
|
||||||
selected,
|
selectedValue,
|
||||||
add: ({ checked, value }) => {
|
add: ({ checked, value }) => {
|
||||||
if (checked) {
|
if (checked) {
|
||||||
selected.set(value);
|
selectedValue.set(value);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
update: value => {
|
update: value => {
|
||||||
selected.set(value);
|
selectedValue.set(value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$: selected = $selectedValue;
|
||||||
$: {
|
$: {
|
||||||
defaultSelected = $selected;
|
dispatch('change', $selectedValue);
|
||||||
dispatch('change', $selected);
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let value = '';
|
|
||||||
export let autofocus = false;
|
export let autofocus = false;
|
||||||
export let type = 'text';
|
|
||||||
export let small = false;
|
|
||||||
export let placeholder = '';
|
|
||||||
export let labelText = '';
|
|
||||||
export let closeButtonLabelText = 'Clear search input';
|
export let closeButtonLabelText = 'Clear search input';
|
||||||
export let size = small ? 'sm' : 'xl';
|
|
||||||
export let light = false;
|
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let labelText = '';
|
||||||
|
export let light = false;
|
||||||
|
export let placeholder = '';
|
||||||
|
export let size = small ? 'sm' : 'xl';
|
||||||
|
export let small = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let type = 'text';
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import Search16 from 'carbon-icons-svelte/lib/Search16';
|
|
||||||
import Close16 from 'carbon-icons-svelte/lib/Close16';
|
import Close16 from 'carbon-icons-svelte/lib/Close16';
|
||||||
import Close20 from 'carbon-icons-svelte/lib/Close20';
|
import Close20 from 'carbon-icons-svelte/lib/Close20';
|
||||||
|
import Search16 from 'carbon-icons-svelte/lib/Search16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
let inputRef = undefined;
|
let inputRef = undefined;
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
class={cx('--search', size && `--search--${size}`, light && '--search--light', className)}
|
class={cx('--search', size && `--search--${size}`, light && '--search--light', className)}
|
||||||
{style}>
|
{style}>
|
||||||
<Search16 class={cx('--search-magnifier')} />
|
<Search16 class={cx('--search-magnifier')} />
|
||||||
<label for={id} class={cx('--label')}>{labelText}</label>
|
<label class={cx('--label')} for={id}>{labelText}</label>
|
||||||
<!-- svelte-ignore a11y-autofocus -->
|
<!-- svelte-ignore a11y-autofocus -->
|
||||||
<input
|
<input
|
||||||
bind:this={inputRef}
|
bind:this={inputRef}
|
||||||
|
@ -43,13 +43,13 @@
|
||||||
{placeholder} />
|
{placeholder} />
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
aria-label={closeButtonLabelText}
|
||||||
class={cx('--search-close', value === '' && '--search-close--hidden')}
|
class={cx('--search-close', value === '' && '--search-close--hidden')}
|
||||||
on:click
|
on:click
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
value = '';
|
value = '';
|
||||||
inputRef.focus();
|
inputRef.focus();
|
||||||
}}
|
}}>
|
||||||
aria-label={closeButtonLabelText}>
|
|
||||||
<svelte:component this={size === 'xl' ? Close20 : Close16} />
|
<svelte:component this={size === 'xl' ? Close20 : Close16} />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,14 +6,17 @@
|
||||||
import SelectItem from './SelectItem.svelte';
|
import SelectItem from './SelectItem.svelte';
|
||||||
import SelectSkeleton from './Select.Skeleton.svelte';
|
import SelectSkeleton from './Select.Skeleton.svelte';
|
||||||
import SelectItemGroup from './SelectItemGroup.svelte';
|
import SelectItemGroup from './SelectItemGroup.svelte';
|
||||||
|
|
||||||
|
let selected = 'placeholder-item';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
<div>
|
<div>
|
||||||
|
{selected}
|
||||||
{#if story === 'skeleton'}
|
{#if story === 'skeleton'}
|
||||||
<SelectSkeleton {...$$props} />
|
<SelectSkeleton {...$$props} />
|
||||||
{:else}
|
{:else}
|
||||||
<Select {...$$props.select} id="select-1" defaultValue="placeholder-item">
|
<Select {...$$props.select} id="select-1" bind:selected>
|
||||||
<SelectItem value="placeholder-item" text="Choose an option" disabled hidden />
|
<SelectItem value="placeholder-item" text="Choose an option" disabled hidden />
|
||||||
<SelectItemGroup {...$$props.group} label="Category 1">
|
<SelectItemGroup {...$$props.group} label="Category 1">
|
||||||
<SelectItem value="option-1" text="Option 1" />
|
<SelectItem value="option-1" text="Option 1" />
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
|
export let disabled = false;
|
||||||
|
export let helperText = '';
|
||||||
|
export let hideLabel = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
export let inline = false;
|
export let inline = false;
|
||||||
export let labelText = '';
|
|
||||||
export let disabled = false;
|
|
||||||
export let defaultValue = undefined;
|
|
||||||
export let hideLabel = false;
|
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
export let helperText = '';
|
export let labelText = '';
|
||||||
export let light = false;
|
export let light = false;
|
||||||
export let noLabel = false;
|
export let noLabel = false;
|
||||||
|
export let selected = undefined;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { createEventDispatcher, setContext } from 'svelte';
|
import { createEventDispatcher, setContext } from 'svelte';
|
||||||
|
@ -22,16 +22,15 @@
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
let selected = writable(defaultValue);
|
let selectedValue = writable(selected);
|
||||||
|
|
||||||
setContext('Select', { selected });
|
setContext('Select', { selectedValue });
|
||||||
|
|
||||||
$: errorId = `error-${id}`;
|
$: errorId = `error-${id}`;
|
||||||
|
$: selected = $selectedValue;
|
||||||
$: {
|
$: {
|
||||||
selected.set(defaultValue);
|
dispatch('change', $selectedValue);
|
||||||
dispatch('change', $selected);
|
|
||||||
}
|
}
|
||||||
$: defaultValue = $selected;
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class={cx('--form-item')} {style}>
|
<div class={cx('--form-item')} {style}>
|
||||||
|
@ -58,7 +57,7 @@
|
||||||
disabled={disabled || undefined}
|
disabled={disabled || undefined}
|
||||||
aria-invalid={invalid || undefined}
|
aria-invalid={invalid || undefined}
|
||||||
on:change={({ target }) => {
|
on:change={({ target }) => {
|
||||||
selected.set(target.value);
|
selectedValue.set(target.value);
|
||||||
}}
|
}}
|
||||||
{id}>
|
{id}>
|
||||||
<slot />
|
<slot />
|
||||||
|
@ -87,7 +86,7 @@
|
||||||
aria-invalid={invalid || undefined}
|
aria-invalid={invalid || undefined}
|
||||||
on:change
|
on:change
|
||||||
on:change={({ target }) => {
|
on:change={({ target }) => {
|
||||||
selected.set(target.value);
|
selectedValue.set(target.value);
|
||||||
}}
|
}}
|
||||||
{id}>
|
{id}>
|
||||||
<slot />
|
<slot />
|
||||||
|
|
|
@ -1,24 +1,28 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let value = '';
|
|
||||||
export let text = '';
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let hidden = false;
|
export let hidden = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let text = '';
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const ctx = getContext('Select') || getContext('TimePickerSelect');
|
const ctx = getContext('Select') || getContext('TimePickerSelect');
|
||||||
|
|
||||||
|
let selected = false;
|
||||||
|
|
||||||
|
const unsubscribe = ctx.selectedValue.subscribe(currentValue => {
|
||||||
|
if (currentValue === value) {
|
||||||
|
selected = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
unsubscribe();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<option
|
<option class={cx('--select-option', className)} {value} {disabled} {hidden} {style} {selected}>
|
||||||
selected={ctx.$selected === value}
|
|
||||||
class={cx('--select-option', className)}
|
|
||||||
{value}
|
|
||||||
{disabled}
|
|
||||||
{hidden}
|
|
||||||
{style}>
|
|
||||||
{text}
|
{text}
|
||||||
</option>
|
</option>
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let paragraph = false;
|
|
||||||
export let lines = 3;
|
|
||||||
export let width = '100%';
|
|
||||||
export let heading = false;
|
export let heading = false;
|
||||||
|
export let lines = 3;
|
||||||
|
export let paragraph = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let width = '100%';
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,23 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
|
export let disabled = false;
|
||||||
export let hideTextInput = false;
|
export let hideTextInput = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
export let value = '';
|
|
||||||
export let min = 0;
|
|
||||||
export let max = 100;
|
|
||||||
export let minLabel = '';
|
|
||||||
export let maxLabel = '';
|
|
||||||
export let labelText = '';
|
|
||||||
export let formatLabel = (value, label) =>
|
|
||||||
typeof label === 'function' ? label(value) : `${value}${label}`;
|
|
||||||
export let step = 1;
|
|
||||||
export let stepMultiplier = 4;
|
|
||||||
export let disabled = false;
|
|
||||||
export let name = '';
|
|
||||||
export let inputType = 'number';
|
export let inputType = 'number';
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let required = false;
|
export let labelText = '';
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let max = 100;
|
||||||
|
export let maxLabel = '';
|
||||||
|
export let min = 0;
|
||||||
|
export let minLabel = '';
|
||||||
|
export let name = '';
|
||||||
|
export let required = false;
|
||||||
|
export let step = 1;
|
||||||
|
export let stepMultiplier = 4;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { createEventDispatcher, afterUpdate } from 'svelte';
|
import { createEventDispatcher, afterUpdate } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
@ -82,7 +80,7 @@
|
||||||
<div on:click on:mouseover on:mouseenter on:mouseleave class={cx('--form-item', className)} {style}>
|
<div on:click on:mouseover on:mouseenter on:mouseleave class={cx('--form-item', className)} {style}>
|
||||||
<label for={id} class={cx('--label', disabled && '--label--disabled')}>{labelText}</label>
|
<label for={id} class={cx('--label', disabled && '--label--disabled')}>{labelText}</label>
|
||||||
<div class={cx('--slider-container')}>
|
<div class={cx('--slider-container')}>
|
||||||
<span class={cx('--slider__range-label')}>{formatLabel(min, minLabel)}</span>
|
<span class={cx('--slider__range-label')}>{minLabel || min}</span>
|
||||||
<div
|
<div
|
||||||
bind:this={elementRef}
|
bind:this={elementRef}
|
||||||
role="presentation"
|
role="presentation"
|
||||||
|
@ -134,7 +132,7 @@
|
||||||
{max}
|
{max}
|
||||||
{step} />
|
{step} />
|
||||||
</div>
|
</div>
|
||||||
<span class={cx('--slider__range-label')}>{formatLabel(max, maxLabel)}</span>
|
<span class={cx('--slider__range-label')}>{maxLabel || max}</span>
|
||||||
{#if !hideTextInput}
|
{#if !hideTextInput}
|
||||||
<input
|
<input
|
||||||
type={inputType}
|
type={inputType}
|
||||||
|
|
|
@ -9,8 +9,10 @@
|
||||||
import StructuredListHead from './StructuredListHead.svelte';
|
import StructuredListHead from './StructuredListHead.svelte';
|
||||||
import StructuredListInput from './StructuredListInput.svelte';
|
import StructuredListInput from './StructuredListInput.svelte';
|
||||||
import StructuredListRow from './StructuredListRow.svelte';
|
import StructuredListRow from './StructuredListRow.svelte';
|
||||||
import StructuredListWrapper from './StructuredListWrapper.svelte';
|
|
||||||
import StructuredListSkeleton from './StructuredList.Skeleton.svelte';
|
import StructuredListSkeleton from './StructuredList.Skeleton.svelte';
|
||||||
|
import StructuredList from './StructuredList.svelte';
|
||||||
|
|
||||||
|
let selected = 'row-1-value';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
|
@ -18,10 +20,9 @@
|
||||||
{#if story === 'skeleton'}
|
{#if story === 'skeleton'}
|
||||||
<div style="width: 800px">
|
<div style="width: 800px">
|
||||||
<StructuredListSkeleton />
|
<StructuredListSkeleton />
|
||||||
<StructuredListSkeleton border />
|
|
||||||
</div>
|
</div>
|
||||||
{:else if story === 'selection'}
|
{:else if story === 'selection'}
|
||||||
<StructuredListWrapper selection border defaultSelected="row-1-value">
|
<StructuredList selection border bind:selected>
|
||||||
<StructuredListHead>
|
<StructuredListHead>
|
||||||
<StructuredListRow head>
|
<StructuredListRow head>
|
||||||
<StructuredListCell head>ColumnA</StructuredListCell>
|
<StructuredListCell head>ColumnA</StructuredListCell>
|
||||||
|
@ -54,9 +55,9 @@
|
||||||
</StructuredListRow>
|
</StructuredListRow>
|
||||||
{/each}
|
{/each}
|
||||||
</StructuredListBody>
|
</StructuredListBody>
|
||||||
</StructuredListWrapper>
|
</StructuredList>
|
||||||
{:else}
|
{:else}
|
||||||
<StructuredListWrapper>
|
<StructuredList>
|
||||||
<StructuredListHead>
|
<StructuredListHead>
|
||||||
<StructuredListRow head>
|
<StructuredListRow head>
|
||||||
<StructuredListCell head>ColumnA</StructuredListCell>
|
<StructuredListCell head>ColumnA</StructuredListCell>
|
||||||
|
@ -84,7 +85,7 @@
|
||||||
</StructuredListCell>
|
</StructuredListCell>
|
||||||
</StructuredListRow>
|
</StructuredListRow>
|
||||||
</StructuredListBody>
|
</StructuredListBody>
|
||||||
</StructuredListWrapper>
|
</StructuredList>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</Layout>
|
</Layout>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let defaultSelected = undefined;
|
export let selected = undefined;
|
||||||
export let border = false;
|
export let border = false;
|
||||||
export let selection = false;
|
export let selection = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
@ -12,18 +12,18 @@
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
let selected = writable(defaultSelected);
|
let selectedValue = writable(selected);
|
||||||
|
|
||||||
setContext('StructuredListWrapper', {
|
setContext('StructuredListWrapper', {
|
||||||
selected,
|
selectedValue,
|
||||||
update: value => {
|
update: value => {
|
||||||
selected.set(value);
|
selectedValue.set(value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$: selected = $selectedValue;
|
||||||
$: {
|
$: {
|
||||||
defaultSelected = $selected;
|
dispatch('change', $selectedValue);
|
||||||
dispatch('change', $selected);
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -32,8 +32,8 @@
|
||||||
on:mouseover
|
on:mouseover
|
||||||
on:mouseenter
|
on:mouseenter
|
||||||
on:mouseleave
|
on:mouseleave
|
||||||
class={cx('--structured-list', border && '--structured-list--border', selection && '--structured-list--selection', className)}
|
|
||||||
aria-label={$$props['aria-label'] || 'Structured list section'}
|
aria-label={$$props['aria-label'] || 'Structured list section'}
|
||||||
|
class={cx('--structured-list', border && '--structured-list--border', selection && '--structured-list--selection', className)}
|
||||||
{style}>
|
{style}>
|
||||||
<slot />
|
<slot />
|
||||||
</section>
|
</section>
|
|
@ -1,23 +1,23 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
|
||||||
export let value = 'value';
|
|
||||||
export let title = 'title';
|
|
||||||
export let name = '';
|
|
||||||
export let checked = false;
|
export let checked = false;
|
||||||
|
export let id = Math.random();
|
||||||
|
export let name = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let title = 'title';
|
||||||
|
export let value = 'value';
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const { selected, update } = getContext('StructuredListWrapper');
|
const { selectedValue, update } = getContext('StructuredListWrapper');
|
||||||
|
|
||||||
if (checked) {
|
if (checked) {
|
||||||
update(value);
|
update(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
$: checked = $selected === value;
|
$: checked = $selectedValue === value;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
|
@ -27,9 +27,9 @@
|
||||||
on:change={() => {
|
on:change={() => {
|
||||||
update(value);
|
update(value);
|
||||||
}}
|
}}
|
||||||
{value}
|
{checked}
|
||||||
{name}
|
|
||||||
{title}
|
|
||||||
{style}
|
|
||||||
{id}
|
{id}
|
||||||
{checked} />
|
{name}
|
||||||
|
{style}
|
||||||
|
{title}
|
||||||
|
{value} />
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let head = false;
|
export let head = false;
|
||||||
export let label = false;
|
export let label = false;
|
||||||
export let tabindex = '0';
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
|
import StructuredList from './StructuredList.svelte';
|
||||||
|
|
||||||
|
export default StructuredList;
|
||||||
|
|
||||||
export { default as StructuredListSkeleton } from './StructuredList.Skeleton.svelte';
|
export { default as StructuredListSkeleton } from './StructuredList.Skeleton.svelte';
|
||||||
export { default as StructuredListBody } from './StructuredListBody.svelte';
|
export { default as StructuredListBody } from './StructuredListBody.svelte';
|
||||||
export { default as StructuredListHead } from './StructuredListHead.svelte';
|
export { default as StructuredListHead } from './StructuredListHead.svelte';
|
||||||
export { default as StructuredListCell } from './StructuredListCell.svelte';
|
export { default as StructuredListCell } from './StructuredListCell.svelte';
|
||||||
export { default as StructuredListRow } from './StructuredListRow.svelte';
|
export { default as StructuredListRow } from './StructuredListRow.svelte';
|
||||||
export { default as StructuredListInput } from './StructuredListInput.svelte';
|
export { default as StructuredListInput } from './StructuredListInput.svelte';
|
||||||
export { default as StructuredListWrapper } from './StructuredListWrapper.svelte';
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let role = 'presentation';
|
|
||||||
export let label = '';
|
|
||||||
export let tabindex = '0';
|
|
||||||
export let href = '#';
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
export let href = '#';
|
||||||
|
export let label = '';
|
||||||
|
export let role = 'presentation';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
export let story = undefined;
|
export let story = undefined;
|
||||||
|
|
||||||
import Layout from '../../internal/ui/Layout.svelte';
|
import Layout from '../../internal/ui/Layout.svelte';
|
||||||
import Tabs from './Tabs.svelte';
|
|
||||||
import Tab from './Tab.svelte';
|
import Tab from './Tab.svelte';
|
||||||
import TabContent from './TabContent.svelte';
|
import TabContent from './TabContent.svelte';
|
||||||
|
import Tabs from './Tabs.svelte';
|
||||||
import TabsSkeleton from './TabsSkeleton.svelte';
|
import TabsSkeleton from './TabsSkeleton.svelte';
|
||||||
|
|
||||||
const { tabProps, ...tabsProps } = $$props;
|
const { tabProps, ...tabsProps } = $$props;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let selected = 0;
|
|
||||||
export let iconDescription = 'Show menu options';
|
export let iconDescription = 'Show menu options';
|
||||||
export let role = 'navigation';
|
export let role = 'navigation';
|
||||||
export let type = 'default';
|
export let selected = 0;
|
||||||
export let triggerHref = '#';
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let triggerHref = '#';
|
||||||
|
export let type = 'default';
|
||||||
|
|
||||||
import { createEventDispatcher, setContext } from 'svelte';
|
import { createEventDispatcher, setContext } from 'svelte';
|
||||||
import { writable, derived } from 'svelte/store';
|
import { writable, derived } from 'svelte/store';
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<script>
|
<script>
|
||||||
export let story = undefined;
|
|
||||||
export let type = undefined;
|
|
||||||
export let disabled = undefined;
|
export let disabled = undefined;
|
||||||
export let filter = undefined;
|
export let filter = undefined;
|
||||||
export let slot = undefined;
|
export let slot = undefined;
|
||||||
|
export let story = undefined;
|
||||||
|
export let type = undefined;
|
||||||
|
|
||||||
import Layout from '../../internal/ui/Layout.svelte';
|
import Layout from '../../internal/ui/Layout.svelte';
|
||||||
import Tag from './Tag.svelte';
|
import Tag from './Tag.svelte';
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let type = undefined;
|
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let filter = false;
|
export let filter = false;
|
||||||
export let title = 'Clear filter';
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let title = 'Clear filter';
|
||||||
|
export let type = undefined;
|
||||||
|
|
||||||
import Close16 from 'carbon-icons-svelte/lib/Close16';
|
import Close16 from 'carbon-icons-svelte/lib/Close16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let rows = 4;
|
|
||||||
export let cols = 50;
|
export let cols = 50;
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let id = Math.random();
|
|
||||||
export let labelText = '';
|
|
||||||
export let placeholder = '';
|
|
||||||
export let value = '';
|
|
||||||
export let invalid = false;
|
|
||||||
export let invalidText = '';
|
|
||||||
export let helperText = '';
|
export let helperText = '';
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
|
export let id = Math.random();
|
||||||
|
export let invalid = false;
|
||||||
|
export let invalidText = '';
|
||||||
|
export let labelText = '';
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let placeholder = '';
|
||||||
|
export let rows = 4;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -2,21 +2,21 @@
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let id = Math.random();
|
|
||||||
export let labelText = '';
|
|
||||||
export let placeholder = '';
|
|
||||||
export let type = 'password';
|
|
||||||
export let value = '';
|
|
||||||
export let invalid = false;
|
|
||||||
export let invalidText = '';
|
|
||||||
export let helperText = '';
|
export let helperText = '';
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let light = false;
|
|
||||||
export let tooltipPosition = 'bottom';
|
|
||||||
export let tooltipAlignment = 'center';
|
|
||||||
export let hidePasswordLabel = 'Hide password';
|
export let hidePasswordLabel = 'Hide password';
|
||||||
|
export let id = Math.random();
|
||||||
|
export let invalid = false;
|
||||||
|
export let invalidText = '';
|
||||||
|
export let labelText = '';
|
||||||
|
export let light = false;
|
||||||
|
export let placeholder = '';
|
||||||
export let showPasswordLabel = 'Show password';
|
export let showPasswordLabel = 'Show password';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tooltipAlignment = 'center';
|
||||||
|
export let tooltipPosition = 'bottom';
|
||||||
|
export let type = 'password';
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
||||||
import View16 from 'carbon-icons-svelte/lib/View16';
|
import View16 from 'carbon-icons-svelte/lib/View16';
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
export let story = undefined;
|
export let story = undefined;
|
||||||
|
|
||||||
import Layout from '../../internal/ui/Layout.svelte';
|
import Layout from '../../internal/ui/Layout.svelte';
|
||||||
import TextInput from './TextInput.svelte';
|
|
||||||
import PasswordInput from './PasswordInput.svelte';
|
import PasswordInput from './PasswordInput.svelte';
|
||||||
|
import TextInput from './TextInput.svelte';
|
||||||
import TextInputSkeleton from './TextInput.Skeleton.svelte';
|
import TextInputSkeleton from './TextInput.Skeleton.svelte';
|
||||||
|
|
||||||
let value = '';
|
let value = '';
|
||||||
|
|
|
@ -2,17 +2,17 @@
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let id = Math.random();
|
|
||||||
export let labelText = '';
|
|
||||||
export let placeholder = '';
|
|
||||||
export let type = '';
|
|
||||||
export let value = '';
|
|
||||||
export let invalid = false;
|
|
||||||
export let invalidText = '';
|
|
||||||
export let helperText = '';
|
export let helperText = '';
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
|
export let id = Math.random();
|
||||||
|
export let invalid = false;
|
||||||
|
export let invalidText = '';
|
||||||
|
export let labelText = '';
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let placeholder = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let type = '';
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let href = undefined;
|
|
||||||
export let rel = undefined;
|
|
||||||
export let light = false;
|
|
||||||
export let clicked = false;
|
export let clicked = false;
|
||||||
|
export let href = undefined;
|
||||||
|
export let light = false;
|
||||||
|
export let rel = undefined;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
|
@ -3,26 +3,26 @@
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let expanded = false;
|
export let expanded = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let light = false;
|
||||||
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
export let tileCollapsedIconText = 'Interact to expand Tile';
|
export let tileCollapsedIconText = 'Interact to expand Tile';
|
||||||
export let tileExpandedIconText = 'Interact to collapse Tile';
|
export let tileExpandedIconText = 'Interact to collapse Tile';
|
||||||
export let tileMaxHeight = 0;
|
export let tileMaxHeight = 0;
|
||||||
export let tilePadding = 0;
|
export let tilePadding = 0;
|
||||||
export let tabindex = '0';
|
|
||||||
export let light = false;
|
|
||||||
export let style = undefined;
|
|
||||||
|
|
||||||
import { onMount, afterUpdate } from 'svelte';
|
import { onMount, afterUpdate } from 'svelte';
|
||||||
import ChevronDown16 from 'carbon-icons-svelte/lib/ChevronDown16';
|
import ChevronDown16 from 'carbon-icons-svelte/lib/ChevronDown16';
|
||||||
import { cx } from '../../lib';
|
import { cx, css } from '../../lib';
|
||||||
|
|
||||||
let tile = undefined;
|
let tileRef = undefined;
|
||||||
let tileContent = undefined;
|
let contentRef = undefined;
|
||||||
let aboveTheFold = undefined;
|
let aboveRef = undefined;
|
||||||
|
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
const style = window.getComputedStyle(tile);
|
const style = window.getComputedStyle(tileRef);
|
||||||
|
|
||||||
tileMaxHeight = aboveTheFold.getBoundingClientRect().height;
|
tileMaxHeight = aboveRef.getBoundingClientRect().height;
|
||||||
tilePadding =
|
tilePadding =
|
||||||
parseInt(style.getPropertyValue('padding-top'), 10) +
|
parseInt(style.getPropertyValue('padding-top'), 10) +
|
||||||
parseInt(style.getPropertyValue('padding-bottom'), 10);
|
parseInt(style.getPropertyValue('padding-bottom'), 10);
|
||||||
|
@ -30,15 +30,15 @@
|
||||||
|
|
||||||
afterUpdate(() => {
|
afterUpdate(() => {
|
||||||
tileMaxHeight = expanded
|
tileMaxHeight = expanded
|
||||||
? tileContent.getBoundingClientRect().height
|
? contentRef.getBoundingClientRect().height
|
||||||
: aboveTheFold.getBoundingClientRect().height;
|
: aboveRef.getBoundingClientRect().height;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
bind:this={tile}
|
bind:this={tileRef}
|
||||||
style={expanded ? undefined : `max-height: ${tileMaxHeight + tilePadding}px`}
|
|
||||||
class={cx('--tile', '--tile--expandable', expanded && '--tile--is-expanded', light && '--tile--light', className)}
|
class={cx('--tile', '--tile--expandable', expanded && '--tile--is-expanded', light && '--tile--light', className)}
|
||||||
|
style={expanded ? undefined : css([style, `max-height: ${tileMaxHeight + tilePadding}px`])}
|
||||||
on:click
|
on:click
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
expanded = !expanded;
|
expanded = !expanded;
|
||||||
|
@ -54,11 +54,17 @@
|
||||||
on:mouseenter
|
on:mouseenter
|
||||||
on:mouseleave
|
on:mouseleave
|
||||||
{tabindex}
|
{tabindex}
|
||||||
{id}
|
{id}>
|
||||||
{style}>
|
<div bind:this={contentRef}>
|
||||||
<div bind:this={tileContent}>
|
<div bind:this={aboveRef} class={cx('--tile-content')}>
|
||||||
<div bind:this={aboveTheFold} class={cx('--tile-content')}>
|
<span
|
||||||
<slot name="above" />
|
on:click
|
||||||
|
on:mouseover
|
||||||
|
on:mouseenter
|
||||||
|
on:mouseleave
|
||||||
|
class={cx('--tile-content__above-the-fold')}>
|
||||||
|
<slot name="above" />
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
aria-expanded={expanded}
|
aria-expanded={expanded}
|
||||||
|
@ -67,7 +73,14 @@
|
||||||
<ChevronDown16 />
|
<ChevronDown16 />
|
||||||
</button>
|
</button>
|
||||||
<div class={cx('--tile-content')}>
|
<div class={cx('--tile-content')}>
|
||||||
<slot name="below" />
|
<span
|
||||||
|
on:click
|
||||||
|
on:mouseover
|
||||||
|
on:mouseenter
|
||||||
|
on:mouseleave
|
||||||
|
class={cx('--tile-content__below-the-fold')}>
|
||||||
|
<slot name="below" />
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,23 +2,23 @@
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let checked = false;
|
export let checked = false;
|
||||||
export let id = Math.random();
|
|
||||||
export let name = '';
|
|
||||||
export let iconDescription = 'Tile checkmark';
|
export let iconDescription = 'Tile checkmark';
|
||||||
export let value = '';
|
export let id = Math.random();
|
||||||
export let tabindex = '0';
|
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let name = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
|
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const { addTile, updateSelected, selected } = getContext('TileGroup');
|
const { add, update, selectedValue } = getContext('TileGroup');
|
||||||
|
|
||||||
addTile({ id, value, checked });
|
add({ value, checked });
|
||||||
|
|
||||||
$: checked = value === $selected.value;
|
$: checked = value === $selectedValue;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
class={cx('--tile-input')}
|
class={cx('--tile-input')}
|
||||||
on:change
|
on:change
|
||||||
on:change={() => {
|
on:change={() => {
|
||||||
updateSelected({ id, value });
|
update(value);
|
||||||
}}
|
}}
|
||||||
{id}
|
{id}
|
||||||
{name}
|
{name}
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
on:keydown={event => {
|
on:keydown={event => {
|
||||||
if (event.key === ' ' || event.key === 'Enter') {
|
if (event.key === ' ' || event.key === 'Enter') {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
updateSelected({ id, value });
|
update(value);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
{tabindex}
|
{tabindex}
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let selected = false;
|
|
||||||
export let id = Math.random();
|
|
||||||
export let value = 'value';
|
|
||||||
export let title = 'title';
|
|
||||||
export let name = '';
|
|
||||||
export let iconDescription = 'Tile checkmark';
|
export let iconDescription = 'Tile checkmark';
|
||||||
export let tabindex = '0';
|
export let id = Math.random();
|
||||||
export let light = false;
|
export let light = false;
|
||||||
|
export let name = '';
|
||||||
|
export let selected = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let tabindex = '0';
|
||||||
|
export let title = 'title';
|
||||||
|
export let value = 'value';
|
||||||
|
|
||||||
import { createEventDispatcher } from 'svelte';
|
import { createEventDispatcher } from 'svelte';
|
||||||
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
|
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
|
||||||
|
@ -17,16 +17,13 @@
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
$: if (selected) {
|
$: dispatch(selected ? 'select' : 'deselect', id);
|
||||||
dispatch('select', id);
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
class={cx('--tile-input')}
|
class={cx('--tile-input')}
|
||||||
on:change
|
|
||||||
checked={selected}
|
checked={selected}
|
||||||
{id}
|
{id}
|
||||||
{value}
|
{value}
|
||||||
|
|
|
@ -2,14 +2,12 @@
|
||||||
export let story = undefined;
|
export let story = undefined;
|
||||||
|
|
||||||
import Layout from '../../internal/ui/Layout.svelte';
|
import Layout from '../../internal/ui/Layout.svelte';
|
||||||
import Tile from './Tile.svelte';
|
|
||||||
import ClickableTile from './ClickableTile.svelte';
|
import ClickableTile from './ClickableTile.svelte';
|
||||||
import SelectableTile from './SelectableTile.svelte';
|
|
||||||
import ExpandableTile from './ExpandableTile.svelte';
|
import ExpandableTile from './ExpandableTile.svelte';
|
||||||
import TileAboveTheFoldContent from './TileAboveTheFoldContent.svelte';
|
|
||||||
import TileBelowTheFoldContent from './TileBelowTheFoldContent.svelte';
|
|
||||||
import TileGroup from './TileGroup.svelte';
|
|
||||||
import RadioTile from './RadioTile.svelte';
|
import RadioTile from './RadioTile.svelte';
|
||||||
|
import SelectableTile from './SelectableTile.svelte';
|
||||||
|
import Tile from './Tile.svelte';
|
||||||
|
import TileGroup from './TileGroup.svelte';
|
||||||
|
|
||||||
const radioTiles = [
|
const radioTiles = [
|
||||||
{ value: 'standard', id: 'tile-1', labelText: 'Selectable Tile' },
|
{ value: 'standard', id: 'tile-1', labelText: 'Selectable Tile' },
|
||||||
|
@ -17,7 +15,9 @@
|
||||||
{ value: 'selected', id: 'tile-3', labelText: 'Selectable Tile' }
|
{ value: 'selected', id: 'tile-3', labelText: 'Selectable Tile' }
|
||||||
];
|
];
|
||||||
|
|
||||||
let defaultSelected = radioTiles[1];
|
let selected = radioTiles[1].value;
|
||||||
|
|
||||||
|
let selectedTile1 = false;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
|
@ -28,28 +28,32 @@
|
||||||
<ClickableTile {...$$props}>Clickable Tile</ClickableTile>
|
<ClickableTile {...$$props}>Clickable Tile</ClickableTile>
|
||||||
{:else if story === 'multi-select'}
|
{:else if story === 'multi-select'}
|
||||||
<div role="group" aria-label="selectable tiles">
|
<div role="group" aria-label="selectable tiles">
|
||||||
<SelectableTile {...$$props} id="tile-1" name="tiles">Multi-select Tile</SelectableTile>
|
<SelectableTile
|
||||||
|
{...$$props}
|
||||||
|
id="tile-1"
|
||||||
|
name="tiles"
|
||||||
|
bind:selected={selectedTile1}
|
||||||
|
on:select={({ detail }) => {
|
||||||
|
console.log('on:select', detail);
|
||||||
|
}}
|
||||||
|
on:deselect={({ detail }) => {
|
||||||
|
console.log('on:deselect', detail);
|
||||||
|
}}>
|
||||||
|
Multi-select Tile
|
||||||
|
</SelectableTile>
|
||||||
<SelectableTile {...$$props} id="tile-2" name="tiles">Multi-select Tile</SelectableTile>
|
<SelectableTile {...$$props} id="tile-2" name="tiles">Multi-select Tile</SelectableTile>
|
||||||
<SelectableTile {...$$props} id="tile-3" name="tiles">Multi-select Tile</SelectableTile>
|
<SelectableTile {...$$props} id="tile-3" name="tiles">Multi-select Tile</SelectableTile>
|
||||||
</div>
|
</div>
|
||||||
{:else if story === 'selectable'}
|
{:else if story === 'selectable'}
|
||||||
<TileGroup legend="Selectable Tile Group" bind:defaultSelected>
|
<TileGroup legend="Selectable Tile Group" bind:selected>
|
||||||
{#each radioTiles as { value, id, labelText }, i (id)}
|
{#each radioTiles as { value, id, labelText }, i (id)}
|
||||||
<RadioTile {...$$props} {value} {id} {labelText}>Selectable Tile</RadioTile>
|
<RadioTile {...$$props} {value} {id} {labelText}>Selectable Tile</RadioTile>
|
||||||
{/each}
|
{/each}
|
||||||
</TileGroup>
|
</TileGroup>
|
||||||
{:else if story === 'expandable'}
|
{:else if story === 'expandable'}
|
||||||
<ExpandableTile {...$$props}>
|
<ExpandableTile {...$$props}>
|
||||||
<div slot="above">
|
<div slot="above" style="height: 200px">Above the fold content here</div>
|
||||||
<TileAboveTheFoldContent>
|
<div slot="below" style="height: 400px">Below the fold content here</div>
|
||||||
<div style="height: 200px">Above the fold content here</div>
|
|
||||||
</TileAboveTheFoldContent>
|
|
||||||
</div>
|
|
||||||
<div slot="below">
|
|
||||||
<TileBelowTheFoldContent>
|
|
||||||
<div style="height: 400px">Below the fold content here</div>
|
|
||||||
</TileBelowTheFoldContent>
|
|
||||||
</div>
|
|
||||||
</ExpandableTile>
|
</ExpandableTile>
|
||||||
{:else}
|
{:else}
|
||||||
<Tile {...$$props}>Default Tile</Tile>
|
<Tile {...$$props}>Default Tile</Tile>
|
||||||
|
|
|
@ -26,6 +26,8 @@ export const MultiSelect = () => ({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
MultiSelect.story = { name: 'Multi-select' };
|
||||||
|
|
||||||
export const Selectable = () => ({
|
export const Selectable = () => ({
|
||||||
Component,
|
Component,
|
||||||
props: {
|
props: {
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
<script>
|
|
||||||
let className = undefined;
|
|
||||||
export { className as class };
|
|
||||||
export let style = undefined;
|
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<span
|
|
||||||
on:click
|
|
||||||
on:mouseover
|
|
||||||
on:mouseenter
|
|
||||||
on:mouseleave
|
|
||||||
class={cx('--tile-content__above-the-fold', className)}
|
|
||||||
{style}>
|
|
||||||
<slot />
|
|
||||||
</span>
|
|
|
@ -1,17 +0,0 @@
|
||||||
<script>
|
|
||||||
let className = undefined;
|
|
||||||
export { className as class };
|
|
||||||
export let style = undefined;
|
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<span
|
|
||||||
on:click
|
|
||||||
on:mouseover
|
|
||||||
on:mouseenter
|
|
||||||
on:mouseleave
|
|
||||||
class={cx('--tile-content__below-the-fold', className)}
|
|
||||||
{style}>
|
|
||||||
<slot />
|
|
||||||
</span>
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let defaultSelected = { value: undefined };
|
export let selected = undefined;
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let legend = '';
|
export let legend = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
@ -11,44 +11,30 @@
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
let tiles = [];
|
|
||||||
let selected = writable(defaultSelected);
|
let selectedValue = writable(selected);
|
||||||
|
|
||||||
setContext('TileGroup', {
|
setContext('TileGroup', {
|
||||||
selected,
|
selectedValue,
|
||||||
addTile: tile => {
|
add: ({ checked, value }) => {
|
||||||
tiles = [...tiles, tile];
|
if (checked) {
|
||||||
|
selectedValue.set(value);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
updateSelected: tile => {
|
update: value => {
|
||||||
selected.set(tile);
|
selectedValue.set(value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$: selected = $selectedValue;
|
||||||
$: {
|
$: {
|
||||||
const checkedTiles = tiles.filter(tile => tile.checked);
|
dispatch('select', $selectedValue);
|
||||||
|
|
||||||
if (checkedTiles.length > 1) {
|
|
||||||
console.warn('Multiple RadioTiles cannot be checked.');
|
|
||||||
|
|
||||||
if (defaultSelected.value) {
|
|
||||||
console.warn('Using `defaultSelected`:', defaultSelected);
|
|
||||||
} else {
|
|
||||||
console.warn('Using `RadioTile`:', checkedTiles[0]);
|
|
||||||
selected.set(checkedTiles[0]);
|
|
||||||
}
|
|
||||||
} else if (checkedTiles.length === 1) {
|
|
||||||
selected.set(checkedTiles[0]);
|
|
||||||
tiles = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultSelected = $selected;
|
|
||||||
dispatch('select', $selected);
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<fieldset class={cx('--tile-group', className)} {disabled} {style}>
|
<fieldset class={cx('--tile-group', className)} {disabled} {style}>
|
||||||
{#if legend}
|
{#if legend}
|
||||||
<legend>{legend}</legend>
|
<legend class={cx('--label')}>{legend}</legend>
|
||||||
{/if}
|
{/if}
|
||||||
<div>
|
<div>
|
||||||
<slot />
|
<slot />
|
||||||
|
|
|
@ -5,5 +5,3 @@ export { default as ClickableTile } from './ClickableTile.svelte';
|
||||||
export { default as ExpandableTile } from './ExpandableTile.svelte';
|
export { default as ExpandableTile } from './ExpandableTile.svelte';
|
||||||
export { default as SelectableTile } from './SelectableTile.svelte';
|
export { default as SelectableTile } from './SelectableTile.svelte';
|
||||||
export { default as TileGroup } from './TileGroup.svelte';
|
export { default as TileGroup } from './TileGroup.svelte';
|
||||||
export { default as TileAboveTheFoldContent } from './TileAboveTheFoldContent.svelte';
|
|
||||||
export { default as TileBelowTheFoldContent } from './TileBelowTheFoldContent.svelte';
|
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
export let disabled = false;
|
||||||
export let value = '';
|
|
||||||
export let labelText = '';
|
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let type = 'text';
|
export let id = Math.random();
|
||||||
|
export let invalid = false;
|
||||||
|
export let invalidText = 'Invalid time format.';
|
||||||
|
export let labelText = '';
|
||||||
|
export let light = false;
|
||||||
|
export let maxlength = 5;
|
||||||
export let pattern = '(1[012]|[1-9]):[0-5][0-9](\\s)?';
|
export let pattern = '(1[012]|[1-9]):[0-5][0-9](\\s)?';
|
||||||
export let placeholder = 'hh=mm';
|
export let placeholder = 'hh=mm';
|
||||||
export let maxlength = 5;
|
|
||||||
export let invalidText = 'Invalid time format.';
|
|
||||||
export let invalid = false;
|
|
||||||
export let disabled = false;
|
|
||||||
export let light = false;
|
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let type = 'text';
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
<script>
|
<script>
|
||||||
let className = undefined;
|
let className = undefined;
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let id = Math.random();
|
export let disabled = false;
|
||||||
export let value = '';
|
|
||||||
export let labelText = '';
|
|
||||||
export let hideLabel = true;
|
export let hideLabel = true;
|
||||||
export let iconDescription = 'Open list of options';
|
export let iconDescription = 'Open list of options';
|
||||||
export let disabled = false;
|
export let id = Math.random();
|
||||||
|
export let labelText = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
export let value = '';
|
||||||
|
|
||||||
import { setContext } from 'svelte';
|
import { setContext } from 'svelte';
|
||||||
import { writable } from 'svelte/store';
|
import { writable } from 'svelte/store';
|
||||||
import ChevronDownGlyph from 'carbon-icons-svelte/lib/ChevronDownGlyph';
|
import ChevronDownGlyph from 'carbon-icons-svelte/lib/ChevronDownGlyph';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
let selected = writable(value);
|
let selectedValue = writable(value);
|
||||||
|
|
||||||
setContext('TimePickerSelect', { selected });
|
setContext('TimePickerSelect', { selectedValue });
|
||||||
|
|
||||||
$: selected.set(value);
|
$: selectedValue.set(value);
|
||||||
$: value = $selected;
|
$: value = $selectedValue;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
<select
|
<select
|
||||||
class={cx('--select-input')}
|
class={cx('--select-input')}
|
||||||
on:change={({ target }) => {
|
on:change={({ target }) => {
|
||||||
selected.set(target.value);
|
selectedValue.set(target.value);
|
||||||
}}
|
}}
|
||||||
{id}
|
{id}
|
||||||
{disabled}
|
{disabled}
|
||||||
|
|
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