mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-18 11:36:36 +00:00
feat: support expressive styles for Button, UnorderedList, OrderedList
This commit is contained in:
parent
71a12950af
commit
92ce3b405e
11 changed files with 114 additions and 7 deletions
|
@ -351,6 +351,7 @@ None.
|
||||||
| hasIconOnly | <code>let</code> | Yes | <code>boolean</code> | <code>false</code> | Set to `true` for the icon-only variant |
|
| hasIconOnly | <code>let</code> | Yes | <code>boolean</code> | <code>false</code> | Set to `true` for the icon-only variant |
|
||||||
| kind | <code>let</code> | No | <code>"primary" | "secondary" | "tertiary" | "ghost" | "danger" | "danger-tertiary" | "danger-ghost"</code> | <code>"primary"</code> | Specify the kind of button |
|
| kind | <code>let</code> | No | <code>"primary" | "secondary" | "tertiary" | "ghost" | "danger" | "danger-tertiary" | "danger-ghost"</code> | <code>"primary"</code> | Specify the kind of button |
|
||||||
| size | <code>let</code> | No | <code>"default" | "field" | "small" | "xl"</code> | <code>"default"</code> | Specify the size of button |
|
| size | <code>let</code> | No | <code>"default" | "field" | "small" | "xl"</code> | <code>"default"</code> | Specify the size of button |
|
||||||
|
| expressive | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use Carbon's expressive typesetting |
|
||||||
| isSelected | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to enable the selected state for an icon-only, ghost button |
|
| isSelected | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to enable the selected state for an icon-only, ghost button |
|
||||||
| icon | <code>let</code> | No | <code>typeof import("carbon-icons-svelte").CarbonIcon</code> | -- | Specify the icon from `carbon-icons-svelte` to render |
|
| icon | <code>let</code> | No | <code>typeof import("carbon-icons-svelte").CarbonIcon</code> | -- | Specify the icon from `carbon-icons-svelte` to render |
|
||||||
| iconDescription | <code>let</code> | No | <code>string</code> | -- | Specify the ARIA label for the button icon |
|
| iconDescription | <code>let</code> | No | <code>string</code> | -- | Specify the ARIA label for the button icon |
|
||||||
|
@ -2540,10 +2541,11 @@ None.
|
||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| Prop name | Kind | Reactive | Type | Default value | Description |
|
| Prop name | Kind | Reactive | Type | Default value | Description |
|
||||||
| :-------- | :--------------- | :------- | :------------------- | ------------------ | --------------------------------------- |
|
| :--------- | :--------------- | :------- | :------------------- | ------------------ | ---------------------------------------------------- |
|
||||||
| nested | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use the nested variant |
|
| nested | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use the nested variant |
|
||||||
| native | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use native list styles |
|
| native | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use native list styles |
|
||||||
|
| expressive | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use Carbon's expressive typesetting |
|
||||||
|
|
||||||
### Slots
|
### Slots
|
||||||
|
|
||||||
|
@ -4563,9 +4565,10 @@ None.
|
||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| Prop name | Kind | Reactive | Type | Default value | Description |
|
| Prop name | Kind | Reactive | Type | Default value | Description |
|
||||||
| :-------- | :--------------- | :------- | :------------------- | ------------------ | --------------------------------------- |
|
| :--------- | :--------------- | :------- | :------------------- | ------------------ | ---------------------------------------------------- |
|
||||||
| nested | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use the nested variant |
|
| nested | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use the nested variant |
|
||||||
|
| expressive | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to use Carbon's expressive typesetting |
|
||||||
|
|
||||||
### Slots
|
### Slots
|
||||||
|
|
||||||
|
|
|
@ -368,6 +368,16 @@
|
||||||
"constant": false,
|
"constant": false,
|
||||||
"reactive": false
|
"reactive": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "expressive",
|
||||||
|
"kind": "let",
|
||||||
|
"description": "Set to `true` to use Carbon's expressive typesetting",
|
||||||
|
"type": "boolean",
|
||||||
|
"value": "false",
|
||||||
|
"isFunction": false,
|
||||||
|
"constant": false,
|
||||||
|
"reactive": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "isSelected",
|
"name": "isSelected",
|
||||||
"kind": "let",
|
"kind": "let",
|
||||||
|
@ -6347,6 +6357,16 @@
|
||||||
"isFunction": false,
|
"isFunction": false,
|
||||||
"constant": false,
|
"constant": false,
|
||||||
"reactive": false
|
"reactive": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "expressive",
|
||||||
|
"kind": "let",
|
||||||
|
"description": "Set to `true` to use Carbon's expressive typesetting",
|
||||||
|
"type": "boolean",
|
||||||
|
"value": "false",
|
||||||
|
"isFunction": false,
|
||||||
|
"constant": false,
|
||||||
|
"reactive": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"slots": [{ "name": "__default__", "default": true, "slot_props": "{}" }],
|
"slots": [{ "name": "__default__", "default": true, "slot_props": "{}" }],
|
||||||
|
@ -11490,6 +11510,16 @@
|
||||||
"isFunction": false,
|
"isFunction": false,
|
||||||
"constant": false,
|
"constant": false,
|
||||||
"reactive": false
|
"reactive": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "expressive",
|
||||||
|
"kind": "let",
|
||||||
|
"description": "Set to `true` to use Carbon's expressive typesetting",
|
||||||
|
"type": "boolean",
|
||||||
|
"value": "false",
|
||||||
|
"isFunction": false,
|
||||||
|
"constant": false,
|
||||||
|
"reactive": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"slots": [{ "name": "__default__", "default": true, "slot_props": "{}" }],
|
"slots": [{ "name": "__default__", "default": true, "slot_props": "{}" }],
|
||||||
|
|
|
@ -106,6 +106,24 @@ If an `href` value is specified, the component will render an [anchor element](h
|
||||||
|
|
||||||
<Button disabled>Disabled button</Button>
|
<Button disabled>Disabled button</Button>
|
||||||
|
|
||||||
|
### Expressive styles
|
||||||
|
|
||||||
|
Set `expressive` to `true` to use Carbon's expressive typesetting.
|
||||||
|
|
||||||
|
Note: the expressive styles only apply to the default and `"xl"` size buttons.
|
||||||
|
|
||||||
|
<Button expressive size="xl">Primary</Button>
|
||||||
|
<Button expressive size="xl" kind="secondary">Secondary</Button>
|
||||||
|
<Button expressive size="xl" kind="tertiary">Tertiary</Button>
|
||||||
|
<Button expressive size="xl" kind="ghost">Ghost</Button>
|
||||||
|
<Button expressive size="xl" kind="danger">Danger</Button>
|
||||||
|
<br /><br />
|
||||||
|
<Button expressive>Primary</Button>
|
||||||
|
<Button expressive kind="secondary">Secondary</Button>
|
||||||
|
<Button expressive kind="tertiary">Tertiary</Button>
|
||||||
|
<Button expressive kind="ghost">Ghost</Button>
|
||||||
|
<Button expressive kind="danger">Danger</Button>
|
||||||
|
|
||||||
### Skeleton
|
### Skeleton
|
||||||
|
|
||||||
<Button skeleton />
|
<Button skeleton />
|
||||||
|
|
|
@ -70,3 +70,13 @@ Use the `native` attribute to enable default browser list styles. This is useful
|
||||||
<ListItem>Ordered list level 1</ListItem>
|
<ListItem>Ordered list level 1</ListItem>
|
||||||
<ListItem>Ordered list level 1</ListItem>
|
<ListItem>Ordered list level 1</ListItem>
|
||||||
</OrderedList>
|
</OrderedList>
|
||||||
|
|
||||||
|
### Expressive styles
|
||||||
|
|
||||||
|
Set `expressive` to `true` to use Carbon's expressive typesetting.
|
||||||
|
|
||||||
|
<OrderedList expressive>
|
||||||
|
<ListItem><Link size="lg" href="#">Ordered list item</Link></ListItem>
|
||||||
|
<ListItem>Ordered list item</ListItem>
|
||||||
|
<ListItem>Ordered list item</ListItem>
|
||||||
|
</OrderedList>
|
|
@ -48,3 +48,13 @@ components: ["UnorderedList", "ListItem"]
|
||||||
<ListItem>Unordered list level 1</ListItem>
|
<ListItem>Unordered list level 1</ListItem>
|
||||||
<ListItem>Unordered list level 1</ListItem>
|
<ListItem>Unordered list level 1</ListItem>
|
||||||
</UnorderedList>
|
</UnorderedList>
|
||||||
|
|
||||||
|
### Expressive styles
|
||||||
|
|
||||||
|
Set `expressive` to `true` to use Carbon's expressive typesetting.
|
||||||
|
|
||||||
|
<UnorderedList expressive>
|
||||||
|
<ListItem><Link size="lg" href="#">Unordered list item</Link></ListItem>
|
||||||
|
<ListItem>Unordered list item</ListItem>
|
||||||
|
<ListItem>Unordered list item</ListItem>
|
||||||
|
</UnorderedList>
|
|
@ -17,6 +17,9 @@
|
||||||
*/
|
*/
|
||||||
export let size = "default";
|
export let size = "default";
|
||||||
|
|
||||||
|
/** Set to `true` to use Carbon's expressive typesetting */
|
||||||
|
export let expressive = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set to `true` to enable the selected state for an icon-only, ghost button
|
* Set to `true` to enable the selected state for an icon-only, ghost button
|
||||||
*/
|
*/
|
||||||
|
@ -98,6 +101,13 @@
|
||||||
...$$restProps,
|
...$$restProps,
|
||||||
class: [
|
class: [
|
||||||
"bx--btn",
|
"bx--btn",
|
||||||
|
expressive && "bx--btn--expressive",
|
||||||
|
((size === "small" && !expressive) ||
|
||||||
|
(size === "sm" && !expressive) ||
|
||||||
|
(size === "small" && !expressive)) &&
|
||||||
|
"bx--btn--sm",
|
||||||
|
(size === "field" && !expressive) ||
|
||||||
|
(size === "md" && !expressive && "bx--btn--md"),
|
||||||
size === "field" && "bx--btn--field",
|
size === "field" && "bx--btn--field",
|
||||||
size === "small" && "bx--btn--sm",
|
size === "small" && "bx--btn--sm",
|
||||||
size === "xl" && "bx--btn--xl",
|
size === "xl" && "bx--btn--xl",
|
||||||
|
|
|
@ -4,12 +4,16 @@
|
||||||
|
|
||||||
/** Set to `true` to use native list styles */
|
/** Set to `true` to use native list styles */
|
||||||
export let native = false;
|
export let native = false;
|
||||||
|
|
||||||
|
/** Set to `true` to use Carbon's expressive typesetting */
|
||||||
|
export let expressive = false;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<ol
|
<ol
|
||||||
class:bx--list--ordered="{!native}"
|
class:bx--list--ordered="{!native}"
|
||||||
class:bx--list--ordered--native="{native}"
|
class:bx--list--ordered--native="{native}"
|
||||||
class:bx--list--nested="{nested}"
|
class:bx--list--nested="{nested}"
|
||||||
|
class:bx--list--expressive="{expressive}"
|
||||||
{...$$restProps}
|
{...$$restProps}
|
||||||
on:click
|
on:click
|
||||||
on:mouseover
|
on:mouseover
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
<script>
|
<script>
|
||||||
/** Set to `true` to use the nested variant */
|
/** Set to `true` to use the nested variant */
|
||||||
export let nested = false;
|
export let nested = false;
|
||||||
|
|
||||||
|
/** Set to `true` to use Carbon's expressive typesetting */
|
||||||
|
export let expressive = false;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<ul
|
<ul
|
||||||
class:bx--list--unordered="{true}"
|
class:bx--list--unordered="{true}"
|
||||||
class:bx--list--nested="{nested}"
|
class:bx--list--nested="{nested}"
|
||||||
|
class:bx--list--expressive="{expressive}"
|
||||||
{...$$restProps}
|
{...$$restProps}
|
||||||
on:click
|
on:click
|
||||||
on:mouseover
|
on:mouseover
|
||||||
|
|
6
types/Button/Button.d.ts
vendored
6
types/Button/Button.d.ts
vendored
|
@ -26,6 +26,12 @@ export interface ButtonProps
|
||||||
*/
|
*/
|
||||||
size?: "default" | "field" | "small" | "xl";
|
size?: "default" | "field" | "small" | "xl";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set to `true` to use Carbon's expressive typesetting
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
expressive?: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set to `true` to enable the selected state for an icon-only, ghost button
|
* Set to `true` to enable the selected state for an icon-only, ghost button
|
||||||
* @default false
|
* @default false
|
||||||
|
|
6
types/OrderedList/OrderedList.d.ts
vendored
6
types/OrderedList/OrderedList.d.ts
vendored
|
@ -14,6 +14,12 @@ export interface OrderedListProps
|
||||||
* @default false
|
* @default false
|
||||||
*/
|
*/
|
||||||
native?: boolean;
|
native?: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set to `true` to use Carbon's expressive typesetting
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
expressive?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class OrderedList extends SvelteComponentTyped<
|
export default class OrderedList extends SvelteComponentTyped<
|
||||||
|
|
6
types/UnorderedList/UnorderedList.d.ts
vendored
6
types/UnorderedList/UnorderedList.d.ts
vendored
|
@ -8,6 +8,12 @@ export interface UnorderedListProps
|
||||||
* @default false
|
* @default false
|
||||||
*/
|
*/
|
||||||
nested?: boolean;
|
nested?: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set to `true` to use Carbon's expressive typesetting
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
expressive?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class UnorderedList extends SvelteComponentTyped<
|
export default class UnorderedList extends SvelteComponentTyped<
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue