fluent-svelte-extra 1.6.9 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,36 @@
1
+ .grid-view-item {
2
+ outline: transparent solid;
3
+ outline-offset: 2px;
4
+ outline-width: 2px;
5
+ position: relative;
6
+ border-radius: var(--fds-control-corner-radius);
7
+ min-height: 120px;
8
+ min-width: 120px;
9
+ transition: outline var(--fds-control-fast-duration);
10
+
11
+ &.selected {
12
+ outline: var(--fds-accent-default) solid;
13
+ outline-offset: 2px;
14
+ outline-width: 2px;
15
+ .inner-grid-item {
16
+ outline: var(--fds-control-solid-fill-default) solid 2px;
17
+ }
18
+ }
19
+
20
+ & > .item-checkbox {
21
+ position: absolute;
22
+ top: -4px;
23
+ right: 2px;
24
+ overflow: hidden;
25
+ z-index: 1;
26
+ }
27
+
28
+ & > .inner-grid-item {
29
+ overflow: hidden;
30
+ display: flex;
31
+ position: relative;
32
+ border-radius: var(--fds-control-corner-radius);
33
+ outline: transparent solid 2px;
34
+ transition: outline var(--fds-control-fast-duration);
35
+ }
36
+ }
@@ -0,0 +1,33 @@
1
+ <script >import Checkbox from "../Checkbox/Checkbox.svelte";
2
+ /** Indicates the selected state of the grid view item. */
3
+ export let selected = false;
4
+ export let singleSelect = false;
5
+ /**
6
+ * Sets the selected state of the grid view item.
7
+ * @param {boolean} value - The new selected state.
8
+ */
9
+ function setSelected(value) {
10
+ selected = value;
11
+ }
12
+ </script>
13
+
14
+ <div class="grid-view-item" class:selected>
15
+ {#if !singleSelect}
16
+ <div class="item-checkbox">
17
+ <Checkbox bind:checked={selected}></Checkbox>
18
+ </div>
19
+ {/if}
20
+
21
+ <div
22
+ class="inner-grid-item"
23
+ on:click={() => {
24
+ if (singleSelect) {
25
+ setSelected(!selected);
26
+ }
27
+ }}
28
+ >
29
+ <slot {setSelected} />
30
+ </div>
31
+ </div>
32
+
33
+ <style >.grid-view-item{border-radius:var(--fds-control-corner-radius);min-height:120px;min-width:120px;outline:solid transparent;outline-offset:2px;outline-width:2px;position:relative;transition:outline var(--fds-control-fast-duration)}.grid-view-item.selected{outline:var(--fds-accent-default) solid;outline-offset:2px;outline-width:2px}.grid-view-item.selected .inner-grid-item{outline:var(--fds-control-solid-fill-default) solid 2px}.grid-view-item>.item-checkbox{overflow:hidden;position:absolute;right:2px;top:-4px;z-index:1}.grid-view-item>.inner-grid-item{border-radius:var(--fds-control-corner-radius);display:flex;outline:2px solid transparent;overflow:hidden;position:relative;transition:outline var(--fds-control-fast-duration)}</style>
@@ -0,0 +1,21 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ /** Indicates the selected state of the grid view item. */ selected?: boolean;
5
+ singleSelect?: boolean;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {
11
+ default: {
12
+ setSelected: (value: boolean) => void;
13
+ };
14
+ };
15
+ };
16
+ export declare type GridViewItemProps = typeof __propDef.props;
17
+ export declare type GridViewItemEvents = typeof __propDef.events;
18
+ export declare type GridViewItemSlots = typeof __propDef.slots;
19
+ export default class GridViewItem extends SvelteComponentTyped<GridViewItemProps, GridViewItemEvents, GridViewItemSlots> {
20
+ }
21
+ export {};
package/index.d.ts CHANGED
@@ -33,3 +33,4 @@ export { default as RangeSlider } from "./RangeSlider/RangeSlider.svelte";
33
33
  export { default as Flipper } from "./Flipper/Flipper.svelte";
34
34
  export { default as ExpandMenu } from "./ExpandMenu/ExpandMenu.svelte";
35
35
  export { default as TextArea } from "./TextArea/TextArea.svelte";
36
+ export { default as GridViewItem } from "./GridView/GridViewItem.svelte";
package/index.js CHANGED
@@ -33,3 +33,4 @@ export { default as RangeSlider } from "./RangeSlider/RangeSlider.svelte";
33
33
  export { default as Flipper } from "./Flipper/Flipper.svelte";
34
34
  export { default as ExpandMenu } from "./ExpandMenu/ExpandMenu.svelte";
35
35
  export { default as TextArea } from "./TextArea/TextArea.svelte";
36
+ export { default as GridViewItem } from "./GridView/GridViewItem.svelte";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluent-svelte-extra",
3
- "version": "1.6.9",
3
+ "version": "1.7.0",
4
4
  "description": "A faithful implementation of Microsoft's Fluent Design System in Svelte.",
5
5
  "homepage": "https://github.com/OpenAnime/fluent-svelte-extra",
6
6
  "license": "MIT",
@@ -102,6 +102,8 @@
102
102
  "./Flyout/FlyoutSurface.svelte": "./Flyout/FlyoutSurface.svelte",
103
103
  "./Flyout/FlyoutWrapper.scss": "./Flyout/FlyoutWrapper.scss",
104
104
  "./Flyout/FlyoutWrapper.svelte": "./Flyout/FlyoutWrapper.svelte",
105
+ "./GridView/GridViewItem.scss": "./GridView/GridViewItem.scss",
106
+ "./GridView/GridViewItem.svelte": "./GridView/GridViewItem.svelte",
105
107
  "./IconButton/IconButton.scss": "./IconButton/IconButton.scss",
106
108
  "./IconButton/IconButton.svelte": "./IconButton/IconButton.svelte",
107
109
  ".": "./index.js",