@hapticjs/core 0.2.0 → 0.3.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.
@@ -497,6 +497,166 @@ declare const system: {
497
497
  };
498
498
  };
499
499
 
500
+ /** Emotion-based haptic presets */
501
+ declare const emotions: {
502
+ /** Excited — fast, energetic pulses building up */
503
+ excited: {
504
+ name: string;
505
+ steps: ({
506
+ type: "vibrate";
507
+ duration: number;
508
+ intensity: number;
509
+ } | {
510
+ type: "pause";
511
+ duration: number;
512
+ intensity: number;
513
+ })[];
514
+ };
515
+ /** Calm — slow, gentle wave with soft sustained vibrations */
516
+ calm: {
517
+ name: string;
518
+ steps: ({
519
+ type: "vibrate";
520
+ duration: number;
521
+ intensity: number;
522
+ } | {
523
+ type: "pause";
524
+ duration: number;
525
+ intensity: number;
526
+ })[];
527
+ };
528
+ /** Tense — tight, irregular short heavy bursts */
529
+ tense: {
530
+ name: string;
531
+ steps: ({
532
+ type: "vibrate";
533
+ duration: number;
534
+ intensity: number;
535
+ } | {
536
+ type: "pause";
537
+ duration: number;
538
+ intensity: number;
539
+ })[];
540
+ };
541
+ /** Happy — bouncy, playful ascending rhythm */
542
+ happy: {
543
+ name: string;
544
+ steps: ({
545
+ type: "vibrate";
546
+ duration: number;
547
+ intensity: number;
548
+ } | {
549
+ type: "pause";
550
+ duration: number;
551
+ intensity: number;
552
+ })[];
553
+ };
554
+ /** Sad — slow, heavy, descending vibrations that fade */
555
+ sad: {
556
+ name: string;
557
+ steps: ({
558
+ type: "vibrate";
559
+ duration: number;
560
+ intensity: number;
561
+ } | {
562
+ type: "pause";
563
+ duration: number;
564
+ intensity: number;
565
+ })[];
566
+ };
567
+ /** Angry — aggressive, chaotic heavy rapid hits */
568
+ angry: {
569
+ name: string;
570
+ steps: ({
571
+ type: "vibrate";
572
+ duration: number;
573
+ intensity: number;
574
+ } | {
575
+ type: "pause";
576
+ duration: number;
577
+ intensity: number;
578
+ })[];
579
+ };
580
+ /** Surprised — sharp sudden hit, silence, then lighter hit */
581
+ surprised: {
582
+ name: string;
583
+ steps: ({
584
+ type: "vibrate";
585
+ duration: number;
586
+ intensity: number;
587
+ } | {
588
+ type: "pause";
589
+ duration: number;
590
+ intensity: number;
591
+ })[];
592
+ };
593
+ /** Anxious — fast irregular heartbeat with inconsistent spacing */
594
+ anxious: {
595
+ name: string;
596
+ steps: ({
597
+ type: "vibrate";
598
+ duration: number;
599
+ intensity: number;
600
+ } | {
601
+ type: "pause";
602
+ duration: number;
603
+ intensity: number;
604
+ })[];
605
+ };
606
+ /** Confident — strong, steady, measured even pulses */
607
+ confident: {
608
+ name: string;
609
+ steps: ({
610
+ type: "vibrate";
611
+ duration: number;
612
+ intensity: number;
613
+ } | {
614
+ type: "pause";
615
+ duration: number;
616
+ intensity: number;
617
+ })[];
618
+ };
619
+ /** Playful — alternating light-heavy in bouncy rhythm */
620
+ playful: {
621
+ name: string;
622
+ steps: ({
623
+ type: "vibrate";
624
+ duration: number;
625
+ intensity: number;
626
+ } | {
627
+ type: "pause";
628
+ duration: number;
629
+ intensity: number;
630
+ })[];
631
+ };
632
+ /** Romantic — gentle heartbeat rhythm, two soft pulses, long pause, repeat */
633
+ romantic: {
634
+ name: string;
635
+ steps: ({
636
+ type: "vibrate";
637
+ duration: number;
638
+ intensity: number;
639
+ } | {
640
+ type: "pause";
641
+ duration: number;
642
+ intensity: number;
643
+ })[];
644
+ };
645
+ /** Peaceful — very subtle, barely-there ultra-light slow pulses */
646
+ peaceful: {
647
+ name: string;
648
+ steps: ({
649
+ type: "vibrate";
650
+ duration: number;
651
+ intensity: number;
652
+ } | {
653
+ type: "pause";
654
+ duration: number;
655
+ intensity: number;
656
+ })[];
657
+ };
658
+ };
659
+
500
660
  /** All presets grouped by category */
