rei-kit 2.2.0 → 2.3.1
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/README.md +108 -6
- package/dist/format-BEvBK1SJ.js +80 -0
- package/dist/format-BEvBK1SJ.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -53
- package/dist/index.js.map +1 -1
- package/dist/mobile.css +1 -0
- package/dist/motion/BaseMarquee.vue.d.ts +37 -0
- package/dist/motion/BaseReveal.vue.d.ts +34 -0
- package/dist/motion/CountUp.vue.d.ts +28 -0
- package/dist/motion/NumberTicker.vue.d.ts +33 -0
- package/dist/motion/TextRotate.vue.d.ts +24 -0
- package/dist/motion/TypeWriter.vue.d.ts +30 -0
- package/dist/motion/environment.d.ts +21 -0
- package/dist/motion/index.d.ts +15 -0
- package/dist/motion.css +119 -0
- package/dist/motion.js +434 -0
- package/dist/motion.js.map +1 -0
- package/dist/styles.css +154 -0
- package/dist/utils/format.d.ts +16 -0
- package/dist/web.css +1 -0
- package/package.json +9 -4
package/dist/styles.css
CHANGED
|
@@ -832,6 +832,160 @@ to {
|
|
|
832
832
|
inherits: false
|
|
833
833
|
}
|
|
834
834
|
|
|
835
|
+
/* A line height of its own, so a column is exactly one digit tall without
|
|
836
|
+
depending on `lh` units or on whatever line height the parent set. */
|
|
837
|
+
.rk-ticker[data-v-e2db153c] {
|
|
838
|
+
display: inline-flex;
|
|
839
|
+
line-height: 1.15;
|
|
840
|
+
font-variant-numeric: tabular-nums;
|
|
841
|
+
}
|
|
842
|
+
.rk-ticker-track[data-v-e2db153c] {
|
|
843
|
+
display: inline-flex;
|
|
844
|
+
white-space: pre;
|
|
845
|
+
}
|
|
846
|
+
.rk-ticker-digit[data-v-e2db153c] {
|
|
847
|
+
display: inline-block;
|
|
848
|
+
height: 1.15em;
|
|
849
|
+
overflow: hidden;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
/* Twice the slowest token: a roll is read, not glanced at. The small delay
|
|
853
|
+
per column, units first, is what makes it feel mechanical rather than
|
|
854
|
+
swapped. Both are tokens, so reduced motion takes them to zero. */
|
|
855
|
+
.rk-ticker-strip[data-v-e2db153c] {
|
|
856
|
+
display: flex;
|
|
857
|
+
flex-direction: column;
|
|
858
|
+
transition: transform calc(var(--duration-slower) * 2) var(--ease-standard);
|
|
859
|
+
transition-delay: calc(var(--duration-fast) / 5 * (var(--rk-ticker-order) - 1));
|
|
860
|
+
}
|
|
861
|
+
.rk-ticker-strip > span[data-v-e2db153c] {
|
|
862
|
+
height: 1.15em;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
/* Tabular figures, so the number does not shake sideways as it counts. */
|
|
866
|
+
.rk-count[data-v-3cefce6f] {
|
|
867
|
+
font-variant-numeric: tabular-nums;
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
.rk-rotate[data-v-2ca5182f] {
|
|
871
|
+
display: inline-block;
|
|
872
|
+
vertical-align: bottom;
|
|
873
|
+
}
|
|
874
|
+
.rk-rotate-word[data-v-2ca5182f] {
|
|
875
|
+
display: inline-block;
|
|
876
|
+
}
|
|
877
|
+
.rk-rotate-enter-active[data-v-2ca5182f],
|
|
878
|
+
.rk-rotate-leave-active[data-v-2ca5182f] {
|
|
879
|
+
transition:
|
|
880
|
+
opacity var(--duration-base) var(--ease-standard),
|
|
881
|
+
transform var(--duration-base) var(--ease-standard),
|
|
882
|
+
filter var(--duration-base) var(--ease-standard);
|
|
883
|
+
}
|
|
884
|
+
.rk-rotate-enter-from[data-v-2ca5182f] {
|
|
885
|
+
opacity: 0;
|
|
886
|
+
transform: translateY(40%);
|
|
887
|
+
filter: blur(4px);
|
|
888
|
+
}
|
|
889
|
+
.rk-rotate-leave-to[data-v-2ca5182f] {
|
|
890
|
+
opacity: 0;
|
|
891
|
+
transform: translateY(-40%);
|
|
892
|
+
filter: blur(4px);
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
.rk-type[data-v-05f176ab] {
|
|
896
|
+
white-space: pre-wrap;
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
/* A bar the height of the text, in its colour. */
|
|
900
|
+
.rk-type-cursor[data-v-05f176ab] {
|
|
901
|
+
display: inline-block;
|
|
902
|
+
width: 0.08em;
|
|
903
|
+
height: 1em;
|
|
904
|
+
margin-left: 0.06em;
|
|
905
|
+
vertical-align: -0.12em;
|
|
906
|
+
background: currentColor;
|
|
907
|
+
animation: rk-type-blink-05f176ab 1s steps(1) infinite;
|
|
908
|
+
}
|
|
909
|
+
@keyframes rk-type-blink-05f176ab {
|
|
910
|
+
50% {
|
|
911
|
+
opacity: 0;
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
@media (prefers-reduced-motion: reduce) {
|
|
915
|
+
.rk-type-cursor[data-v-05f176ab] {
|
|
916
|
+
animation: none;
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
.rk-reveal[data-v-c8b25508] {
|
|
921
|
+
transition:
|
|
922
|
+
opacity var(--duration-slower) var(--ease-standard),
|
|
923
|
+
transform var(--duration-slower) var(--ease-standard);
|
|
924
|
+
transition-delay: var(--rk-reveal-delay);
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
/* Hiding is instant; only arriving is animated. Otherwise an item leaving the
|
|
928
|
+
screen would fade out where nobody is looking and waste the frames. */
|
|
929
|
+
.rk-reveal.is-hidden[data-v-c8b25508] {
|
|
930
|
+
opacity: 0;
|
|
931
|
+
transition-duration: 0s;
|
|
932
|
+
transition-delay: 0s;
|
|
933
|
+
}
|
|
934
|
+
.rk-reveal-rise.is-hidden[data-v-c8b25508] {
|
|
935
|
+
transform: translateY(1rem);
|
|
936
|
+
}
|
|
937
|
+
.rk-reveal-scale.is-hidden[data-v-c8b25508] {
|
|
938
|
+
transform: scale(0.96);
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
.rk-marquee[data-v-9a25b43d] {
|
|
942
|
+
display: flex;
|
|
943
|
+
overflow: hidden;
|
|
944
|
+
}
|
|
945
|
+
.rk-marquee.is-faded[data-v-9a25b43d] {
|
|
946
|
+
mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
|
|
947
|
+
}
|
|
948
|
+
.rk-marquee-track[data-v-9a25b43d] {
|
|
949
|
+
display: flex;
|
|
950
|
+
width: max-content;
|
|
951
|
+
animation: rk-marquee-9a25b43d var(--rk-marquee-duration) linear infinite;
|
|
952
|
+
}
|
|
953
|
+
.rk-marquee.is-reverse .rk-marquee-track[data-v-9a25b43d] {
|
|
954
|
+
animation-direction: reverse;
|
|
955
|
+
}
|
|
956
|
+
.rk-marquee.is-paused .rk-marquee-track[data-v-9a25b43d],
|
|
957
|
+
.rk-marquee:hover .rk-marquee-track[data-v-9a25b43d],
|
|
958
|
+
.rk-marquee:focus-within .rk-marquee-track[data-v-9a25b43d] {
|
|
959
|
+
animation-play-state: paused;
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
/* Each group ends in the gap, so moving by exactly half the track lands the
|
|
963
|
+
second copy where the first began. */
|
|
964
|
+
.rk-marquee-group[data-v-9a25b43d] {
|
|
965
|
+
display: flex;
|
|
966
|
+
flex-shrink: 0;
|
|
967
|
+
align-items: center;
|
|
968
|
+
gap: var(--rk-marquee-gap);
|
|
969
|
+
padding-inline-end: var(--rk-marquee-gap);
|
|
970
|
+
}
|
|
971
|
+
@keyframes rk-marquee-9a25b43d {
|
|
972
|
+
to {
|
|
973
|
+
transform: translateX(-50%);
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
@media (prefers-reduced-motion: reduce) {
|
|
977
|
+
.rk-marquee[data-v-9a25b43d] {
|
|
978
|
+
overflow-x: auto;
|
|
979
|
+
mask-image: none;
|
|
980
|
+
}
|
|
981
|
+
.rk-marquee-track[data-v-9a25b43d] {
|
|
982
|
+
animation: none;
|
|
983
|
+
}
|
|
984
|
+
.rk-marquee-group[aria-hidden='true'][data-v-9a25b43d] {
|
|
985
|
+
display: none;
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
|
|
835
989
|
.install-enter-active[data-v-552a4ac9],
|
|
836
990
|
.install-leave-active[data-v-552a4ac9] {
|
|
837
991
|
transition:
|
package/dist/utils/format.d.ts
CHANGED
|
@@ -22,3 +22,19 @@ export declare function setFormatLocale(next: string): void;
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
export declare function formatDate(date: Date, options: Intl.DateTimeFormatOptions): string;
|
|
25
|
+
/**
|
|
26
|
+
* Formats a number in the active locale, or in `tag` when one is given.
|
|
27
|
+
*
|
|
28
|
+
* The same cache and the same locale as `formatDate`, so a counter and the
|
|
29
|
+
* date beside it change language together.
|
|
30
|
+
*
|
|
31
|
+
* @param value - Number to format.
|
|
32
|
+
* @param options - Passed straight to `Intl.NumberFormat`: currency, percent, decimals.
|
|
33
|
+
* @param tag - A BCP 47 tag that overrides the active locale for this call.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* formatNumber(48200, { style: 'currency', currency: 'JPY' }) // '¥48,200'
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatNumber(value: number, options?: Intl.NumberFormatOptions, tag?: string): string;
|
package/dist/web.css
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rei-kit",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "One kit, every look.
|
|
3
|
+
"version": "2.3.1",
|
|
4
|
+
"description": "One kit, every look. 59 accessible Vue 3 + Tailwind 4 components, four materials (quiet, glass, brutal, soft) and ten WCAG-checked palettes, each switched with one attribute.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
7
7
|
"vue3",
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"./materials/brutal.css": "./dist/materials/brutal.css",
|
|
59
59
|
"./materials/soft.css": "./dist/materials/soft.css",
|
|
60
60
|
"./palettes.css": "./dist/palettes.css",
|
|
61
|
+
"./motion.css": "./dist/motion.css",
|
|
61
62
|
"./app": {
|
|
62
63
|
"types": "./dist/app/index.d.ts",
|
|
63
64
|
"import": "./dist/app.js"
|
|
@@ -70,6 +71,10 @@
|
|
|
70
71
|
"types": "./dist/pwa/index.d.ts",
|
|
71
72
|
"import": "./dist/pwa.js"
|
|
72
73
|
},
|
|
74
|
+
"./motion": {
|
|
75
|
+
"types": "./dist/motion/index.d.ts",
|
|
76
|
+
"import": "./dist/motion.js"
|
|
77
|
+
},
|
|
73
78
|
"./supabase": {
|
|
74
79
|
"types": "./dist/supabase/index.d.ts",
|
|
75
80
|
"import": "./dist/supabase.js"
|
|
@@ -83,8 +88,8 @@
|
|
|
83
88
|
"dev": "vite build --watch",
|
|
84
89
|
"build": "run-s type-check build-only",
|
|
85
90
|
"build-only": "vite build && node scripts/verify-bundle.mjs",
|
|
86
|
-
"showcase": "node scripts/extract-props.mjs && vite --config vite.showcase.config.ts",
|
|
87
|
-
"showcase:build": "node scripts/extract-props.mjs && vite build --config vite.showcase.config.ts",
|
|
91
|
+
"showcase": "node scripts/extract-props.mjs && node scripts/extract-examples.mjs && vite --config vite.showcase.config.ts",
|
|
92
|
+
"showcase:build": "node scripts/extract-props.mjs && node scripts/extract-examples.mjs && vite build --config vite.showcase.config.ts",
|
|
88
93
|
"type-check": "vue-tsc --build",
|
|
89
94
|
"test:unit": "vitest",
|
|
90
95
|
"test:ci": "vitest run",
|