@anmed/mui-selection 0.0.2

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,134 @@
1
+ <script>import './mui-select-field.scss';
2
+ import { onMount } from "svelte";
3
+ export let dataList = [];
4
+ export let value;
5
+ export let displayKey;
6
+ let pickerColumn;
7
+ let pickerContent;
8
+ let isPointerdown = false;
9
+ let itemHeight = 40;
10
+ let maxY = itemHeight * 2;
11
+ let minY = 0;
12
+ let lastY = 0;
13
+ let diffY = 0;
14
+ let translateY = 0;
15
+ let friction = 0.95; // 摩擦系数
16
+ let distanceY = 0;
17
+ let listHtml = "";
18
+ onMount(() => {
19
+ if (!value && dataList.length != 0) {
20
+ value = dataList[0];
21
+ }
22
+ });
23
+ function handlePointerdown(e) {
24
+ // 如果是鼠标点击,只响应左键
25
+ if (e.pointerType === 'mouse' && e.button !== 0) {
26
+ return;
27
+ }
28
+ pickerColumn.setPointerCapture(e.pointerId);
29
+ isPointerdown = true;
30
+ lastY = e.clientY;
31
+ diffY = 0;
32
+ distanceY = 0;
33
+ getTransform();
34
+ pickerContent.style.transition = 'none';
35
+ }
36
+ function handlePointermove(e) {
37
+ if (isPointerdown) {
38
+ diffY = e.clientY - lastY;
39
+ translateY += diffY;
40
+ lastY = e.clientY;
41
+ }
42
+ }
43
+ function handlePointerup(e) {
44
+ if (isPointerdown) {
45
+ isPointerdown = false;
46
+ getTranslateY();
47
+ // 滑动距离与时长成正比且最短时长为300ms
48
+ const duration = Math.max(Math.abs(distanceY) * 1.5, 300);
49
+ pickerContent.style.transition = 'transform ' + duration + 'ms ease';
50
+ }
51
+ }
52
+ function handlePointercancel(e) {
53
+ if (isPointerdown) {
54
+ isPointerdown = false;
55
+ }
56
+ }
57
+ function getTransform() {
58
+ const transform = window.getComputedStyle(pickerContent).getPropertyValue('transform');
59
+ if (transform !== 'none') {
60
+ translateY = parseFloat(transform.split(',')[5]);
61
+ }
62
+ }
63
+ function getTranslateY() {
64
+ let speed = diffY;
65
+ while (Math.abs(speed) > 1) {
66
+ speed *= friction;
67
+ distanceY += speed;
68
+ }
69
+ // 边界判断
70
+ let y = translateY + distanceY;
71
+ if (y > maxY) {
72
+ translateY = maxY;
73
+ distanceY = maxY - translateY;
74
+ }
75
+ else if (y < minY) {
76
+ translateY = minY;
77
+ distanceY = minY - translateY;
78
+ }
79
+ else {
80
+ translateY = y;
81
+ }
82
+ // 计算停止位置使其为itemHeight的整数倍
83
+ let i = Math.round(translateY / itemHeight);
84
+ translateY = i * itemHeight;
85
+ value = dataList[2 - translateY / itemHeight];
86
+ }
87
+ function getHtmlList(list) {
88
+ let html = '';
89
+ for (const item of list) {
90
+ let displayText = '';
91
+ if ((displayKey?.length ?? 0) === 0) {
92
+ displayText = item.toString();
93
+ }
94
+ else {
95
+ displayText = item[displayKey];
96
+ }
97
+ html += `<li style="line-height: 40px;text-align: center"> ${displayText} </li>`;
98
+ }
99
+ return html;
100
+ }
101
+ function getDefaultTranslateY(data) {
102
+ let dY;
103
+ let indexOf = data.indexOf(value);
104
+ if (indexOf == -1) {
105
+ dY = maxY;
106
+ }
107
+ else if (indexOf > 2) {
108
+ dY = -itemHeight * (indexOf - 2);
109
+ }
110
+ else {
111
+ dY = itemHeight * (2 - indexOf);
112
+ }
113
+ return dY;
114
+ }
115
+ $: minY = itemHeight * (3 - dataList.length);
116
+ $: listHtml = getHtmlList(dataList);
117
+ $: translateY = getDefaultTranslateY(dataList);
118
+ </script>
119
+
120
+ <div class="mui-select-slide-box">
121
+ <div class="mui-select-group">
122
+ <div class="mui-select-column" bind:this={pickerColumn}
123
+ on:pointerdown={handlePointerdown}
124
+ on:pointermove={handlePointermove}
125
+ on:pointerup={handlePointerup}
126
+ on:pointercancel={handlePointercancel}>
127
+ <ul class="mui-select-content" bind:this={pickerContent}
128
+ style="transform: {'translate3d(0px, ' + translateY + 'px, 0px)'}"
129
+ >
130
+ {@html listHtml}
131
+ </ul>
132
+ </div>
133
+ </div>
134
+ </div>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import './mui-select-field.scss';
3
+ declare const __propDef: {
4
+ props: {
5
+ dataList?: any[] | undefined;
6
+ value: any;
7
+ displayKey: string | null;
8
+ };
9
+ events: {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {};
13
+ };
14
+ export type SelectionProps = typeof __propDef.props;
15
+ export type SelectionEvents = typeof __propDef.events;
16
+ export type SelectionSlots = typeof __propDef.slots;
17
+ export default class Selection extends SvelteComponentTyped<SelectionProps, SelectionEvents, SelectionSlots> {
18
+ }
19
+ export {};
@@ -0,0 +1,70 @@
1
+ <script>import CommonField from "@anmed/mui-common-ui/common-field";
2
+ import { createEventDispatcher } from "svelte";
3
+ let dispatcher = createEventDispatcher();
4
+ export let list = [];
5
+ export let value;
6
+ export let keyCode = 'value';
7
+ export let keyText = 'text';
8
+ export let convertText;
9
+ export let label;
10
+ export let readOnly = false;
11
+ export let required = false;
12
+ export let error;
13
+ export let options;
14
+ export let isCardSelection = false;
15
+ let focused;
16
+ let above;
17
+ let displayText;
18
+ const getDisplayText = (item) => {
19
+ let text;
20
+ if (convertText) {
21
+ text = convertText(item);
22
+ }
23
+ else {
24
+ text = item[keyText];
25
+ }
26
+ return text;
27
+ };
28
+ const onCardItemClick = (item) => {
29
+ if (!readOnly) {
30
+ value = item;
31
+ }
32
+ };
33
+ $: {
34
+ let selectItem = list.find((item) => item[keyCode] == value);
35
+ if (selectItem) {
36
+ displayText = getDisplayText(selectItem);
37
+ }
38
+ else {
39
+ displayText = '';
40
+ }
41
+ }
42
+ $: above = focused || displayText.toString().length != 0 || isCardSelection;
43
+ const handlerClick = () => {
44
+ if (!readOnly && !isCardSelection) {
45
+ dispatcher('action', value);
46
+ }
47
+ };
48
+ </script>
49
+
50
+ <div on:click={handlerClick}>
51
+
52
+ {#if isCardSelection}
53
+ <CommonField {label} {required} bind:focused {above} {error}>
54
+ <div class="card-select-box">
55
+ {#each list as item}
56
+ <span class="{item === value? 'card-select-item-selected' :'card-select-item-normal'}"
57
+ on:click={()=>onCardItemClick(item)}>{getDisplayText(item)}</span>
58
+ {/each}
59
+ </div>
60
+ </CommonField>
61
+ {:else }
62
+ <CommonField {label} {required} bind:focused {above} {error}>
63
+ <span class="mui-select-field-text">{displayText}</span>
64
+ <div slot="trailing-icon">
65
+ <span class="triangle-down"></span>
66
+ </div>
67
+ </CommonField>
68
+ {/if}
69
+
70
+ </div>
@@ -0,0 +1,28 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ list?: any[] | undefined;
5
+ value: any;
6
+ keyCode?: string | undefined;
7
+ keyText?: string | undefined;
8
+ convertText: (item: any) => string;
9
+ label: string | null;
10
+ readOnly?: boolean | undefined;
11
+ required?: boolean | undefined;
12
+ error: any;
13
+ options: any;
14
+ isCardSelection?: boolean | undefined;
15
+ };
16
+ events: {
17
+ action: CustomEvent<any>;
18
+ } & {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export type SelectionFieldProps = typeof __propDef.props;
24
+ export type SelectionFieldEvents = typeof __propDef.events;
25
+ export type SelectionFieldSlots = typeof __propDef.slots;
26
+ export default class SelectionField extends SvelteComponentTyped<SelectionFieldProps, SelectionFieldEvents, SelectionFieldSlots> {
27
+ }
28
+ export {};
@@ -0,0 +1,54 @@
1
+ <script>import { createEventDispatcher } from "svelte";
2
+ import Button from "@anmed/mui-buttons";
3
+ import SelectField from "./Selection.svelte";
4
+ export let visible;
5
+ export let title;
6
+ export let style;
7
+ export let dataList = [];
8
+ export let value;
9
+ export let displayKey;
10
+ const dispatch = createEventDispatcher();
11
+ const handleItemSelected = (item) => {
12
+ dispatch('select', value);
13
+ };
14
+ </script>
15
+ <div class="box" {style}>
16
+ <div>
17
+ {#if title}
18
+ <div class="title">
19
+ <span>{title}</span>
20
+ </div>
21
+ {/if}
22
+ <div>
23
+ <SelectField bind:value={value} bind:dataList={dataList} bind:displayKey={displayKey}/>
24
+ </div>
25
+ <div class="bottom_button_tab">
26
+ <Button round label="取消" on:click={()=>visible =false}/>
27
+ <Button round label="确认" on:click={handleItemSelected}/>
28
+ </div>
29
+ </div>
30
+ </div>
31
+
32
+ <style>
33
+
34
+ .box {
35
+ background-color: white;
36
+ border-top-right-radius: 15px;
37
+ border-top-left-radius: 15px;
38
+ }
39
+
40
+ .title {
41
+ padding: 15px;
42
+ text-align: center;
43
+ color: #333333;
44
+ font-size: 15px;
45
+ font-weight: bold;
46
+ }
47
+
48
+ .bottom_button_tab {
49
+ display: flex;
50
+ flex-direction: row;
51
+ justify-content: space-around;
52
+ align-items: center;
53
+ }
54
+ </style>
@@ -0,0 +1,23 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ visible: boolean;
5
+ title: string | null;
6
+ style: any;
7
+ dataList?: any[] | undefined;
8
+ value: any;
9
+ displayKey: string | null;
10
+ };
11
+ events: {
12
+ select: CustomEvent<any>;
13
+ } & {
14
+ [evt: string]: CustomEvent<any>;
15
+ };
16
+ slots: {};
17
+ };
18
+ export type SelectionSpinnerProps = typeof __propDef.props;
19
+ export type SelectionSpinnerEvents = typeof __propDef.events;
20
+ export type SelectionSpinnerSlots = typeof __propDef.slots;
21
+ export default class SelectionSpinner extends SvelteComponentTyped<SelectionSpinnerProps, SelectionSpinnerEvents, SelectionSpinnerSlots> {
22
+ }
23
+ export {};
@@ -0,0 +1,46 @@
1
+ <script>import { createEventDispatcher } from "svelte";
2
+ export let visible;
3
+ export let title;
4
+ export let style;
5
+ export let list = [];
6
+ export let value;
7
+ export let keyField = 'value';
8
+ export let textField = 'text';
9
+ export let convertText;
10
+ export let itemSelect;
11
+ const dispatch = createEventDispatcher();
12
+ const handleItemSelected = (item) => {
13
+ dispatch('select', item);
14
+ if (itemSelect) {
15
+ itemSelect(item);
16
+ }
17
+ value = item[keyField];
18
+ };
19
+ const getDisplayText = (item) => {
20
+ let displayText = '';
21
+ if (item) {
22
+ if (convertText) {
23
+ displayText = convertText(item);
24
+ }
25
+ else {
26
+ displayText = item[textField];
27
+ }
28
+ }
29
+ else {
30
+ displayText = '';
31
+ }
32
+ return displayText;
33
+ };
34
+ </script>
35
+
36
+ <div class="single-click-selection-box" {style}>
37
+ {#if title}
38
+ <span class="single-click-selection-title">{title}</span>
39
+ {/if}
40
+ <ul class="single-click-selection-ul">
41
+ {#each list as data}
42
+ <li on:click={()=>handleItemSelected(data)}
43
+ class={value === data[keyField] ? 'single-click-selection-li-selected':'single-click-selection-li-normal'}> {getDisplayText(data)}</li>
44
+ {/each}
45
+ </ul>
46
+ </div>
@@ -0,0 +1,26 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ visible: boolean;
5
+ title: string | null;
6
+ style: any;
7
+ list?: any[] | undefined;
8
+ value: any;
9
+ keyField?: string | undefined;
10
+ textField?: string | undefined;
11
+ convertText: (item: any) => string;
12
+ itemSelect: (item: any) => void;
13
+ };
14
+ events: {
15
+ select: CustomEvent<any>;
16
+ } & {
17
+ [evt: string]: CustomEvent<any>;
18
+ };
19
+ slots: {};
20
+ };
21
+ export type SingleClickSelectionSpinnerProps = typeof __propDef.props;
22
+ export type SingleClickSelectionSpinnerEvents = typeof __propDef.events;
23
+ export type SingleClickSelectionSpinnerSlots = typeof __propDef.slots;
24
+ export default class SingleClickSelectionSpinner extends SvelteComponentTyped<SingleClickSelectionSpinnerProps, SingleClickSelectionSpinnerEvents, SingleClickSelectionSpinnerSlots> {
25
+ }
26
+ export {};
package/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import SelectField from "./Selection.svelte";
2
+ import SelectFieldSpinner from "./SelectionSpinner.svelte";
3
+ import SingleClickSelectionSpinner from "./lib/SingleClickSelectionSpinner.svelte";
4
+ import Selection from "./lib/Selection.svelte";
5
+ export default SelectField;
6
+ export { SingleClickSelectionSpinner, SelectFieldSpinner, Selection };
package/index.js ADDED
@@ -0,0 +1,6 @@
1
+ import SelectField from "./Selection.svelte";
2
+ import SelectFieldSpinner from "./SelectionSpinner.svelte";
3
+ import SingleClickSelectionSpinner from "./lib/SingleClickSelectionSpinner.svelte";
4
+ import Selection from "./lib/Selection.svelte";
5
+ export default SelectField;
6
+ export { SingleClickSelectionSpinner, SelectFieldSpinner, Selection };
@@ -0,0 +1,129 @@
1
+ @charset "UTF-8";
2
+ * {
3
+ margin: 0;
4
+ padding: 0;
5
+ }
6
+
7
+ .mui-select-slide-box {
8
+ flex: 1;
9
+ left: 0;
10
+ right: 0;
11
+ bottom: 0;
12
+ background: white;
13
+ user-select: none;
14
+ }
15
+
16
+ .mui-select-group {
17
+ display: flex;
18
+ }
19
+
20
+ .mui-select-column {
21
+ position: relative;
22
+ flex: 1;
23
+ height: 200px;
24
+ margin: 0 auto;
25
+ overflow: hidden;
26
+ touch-action: none;
27
+ }
28
+
29
+ .mui-select-column::before {
30
+ content: "";
31
+ position: absolute;
32
+ top: 0;
33
+ left: 0;
34
+ right: 0;
35
+ z-index: 1;
36
+ height: 79px;
37
+ border-bottom: 1px solid #ebebeb;
38
+ background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.6));
39
+ }
40
+
41
+ .mui-select-column::after {
42
+ content: "";
43
+ position: absolute;
44
+ bottom: 0;
45
+ left: 0;
46
+ right: 0;
47
+ z-index: 1;
48
+ height: 79px;
49
+ border-top: 1px solid #ebebeb;
50
+ background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.9));
51
+ }
52
+
53
+ li {
54
+ list-style: none;
55
+ font-size: 14px;
56
+ line-height: 40px;
57
+ text-align: center;
58
+ }
59
+
60
+ /*CSS小三角*/
61
+ span.triangle-down {
62
+ display: inline-block;
63
+ width: 0;
64
+ height: 0;
65
+ margin: auto;
66
+ border-left: 5px solid transparent;
67
+ border-right: 5px solid transparent;
68
+ border-top: 5px solid #666;
69
+ }
70
+
71
+ .mui-select-field-text {
72
+ color: var(mui-select-field-text-color, #999);
73
+ font-size: var(mui-select-field-text-font-size, 16px);
74
+ }
75
+
76
+ .single-click-selection-box {
77
+ width: 100%;
78
+ background-color: white;
79
+ border-top-right-radius: 15px;
80
+ border-top-left-radius: 15px;
81
+ }
82
+
83
+ .single-click-selection-title {
84
+ display: flex;
85
+ padding: 15px;
86
+ justify-content: center;
87
+ color: #333333;
88
+ font-size: 15px;
89
+ font-weight: bold;
90
+ }
91
+
92
+ .single-click-selection-ul {
93
+ height: 200px;
94
+ overflow: auto;
95
+ }
96
+
97
+ .single-click-selection-li-normal {
98
+ height: 40px;
99
+ color: var(single-click-selection-normal-text-color, #666);
100
+ }
101
+
102
+ .single-click-selection-li-selected {
103
+ height: 40px;
104
+ color: var(--single-click-selection-selected-text-color, #0912ff);
105
+ }
106
+
107
+ .card-select-box {
108
+ display: flex;
109
+ justify-content: space-around;
110
+ }
111
+ .card-select-box .select-item-base, .card-select-box .card-select-item-selected, .card-select-box .card-select-item-normal {
112
+ width: 100%;
113
+ line-height: 24px;
114
+ border-radius: 5px;
115
+ margin-right: 10px;
116
+ font-size: 12px;
117
+ text-align: center;
118
+ }
119
+ .card-select-box .select-item-base:last-child, .card-select-box .card-select-item-selected:last-child, .card-select-box .card-select-item-normal:last-child {
120
+ margin-right: 0;
121
+ }
122
+ .card-select-box .card-select-item-normal {
123
+ background-color: var(--card-select-item-normal-bg-color, #F8F8F8);
124
+ color: var(--card-select-item-normal-text-color, #333333);
125
+ }
126
+ .card-select-box .card-select-item-selected {
127
+ background-color: var(--card-select-item-selected-bg-color, #E5F3FF);
128
+ color: var(--card-select-item-selected-text-color, #377EE1);
129
+ }
@@ -0,0 +1,135 @@
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ }
5
+
6
+ .mui-select-slide-box {
7
+ flex: 1;
8
+ left: 0;
9
+ right: 0;
10
+ bottom: 0;
11
+ background: white;
12
+ user-select: none;
13
+ }
14
+
15
+ .mui-select-group {
16
+ display: flex;
17
+ }
18
+
19
+ .mui-select-column {
20
+ position: relative;
21
+ flex: 1;
22
+ height: 200px;
23
+ margin: 0 auto;
24
+ overflow: hidden;
25
+ touch-action: none;
26
+ }
27
+
28
+ .mui-select-column::before {
29
+ content: '';
30
+ position: absolute;
31
+ top: 0;
32
+ left: 0;
33
+ right: 0;
34
+ z-index: 1;
35
+ height: 79px;
36
+ border-bottom: 1px solid #ebebeb;
37
+ background: linear-gradient(to bottom, rgba(255, 255, 255, .9), rgba(255, 255, 255, .6));
38
+ }
39
+
40
+ .mui-select-column::after {
41
+ content: '';
42
+ position: absolute;
43
+ bottom: 0;
44
+ left: 0;
45
+ right: 0;
46
+ z-index: 1;
47
+ height: 79px;
48
+ border-top: 1px solid #ebebeb;
49
+ background: linear-gradient(to bottom, rgba(255, 255, 255, .6), rgba(255, 255, 255, .9));
50
+ }
51
+
52
+ li {
53
+ list-style: none;
54
+ font-size: 14px;
55
+ line-height: 40px;
56
+ text-align: center;
57
+ }
58
+
59
+ /*CSS小三角*/
60
+ span.triangle-down {
61
+ display: inline-block;
62
+ width: 0;
63
+ height: 0;
64
+ margin: auto;
65
+ border-left: 5px solid transparent;
66
+ border-right: 5px solid transparent;
67
+ border-top: 5px solid #666;
68
+ }
69
+
70
+ .mui-select-field-text {
71
+ color: var(mui-select-field-text-color, #999);
72
+ font-size: var(mui-select-field-text-font-size, 16px);;
73
+ }
74
+
75
+ .single-click-selection-box {
76
+ width: 100%;
77
+ background-color: white;
78
+ border-top-right-radius: 15px;
79
+ border-top-left-radius: 15px;
80
+ }
81
+
82
+ .single-click-selection-title {
83
+ display: flex;
84
+ padding: 15px;
85
+ justify-content: center;
86
+ color: #333333;
87
+ font-size: 15px;
88
+ font-weight: bold;
89
+ }
90
+
91
+ .single-click-selection-ul {
92
+ height: 200px;
93
+ overflow: auto;
94
+ }
95
+
96
+ .single-click-selection-li-normal {
97
+ height: 40px;
98
+ color: var(single-click-selection-normal-text-color, #666);
99
+ }
100
+
101
+ .single-click-selection-li-selected {
102
+ height: 40px;
103
+ color: var(--single-click-selection-selected-text-color, #0912ff);
104
+ }
105
+
106
+
107
+ .card-select-box {
108
+ display: flex;
109
+ justify-content: space-around;
110
+
111
+ .select-item-base {
112
+ width: 100%;
113
+ line-height: 24px;
114
+ border-radius: 5px;
115
+ margin-right: 10px;
116
+ font-size: 12px;
117
+ text-align: center;
118
+
119
+ &:last-child {
120
+ margin-right: 0;
121
+ }
122
+ }
123
+
124
+ .card-select-item-normal {
125
+ @extend .select-item-base;
126
+ background-color: var(--card-select-item-normal-bg-color, #F8F8F8);
127
+ color: var(--card-select-item-normal-text-color, #333333);
128
+ }
129
+
130
+ .card-select-item-selected {
131
+ @extend .select-item-base;
132
+ background-color: var(--card-select-item-selected-bg-color, #E5F3FF);
133
+ color: var(--card-select-item-selected-text-color, #377EE1);
134
+ }
135
+ }
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@anmed/mui-selection",
3
+ "version": "0.0.2",
4
+ "description": "",
5
+ "type": "module",
6
+ "main": "index.js",
7
+ "types": "index.d.ts",
8
+ "devDependencies": {
9
+ "@sveltejs/adapter-auto": "next",
10
+ "@sveltejs/kit": "next",
11
+ "@sveltejs/package": "next",
12
+ "node-sass": "^8.0.0",
13
+ "sass": "^1.57.1",
14
+ "svelte": "^3.44.0",
15
+ "svelte-check": "^2.7.1",
16
+ "svelte-preprocess": "^4.10.6",
17
+ "tslib": "^2.3.1",
18
+ "typescript": "^4.7.4",
19
+ "vite": "4.0.4",
20
+ "@anmed/mui-buttons": "^0.0.1",
21
+ "@anmed/mui-common-ui": "file:/Users/mac/Work/Project/almd/code/jjld_3/mobile-components/mui-common-ui/package"
22
+ },
23
+ "author": "Xiang Feng",
24
+ "license": "MIT",
25
+ "exports": {
26
+ "./package.json": "./package.json",
27
+ "./Selection.svelte": "./Selection.svelte",
28
+ "./SelectionField.svelte": "./SelectionField.svelte",
29
+ "./SelectionSpinner.svelte": "./SelectionSpinner.svelte",
30
+ "./SingleClickSelectionSpinner.svelte": "./SingleClickSelectionSpinner.svelte",
31
+ ".": "./index.js",
32
+ "./mui-select-field.css": "./mui-select-field.css",
33
+ "./mui-select-field.scss": "./mui-select-field.scss"
34
+ },
35
+ "svelte": "./index.js"
36
+ }