501
661
  declare const presets: {
502
662
  readonly ui: {
@@ -945,6 +1105,152 @@ declare const presets: {
945
1105
  })[];
946
1106
  };
947
1107
  };
1108
+ readonly emotions: {
1109
+ excited: {
1110
+ name: string;
1111
+ steps: ({
1112
+ type: "vibrate";
1113
+ duration: number;
1114
+ intensity: number;
1115
+ } | {
1116
+ type: "pause";
1117
+ duration: number;
1118
+ intensity: number;
1119
+ })[];
1120
+ };
1121
+ calm: {
1122
+ name: string;
1123
+ steps: ({
1124
+ type: "vibrate";
1125
+ duration: number;
1126
+ intensity: number;
1127
+ } | {
1128
+ type: "pause";
1129
+ duration: number;
1130
+ intensity: number;
1131
+ })[];
1132
+ };
1133
+ tense: {
1134
+ name: string;
1135
+ steps: ({
1136
+ type: "vibrate";
1137
+ duration: number;
1138
+ intensity: number;
1139
+ } | {
1140
+ type: "pause";
1141
+ duration: number;
1142
+ intensity: number;
1143
+ })[];
1144
+ };
1145
+ happy: {
1146
+ name: string;
1147
+ steps: ({
1148
+ type: "vibrate";
1149
+ duration: number;
1150
+ intensity: number;
1151
+ } | {
1152
+ type: "pause";
1153
+ duration: number;
1154
+ intensity: number;
1155
+ })[];
1156
+ };
1157
+ sad: {
1158
+ name: string;
1159
+ steps: ({
1160
+ type: "vibrate";
1161
+ duration: number;
1162
+ intensity: number;
1163
+ } | {
1164
+ type: "pause";
1165
+ duration: number;
1166
+ intensity: number;
1167
+ })[];
1168
+ };
1169
+ angry: {
1170
+ name: string;
1171
+ steps: ({
1172
+ type: "vibrate";
1173
+ duration: number;
1174
+ intensity: number;
1175
+ } | {
1176
+ type: "pause";
1177
+ duration: number;
1178
+ intensity: number;
1179
+ })[];
1180
+ };
1181
+ surprised: {
1182
+ name: string;
1183
+ steps: ({
1184
+ type: "vibrate";
1185
+ duration: number;
1186
+ intensity: number;
1187
+ } | {
1188
+ type: "pause";
1189
+ duration: number;
1190
+ intensity: number;
1191
+ })[];
1192
+ };
1193
+ anxious: {
1194
+ name: string;
1195
+ steps: ({
1196
+ type: "vibrate";
1197
+ duration: number;
1198
+ intensity: number;
1199
+ } | {
1200
+ type: "pause";
1201
+ duration: number;
1202
+ intensity: number;
1203
+ })[];
1204
+ };
1205
+ confident: {
1206
+ name: string;
1207
+ steps: ({
1208
+ type: "vibrate";
1209
+ duration: number;
1210
+ intensity: number;
1211
+ } | {
1212
+ type: "pause";
1213
+ duration: number;
1214
+ intensity: number;
1215
+ })[];
1216
+ };
1217
+ playful: {
1218
+ name: string;
1219
+ steps: ({
1220
+ type: "vibrate";
1221
+ duration: number;
1222
+ intensity: number;
1223
+ } | {
1224
+ type: "pause";
1225
+ duration: number;
1226
+ intensity: number;
1227
+ })[];
1228
+ };
1229
+ romantic: {
1230
+ name: string;
1231
+ steps: ({
1232
+ type: "vibrate";
1233
+ duration: number;
1234
+ intensity: number;
1235
+ } | {
1236
+ type: "pause";
1237
+ duration: number;
1238
+ intensity: number;
1239
+ })[];
1240
+ };
1241
+ peaceful: {
1242
+ name: string;
1243
+ steps: ({
1244
+ type: "vibrate";
1245
+ duration: number;
1246
+ intensity: number;
1247
+ } | {
1248
+ type: "pause";
1249
+ duration: number;
1250
+ intensity: number;
1251
+ })[];
1252
+ };
1253
+ };
948
1254
  };
949
1255
 
950
- export { accessibility, gaming, notifications, presets, system, ui };
1256
+ export { accessibility, emotions, gaming, notifications, presets, system, ui };