zds-pickers 4.0.3 → 4.0.6
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.
- package/.editorconfig +19 -0
- package/.github/workflows/codeql-analysis.yml +67 -0
- package/.nvmrc +1 -0
- package/.prettierignore +0 -0
- package/.prettierrc +13 -0
- package/.storybook/main.ts +42 -0
- package/.storybook/manager.ts +12 -0
- package/.storybook/preview.tsx +26 -0
- package/.vscode/extensions.json +32 -0
- package/.vscode/javascript.code-snippets +229 -0
- package/.vscode/settings.json +358 -0
- package/biome.jsonc +158 -0
- package/dist/index.cjs.js +15 -32
- package/dist/index.es.js +4144 -10129
- package/dist/types/hooks/useComponentSize.d.ts +5 -0
- package/dist/types/hooks/useStateWithDynamicDefault.d.ts +2 -0
- package/dist/types/index.d.ts +266 -2
- package/dist/types/main.d.ts +19 -0
- package/dist/types/midi/ccValues.d.ts +3 -0
- package/dist/types/midi/export.d.ts +22 -0
- package/dist/types/other/DefaultTooltip.d.ts +10 -0
- package/dist/types/other/OctavePlayer.d.ts +20 -0
- package/dist/types/other/SVGText.d.ts +17 -0
- package/dist/types/other/SoundFontProvider.d.ts +17 -0
- package/dist/types/pickers/CCPicker.d.ts +7 -0
- package/dist/types/pickers/ChannelMappingPicker.d.ts +14 -0
- package/dist/types/pickers/ChannelPicker.d.ts +8 -0
- package/dist/types/pickers/Knob.d.ts +12 -0
- package/dist/types/pickers/KnobPicker.d.ts +27 -0
- package/dist/types/pickers/LatchPicker.d.ts +8 -0
- package/dist/types/pickers/MappingPicker.d.ts +11 -0
- package/dist/types/pickers/NotePicker.d.ts +20 -0
- package/dist/types/pickers/PianoPicker.d.ts +9 -0
- package/dist/types/pickers/PolarityPicker.d.ts +14 -0
- package/dist/types/pickers/ResponseCurve.d.ts +40 -0
- package/dist/types/pickers/ResponseCurvePicker.d.ts +15 -0
- package/dist/types/pickers/Select.d.ts +29 -0
- package/dist/types/pickers/StatusPicker.d.ts +12 -0
- package/dist/types/pickers/ValuePicker.d.ts +15 -0
- package/dist/types/pickers/knobSkin10.d.ts +14 -0
- package/dist/types/rotaryKnob/InternalInput.d.ts +18 -0
- package/dist/types/rotaryKnob/Types.d.ts +5 -0
- package/dist/types/rotaryKnob/helpers/DrawCircle.d.ts +18 -0
- package/dist/types/rotaryKnob/helpers/DrawLine.d.ts +15 -0
- package/dist/types/rotaryKnob/helpers/HelpersOverlay.d.ts +11 -0
- package/dist/types/rotaryKnob/helpers/KnobVisualHelpers.d.ts +30 -0
- package/dist/types/rotaryKnob/index.d.ts +49 -0
- package/dist/types/rotaryKnob/knobdefaultskin.d.ts +6 -0
- package/dist/types/rotaryKnob/utils.d.ts +49 -0
- package/dist/types/utils.d.ts +9 -0
- package/lib/@types/nebiru-react-rotary-knob.d.ts +20 -0
- package/lib/@types/react-svgmt.d.ts +74 -0
- package/lib/@types/zds-mappings.d.ts +55 -0
- package/lib/@types/zds-react-piano.d.ts +17 -0
- package/lib/hooks/useComponentSize.ts +52 -0
- package/lib/hooks/useStateWithDynamicDefault.ts +13 -0
- package/lib/main.ts +34 -0
- package/lib/midi/ccValues.ts +139 -0
- package/lib/midi/export.ts +54 -0
- package/lib/other/DefaultTooltip.ts +14 -0
- package/lib/other/OctavePlayer.tsx +141 -0
- package/lib/other/SVGText.tsx +221 -0
- package/lib/other/SoundFontProvider.tsx +130 -0
- package/lib/pickers/CCPicker.tsx +28 -0
- package/lib/pickers/ChannelMappingPicker.tsx +135 -0
- package/lib/pickers/ChannelPicker.tsx +76 -0
- package/lib/pickers/Knob.tsx +93 -0
- package/lib/pickers/KnobPicker.tsx +93 -0
- package/lib/pickers/LatchPicker.tsx +33 -0
- package/lib/pickers/MappingPicker.tsx +68 -0
- package/lib/pickers/NotePicker.tsx +95 -0
- package/lib/pickers/PianoPicker.tsx +77 -0
- package/lib/pickers/PolarityPicker.tsx +39 -0
- package/lib/pickers/ResponseCurve.tsx +304 -0
- package/lib/pickers/ResponseCurvePicker.tsx +74 -0
- package/lib/pickers/Select.tsx +248 -0
- package/lib/pickers/StatusPicker.tsx +28 -0
- package/lib/pickers/ValuePicker.tsx +67 -0
- package/lib/pickers/knobSkin10.tsx +94 -0
- package/lib/rotaryKnob/InternalInput.tsx +43 -0
- package/lib/rotaryKnob/Types.ts +6 -0
- package/lib/rotaryKnob/helpers/DrawCircle.tsx +41 -0
- package/lib/rotaryKnob/helpers/DrawLine.tsx +32 -0
- package/lib/rotaryKnob/helpers/HelpersOverlay.tsx +43 -0
- package/lib/rotaryKnob/helpers/KnobVisualHelpers.tsx +138 -0
- package/lib/rotaryKnob/index.tsx +417 -0
- package/lib/rotaryKnob/knobdefaultskin.ts +56 -0
- package/lib/rotaryKnob/utils.ts +112 -0
- package/lib/temp/acoustic_grand_piano-mp3.js +94 -0
- package/lib/utils.ts +41 -0
- package/package.json +3 -7
- package/stories/assets/sampleStyles.css +349 -0
- package/stories/assets/utils.js +7 -0
- package/stories/picker.stories.tsx +313 -0
- package/tsconfig.app.json +26 -0
- package/tsconfig.json +34 -0
- package/tsconfig.node.json +24 -0
- package/vite.config.ts +45 -0
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.d.ts +0 -244
- package/dist/index.es.js.map +0 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react'
|
|
2
|
+
// biome-ignore lint/correctness/noUnusedImports: <explanation>
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import type * as Soundfont from 'soundfont-player'
|
|
5
|
+
import { getMapping } from 'zds-mappings'
|
|
6
|
+
import { Statuses, statusOptions } from '../lib/midi/export'
|
|
7
|
+
import OctavePlayer from '../lib/other/OctavePlayer'
|
|
8
|
+
import CCPicker from '../lib/pickers/CCPicker'
|
|
9
|
+
import ChannelMappingPicker from '../lib/pickers/ChannelMappingPicker'
|
|
10
|
+
import ChannelPicker from '../lib/pickers/ChannelPicker'
|
|
11
|
+
import Knob from '../lib/pickers/Knob'
|
|
12
|
+
import KnobPicker from '../lib/pickers/KnobPicker'
|
|
13
|
+
import LatchPicker from '../lib/pickers/LatchPicker'
|
|
14
|
+
import MappingPicker from '../lib/pickers/MappingPicker'
|
|
15
|
+
import NotePicker from '../lib/pickers/NotePicker'
|
|
16
|
+
import PianoPicker from '../lib/pickers/PianoPicker'
|
|
17
|
+
import PolarityPicker from '../lib/pickers/PolarityPicker'
|
|
18
|
+
import ResponseCurve from '../lib/pickers/ResponseCurve'
|
|
19
|
+
import ResponseCurvePicker from '../lib/pickers/ResponseCurvePicker'
|
|
20
|
+
import StatusPicker from '../lib/pickers/StatusPicker'
|
|
21
|
+
import ValuePicker from '../lib/pickers/ValuePicker'
|
|
22
|
+
|
|
23
|
+
const meta: Meta = {
|
|
24
|
+
title: 'Pickers',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const gmMapping = getMapping('General MIDI')
|
|
28
|
+
|
|
29
|
+
const CCPickerStory: StoryObj<typeof CCPicker> = {
|
|
30
|
+
render: args => <CCPicker {...args} />,
|
|
31
|
+
args: {
|
|
32
|
+
disabled: false,
|
|
33
|
+
label: 'CC #',
|
|
34
|
+
shrinkLabel: false,
|
|
35
|
+
value: 7,
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const ChannelPickerStory: StoryObj<typeof ChannelPicker> = {
|
|
40
|
+
render: args => <ChannelPicker {...args} />,
|
|
41
|
+
args: {
|
|
42
|
+
disabled: false,
|
|
43
|
+
label: 'Channel',
|
|
44
|
+
shrinkLabel: false,
|
|
45
|
+
value: 9,
|
|
46
|
+
},
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const ChannelMappingPickerStory: StoryObj<typeof ChannelMappingPicker> = {
|
|
50
|
+
render: args => <ChannelMappingPicker {...args} />,
|
|
51
|
+
args: {
|
|
52
|
+
channels: [
|
|
53
|
+
'',
|
|
54
|
+
'No Mapping',
|
|
55
|
+
'',
|
|
56
|
+
'Alesis DM Pro',
|
|
57
|
+
'',
|
|
58
|
+
'',
|
|
59
|
+
'',
|
|
60
|
+
'BFD3',
|
|
61
|
+
'',
|
|
62
|
+
'',
|
|
63
|
+
'Roland TD-20',
|
|
64
|
+
'Roland TD-30 Perc 1 (Latin)',
|
|
65
|
+
'',
|
|
66
|
+
'',
|
|
67
|
+
'',
|
|
68
|
+
'',
|
|
69
|
+
].map((label, value) => ({ label, value })),
|
|
70
|
+
disabled: false,
|
|
71
|
+
label: 'Channel',
|
|
72
|
+
shrinkLabel: false,
|
|
73
|
+
value: 7,
|
|
74
|
+
},
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const KnobStory: StoryObj<typeof Knob> = {
|
|
78
|
+
render: args => <Knob {...args} />,
|
|
79
|
+
args: {
|
|
80
|
+
disabled: false,
|
|
81
|
+
max: 127,
|
|
82
|
+
min: 0,
|
|
83
|
+
value: 45,
|
|
84
|
+
wheelEnabled: false,
|
|
85
|
+
},
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const KnobPickerStory: StoryObj<typeof KnobPicker> = {
|
|
89
|
+
render: args => <KnobPicker {...args} />,
|
|
90
|
+
args: {
|
|
91
|
+
disabled: false,
|
|
92
|
+
includePicker: true,
|
|
93
|
+
label: 'Sensitivity',
|
|
94
|
+
max: 127,
|
|
95
|
+
min: 0,
|
|
96
|
+
shrinkLabel: false,
|
|
97
|
+
// size: 35,
|
|
98
|
+
value: 87,
|
|
99
|
+
wheelEnabled: false,
|
|
100
|
+
},
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const LatchPickerStory: StoryObj<typeof LatchPicker> = {
|
|
104
|
+
render: args => <LatchPicker {...args} />,
|
|
105
|
+
args: {
|
|
106
|
+
disabled: false,
|
|
107
|
+
label: 'Mode',
|
|
108
|
+
shrinkLabel: false,
|
|
109
|
+
value: 0,
|
|
110
|
+
},
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const MappingPickerStory: StoryObj<typeof MappingPicker> = {
|
|
114
|
+
render: args => <MappingPicker {...args} />,
|
|
115
|
+
args: {
|
|
116
|
+
allowClearing: true,
|
|
117
|
+
disabled: false,
|
|
118
|
+
label: 'Mapping',
|
|
119
|
+
preserveMenuWidth: false,
|
|
120
|
+
shrinkLabel: false,
|
|
121
|
+
value: 'EZDrummer',
|
|
122
|
+
},
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const NotePickerStory1: StoryObj<typeof NotePicker> = {
|
|
126
|
+
render: args => <NotePicker {...args} />,
|
|
127
|
+
args: {
|
|
128
|
+
channel: 0,
|
|
129
|
+
disabled: false,
|
|
130
|
+
isMelodicMode: false,
|
|
131
|
+
label: 'Note #',
|
|
132
|
+
mapping: gmMapping,
|
|
133
|
+
shrinkLabel: false,
|
|
134
|
+
value: 38,
|
|
135
|
+
},
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
const NotePickerStory2: StoryObj<typeof NotePicker> = {
|
|
139
|
+
render: args => <NotePicker {...args} />,
|
|
140
|
+
args: {
|
|
141
|
+
channel: 0,
|
|
142
|
+
disabled: false,
|
|
143
|
+
isMelodicMode: false,
|
|
144
|
+
label: 'No mapping',
|
|
145
|
+
shrinkLabel: false,
|
|
146
|
+
value: 38,
|
|
147
|
+
},
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
const NotePickerStory3: StoryObj<typeof NotePicker> = {
|
|
151
|
+
render: args => <NotePicker {...args} />,
|
|
152
|
+
args: {
|
|
153
|
+
channel: 0,
|
|
154
|
+
disabled: false,
|
|
155
|
+
isMelodicMode: false,
|
|
156
|
+
label: 'Action button',
|
|
157
|
+
mapping: gmMapping,
|
|
158
|
+
// selectProps: {
|
|
159
|
+
// actionButton: (
|
|
160
|
+
// <button
|
|
161
|
+
// onClick={e => {
|
|
162
|
+
// window.alert('click')
|
|
163
|
+
// }}>
|
|
164
|
+
// ?
|
|
165
|
+
// </button>
|
|
166
|
+
// ),
|
|
167
|
+
// },
|
|
168
|
+
shrinkLabel: false,
|
|
169
|
+
value: 38,
|
|
170
|
+
},
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
const OctavePlayerStory: StoryObj<typeof OctavePlayer> = {
|
|
174
|
+
render: args => <OctavePlayer {...args} />,
|
|
175
|
+
args: {
|
|
176
|
+
instrumentName: {
|
|
177
|
+
control: { type: 'select' },
|
|
178
|
+
options: [undefined, 'acoustic_grand_piano'],
|
|
179
|
+
} as unknown as Soundfont.InstrumentName,
|
|
180
|
+
height: 100,
|
|
181
|
+
width: 200,
|
|
182
|
+
octave: 4,
|
|
183
|
+
},
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// # NotePicker
|
|
187
|
+
// <Canvas withToolbar>
|
|
188
|
+
// <Story
|
|
189
|
+
// height={120}
|
|
190
|
+
// name="NotePicker"
|
|
191
|
+
// >
|
|
192
|
+
// <NotePicker
|
|
193
|
+
// channel={number('channel', 0, 'NotePicker')}
|
|
194
|
+
// disabled={boolean('disabled', false, 'NotePicker')}
|
|
195
|
+
// isMelodicMode={boolean('isMelodicMode', false, 'NotePicker')}
|
|
196
|
+
// label={text('label', 'Note #', 'NotePicker')}
|
|
197
|
+
// mapping={gmMapping}
|
|
198
|
+
// onChange={action('handleChange')}
|
|
199
|
+
// shrinkLabel={boolean('shrinkLabel', false, 'NotePicker')}
|
|
200
|
+
// value={number('value', 38, {}, 'NotePicker')}
|
|
201
|
+
// />
|
|
202
|
+
// <br />
|
|
203
|
+
// <NotePicker
|
|
204
|
+
// channel={number('channel', 0, 'NotePicker2')}
|
|
205
|
+
// disabled={boolean('disabled', false, 'NotePicker2')}
|
|
206
|
+
// isMelodicMode={boolean('isMelodicMode', false, 'NotePicker2')}
|
|
207
|
+
// label="No mapping"
|
|
208
|
+
// onChange={action('handleChange2')}
|
|
209
|
+
// shrinkLabel={boolean('shrinkLabel', false, 'NotePicker')}
|
|
210
|
+
// value={number('value', 38, {}, 'NotePicker2')}
|
|
211
|
+
// />
|
|
212
|
+
// <br />
|
|
213
|
+
// <NotePicker
|
|
214
|
+
// channel={number('channel', 0, 'NotePicker3')}
|
|
215
|
+
// disabled={boolean('disabled', false, 'NotePicker3')}
|
|
216
|
+
// isMelodicMode={boolean('isMelodicMode', false, 'NotePicker3')}
|
|
217
|
+
// label="Action button"
|
|
218
|
+
// mapping={gmMapping}
|
|
219
|
+
// onChange={action('handleChange3')}
|
|
220
|
+
// selectProps={{actionButton:<button onClick={e=>{
|
|
221
|
+
// console.log('click')
|
|
222
|
+
// }}>?</button>}}
|
|
223
|
+
// shrinkLabel={boolean('shrinkLabel', false, 'NotePicker')}
|
|
224
|
+
// value={number('value', 38, {}, 'NotePicker3')}
|
|
225
|
+
// />
|
|
226
|
+
// </Story>
|
|
227
|
+
// </Canvas>
|
|
228
|
+
|
|
229
|
+
const PianoPickerStory: StoryObj<typeof PianoPicker> = {
|
|
230
|
+
render: args => <PianoPicker {...args} />,
|
|
231
|
+
args: {
|
|
232
|
+
instrumentName: 'acoustic_grand_piano',
|
|
233
|
+
height: 100,
|
|
234
|
+
width: 1000,
|
|
235
|
+
},
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const PolarityPickerStory: StoryObj<typeof PolarityPicker> = {
|
|
239
|
+
render: args => <PolarityPicker {...args} />,
|
|
240
|
+
args: {
|
|
241
|
+
disabled: false,
|
|
242
|
+
label: 'Polarity',
|
|
243
|
+
labelOff: 'Normally Off',
|
|
244
|
+
labelOn: 'Normally On',
|
|
245
|
+
shrinkLabel: false,
|
|
246
|
+
value: 0,
|
|
247
|
+
},
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
const ResponseCurveStory: StoryObj<typeof ResponseCurve> = {
|
|
251
|
+
render: args => <ResponseCurve {...args} />,
|
|
252
|
+
args: {
|
|
253
|
+
disabled: false,
|
|
254
|
+
inverted: false,
|
|
255
|
+
value: 0,
|
|
256
|
+
},
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
const ResponseCurvePickerStory: StoryObj<typeof ResponseCurvePicker> = {
|
|
260
|
+
render: args => <ResponseCurvePicker {...args} />,
|
|
261
|
+
args: {
|
|
262
|
+
disabled: false,
|
|
263
|
+
inverted: false,
|
|
264
|
+
label: 'Response',
|
|
265
|
+
shrinkLabel: false,
|
|
266
|
+
value: 0,
|
|
267
|
+
},
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
const StatusPickerStory: StoryObj<typeof StatusPicker> = {
|
|
271
|
+
render: args => <StatusPicker {...args} />,
|
|
272
|
+
args: {
|
|
273
|
+
disabled: false,
|
|
274
|
+
label: 'Status Msg',
|
|
275
|
+
shrinkLabel: false,
|
|
276
|
+
statuses: statusOptions,
|
|
277
|
+
value: Statuses.noteOn,
|
|
278
|
+
},
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
const ValuePickerStory: StoryObj<typeof ValuePicker> = {
|
|
282
|
+
render: args => <ValuePicker {...args} />,
|
|
283
|
+
args: {
|
|
284
|
+
disabled: false,
|
|
285
|
+
highToLow: false,
|
|
286
|
+
label: 'Value',
|
|
287
|
+
max: 127,
|
|
288
|
+
min: 0,
|
|
289
|
+
shrinkLabel: false,
|
|
290
|
+
},
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export {
|
|
294
|
+
ChannelPickerStory as ChannelPicker,
|
|
295
|
+
ChannelMappingPickerStory as ChannelMappingPicker,
|
|
296
|
+
CCPickerStory as ContinuousChangePicker,
|
|
297
|
+
KnobStory as Knob,
|
|
298
|
+
KnobPickerStory as KnobPicker,
|
|
299
|
+
LatchPickerStory as LatchPicker,
|
|
300
|
+
MappingPickerStory as MappingPicker,
|
|
301
|
+
NotePickerStory1 as NotePickerSimple,
|
|
302
|
+
NotePickerStory2 as NotePickerNoMapping,
|
|
303
|
+
NotePickerStory3 as NotePickerActionButton,
|
|
304
|
+
OctavePlayerStory as OctavePlayer,
|
|
305
|
+
PianoPickerStory as PianoPicker,
|
|
306
|
+
PolarityPickerStory as PolarityPicker,
|
|
307
|
+
ResponseCurveStory as ResponseCurve,
|
|
308
|
+
ResponseCurvePickerStory as ResponseCurvePicker,
|
|
309
|
+
StatusPickerStory as StatusPicker,
|
|
310
|
+
ValuePickerStory as ValuePicker,
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
export default meta
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
4
|
+
"target": "ES2020",
|
|
5
|
+
"useDefineForClassFields": true,
|
|
6
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
7
|
+
"module": "ESNext",
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
|
|
10
|
+
/* Bundler mode */
|
|
11
|
+
"moduleResolution": "bundler",
|
|
12
|
+
"allowImportingTsExtensions": true,
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"moduleDetection": "force",
|
|
15
|
+
"noEmit": true,
|
|
16
|
+
"jsx": "react-jsx",
|
|
17
|
+
|
|
18
|
+
/* Linting */
|
|
19
|
+
"strict": true,
|
|
20
|
+
"noUnusedLocals": true,
|
|
21
|
+
"noUnusedParameters": true,
|
|
22
|
+
"noFallthroughCasesInSwitch": true,
|
|
23
|
+
"noUncheckedSideEffectImports": true
|
|
24
|
+
},
|
|
25
|
+
"include": ["src"]
|
|
26
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"baseUrl": ".",
|
|
4
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
5
|
+
"target": "ES2020",
|
|
6
|
+
"useDefineForClassFields": true,
|
|
7
|
+
"lib": ["ES2021", "DOM", "DOM.Iterable"],
|
|
8
|
+
"module": "ESNext",
|
|
9
|
+
"skipLibCheck": true,
|
|
10
|
+
|
|
11
|
+
/* output */
|
|
12
|
+
"declaration": true,
|
|
13
|
+
"declarationDir": "./dist/types",
|
|
14
|
+
"emitDeclarationOnly": false,
|
|
15
|
+
"outDir": "./dist",
|
|
16
|
+
|
|
17
|
+
/* Bundler mode */
|
|
18
|
+
"moduleResolution": "Bundler",
|
|
19
|
+
"isolatedModules": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"jsx": "react-jsx",
|
|
22
|
+
|
|
23
|
+
/* Linting */
|
|
24
|
+
"strict": true,
|
|
25
|
+
"noUnusedLocals": true,
|
|
26
|
+
"noUnusedParameters": true,
|
|
27
|
+
"noFallthroughCasesInSwitch": true,
|
|
28
|
+
"noUncheckedSideEffectImports": true,
|
|
29
|
+
|
|
30
|
+
"paths": {}
|
|
31
|
+
},
|
|
32
|
+
"include": ["lib"],
|
|
33
|
+
"exclude": ["node_modules", "**/*.spec.ts", "**/*.spec.tsx", "stories"]
|
|
34
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
|
4
|
+
"target": "ES2022",
|
|
5
|
+
"lib": ["ES2023"],
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"skipLibCheck": true,
|
|
8
|
+
|
|
9
|
+
/* Bundler mode */
|
|
10
|
+
"moduleResolution": "bundler",
|
|
11
|
+
"allowImportingTsExtensions": true,
|
|
12
|
+
"isolatedModules": true,
|
|
13
|
+
"moduleDetection": "force",
|
|
14
|
+
"noEmit": true,
|
|
15
|
+
|
|
16
|
+
/* Linting */
|
|
17
|
+
"strict": true,
|
|
18
|
+
"noUnusedLocals": true,
|
|
19
|
+
"noUnusedParameters": true,
|
|
20
|
+
"noFallthroughCasesInSwitch": true,
|
|
21
|
+
"noUncheckedSideEffectImports": true
|
|
22
|
+
},
|
|
23
|
+
"include": ["vite.config.ts"]
|
|
24
|
+
}
|
package/vite.config.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { resolve } from 'node:path'
|
|
2
|
+
import react from '@vitejs/plugin-react-swc'
|
|
3
|
+
import { defineConfig } from 'vite'
|
|
4
|
+
import dts from 'vite-plugin-dts'
|
|
5
|
+
|
|
6
|
+
export default defineConfig({
|
|
7
|
+
plugins: [
|
|
8
|
+
react(),
|
|
9
|
+
dts({
|
|
10
|
+
include: ['lib'],
|
|
11
|
+
rollupTypes: true,
|
|
12
|
+
entryRoot: 'lib',
|
|
13
|
+
outDir: 'dist/types',
|
|
14
|
+
}),
|
|
15
|
+
],
|
|
16
|
+
build: {
|
|
17
|
+
lib: {
|
|
18
|
+
entry: resolve(__dirname, 'lib/main'),
|
|
19
|
+
name: 'zds-pickers',
|
|
20
|
+
formats: ['es', 'cjs'],
|
|
21
|
+
fileName: format => `index.${format}.js`,
|
|
22
|
+
},
|
|
23
|
+
sourcemap: false,
|
|
24
|
+
rollupOptions: {
|
|
25
|
+
external: [
|
|
26
|
+
'react',
|
|
27
|
+
'react-dom',
|
|
28
|
+
'react/jsx-runtime',
|
|
29
|
+
'react-select',
|
|
30
|
+
'd3-drag',
|
|
31
|
+
'd3-scale',
|
|
32
|
+
'd3-selection',
|
|
33
|
+
],
|
|
34
|
+
output: {
|
|
35
|
+
globals: {
|
|
36
|
+
react: 'React',
|
|
37
|
+
'react-dom': 'ReactDOM',
|
|
38
|
+
'react-select': 'ReactSelect',
|
|
39
|
+
},
|
|
40
|
+
preserveModules: false,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
minify: true,
|
|
44
|
+
},
|
|
45
|
+
})
|