@wakastellar/ui 3.5.0 → 3.5.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.
@@ -15,11 +15,11 @@ const meta: Meta<typeof WakaStreakCounter> = {
15
15
  },
16
16
  tags: ['autodocs'],
17
17
  argTypes: {
18
- streak: {
18
+ count: {
19
19
  control: { type: 'number', min: 0, max: 365 },
20
20
  description: 'Current streak count',
21
21
  },
22
- maxStreak: {
22
+ bestStreak: {
23
23
  control: { type: 'number', min: 0, max: 365 },
24
24
  description: 'Best streak achieved',
25
25
  },
@@ -49,8 +49,8 @@ type Story = StoryObj<typeof WakaStreakCounter>
49
49
 
50
50
  export const Default: Story = {
51
51
  args: {
52
- streak: 7,
53
- maxStreak: 14,
52
+ count: 7,
53
+ bestStreak: 14,
54
54
  size: 'md',
55
55
  variant: 'default',
56
56
  animated: true,
@@ -64,15 +64,15 @@ export const Variants: Story = {
64
64
  <div className="flex flex-wrap gap-6 items-start">
65
65
  <div className="text-center">
66
66
  <p className="text-sm text-muted-foreground mb-2">Default</p>
67
- <WakaStreakCounter streak={14} variant="default" />
67
+ <WakaStreakCounter count={14} variant="default" />
68
68
  </div>
69
69
  <div className="text-center">
70
70
  <p className="text-sm text-muted-foreground mb-2">Compact</p>
71
- <WakaStreakCounter streak={14} variant="compact" />
71
+ <WakaStreakCounter count={14} variant="compact" />
72
72
  </div>
73
73
  <div className="text-center">
74
74
  <p className="text-sm text-muted-foreground mb-2">Detailed</p>
75
- <WakaStreakCounter streak={14} maxStreak={30} variant="detailed" />
75
+ <WakaStreakCounter count={14} bestStreak={30} variant="detailed" />
76
76
  </div>
77
77
  </div>
78
78
  ),
@@ -83,15 +83,15 @@ export const Sizes: Story = {
83
83
  <div className="flex items-end gap-6">
84
84
  <div className="text-center">
85
85
  <p className="text-sm text-muted-foreground mb-2">Small</p>
86
- <WakaStreakCounter streak={5} size="sm" />
86
+ <WakaStreakCounter count={5} size="sm" />
87
87
  </div>
88
88
  <div className="text-center">
89
89
  <p className="text-sm text-muted-foreground mb-2">Medium</p>
90
- <WakaStreakCounter streak={10} size="md" />
90
+ <WakaStreakCounter count={10} size="md" />
91
91
  </div>
92
92
  <div className="text-center">
93
93
  <p className="text-sm text-muted-foreground mb-2">Large</p>
94
- <WakaStreakCounter streak={15} size="lg" />
94
+ <WakaStreakCounter count={15} size="lg" />
95
95
  </div>
96
96
  </div>
97
97
  ),
@@ -102,27 +102,27 @@ export const StreakLevels: Story = {
102
102
  <div className="grid grid-cols-2 gap-6">
103
103
  <div className="p-4 rounded-lg border text-center">
104
104
  <p className="text-sm text-muted-foreground mb-2">No Streak</p>
105
- <WakaStreakCounter streak={0} />
105
+ <WakaStreakCounter count={0} />
106
106
  </div>
107
107
  <div className="p-4 rounded-lg border text-center">
108
108
  <p className="text-sm text-muted-foreground mb-2">Starting (3 days)</p>
109
- <WakaStreakCounter streak={3} />
109
+ <WakaStreakCounter count={3} />
110
110
  </div>
111
111
  <div className="p-4 rounded-lg border text-center">
112
112
  <p className="text-sm text-muted-foreground mb-2">Week (7 days)</p>
113
- <WakaStreakCounter streak={7} />
113
+ <WakaStreakCounter count={7} />
114
114
  </div>
115
115
  <div className="p-4 rounded-lg border text-center">
116
116
  <p className="text-sm text-muted-foreground mb-2">Month (30 days)</p>
117
- <WakaStreakCounter streak={30} />
117
+ <WakaStreakCounter count={30} />
118
118
  </div>
119
119
  <div className="p-4 rounded-lg border text-center">
120
120
  <p className="text-sm text-muted-foreground mb-2">Quarter (90 days)</p>
121
- <WakaStreakCounter streak={90} />
121
+ <WakaStreakCounter count={90} />
122
122
  </div>
123
123
  <div className="p-4 rounded-lg border text-center">
124
124
  <p className="text-sm text-muted-foreground mb-2">Year (365 days)</p>
125
- <WakaStreakCounter streak={365} />
125
+ <WakaStreakCounter count={365} />
126
126
  </div>
127
127
  </div>
128
128
  ),
@@ -133,11 +133,11 @@ export const WithMaxStreak: Story = {
133
133
  <div className="space-y-6">
134
134
  <div className="p-4 rounded-lg border">
135
135
  <p className="text-sm text-muted-foreground mb-2">Current vs Best</p>
136
- <WakaStreakCounter streak={12} maxStreak={45} variant="detailed" />
136
+ <WakaStreakCounter count={12} bestStreak={45} variant="detailed" />
137
137
  </div>
138
138
  <div className="p-4 rounded-lg border">
139
139
  <p className="text-sm text-muted-foreground mb-2">New Personal Best!</p>
140
- <WakaStreakCounter streak={50} maxStreak={45} variant="detailed" />
140
+ <WakaStreakCounter count={50} bestStreak={45} variant="detailed" />
141
141
  </div>
142
142
  </div>
143
143
  ),
@@ -145,13 +145,13 @@ export const WithMaxStreak: Story = {
145
145
 
146
146
  export const Interactive: Story = {
147
147
  render: () => {
148
- const [streak, setStreak] = React.useState(5)
149
- const [maxStreak, setMaxStreak] = React.useState(10)
148
+ const [count, setStreak] = React.useState(5)
149
+ const [bestStreak, setMaxStreak] = React.useState(10)
150
150
 
151
151
  const incrementStreak = () => {
152
- const newStreak = streak + 1
152
+ const newStreak = count + 1
153
153
  setStreak(newStreak)
154
- if (newStreak > maxStreak) {
154
+ if (newStreak > bestStreak) {
155
155
  setMaxStreak(newStreak)
156
156
  }
157
157
  }
@@ -162,7 +162,7 @@ export const Interactive: Story = {
162
162
 
163
163
  return (
164
164
  <div className="space-y-6">
165
- <WakaStreakCounter streak={streak} maxStreak={maxStreak} variant="detailed" size="lg" />
165
+ <WakaStreakCounter count={count} bestStreak={bestStreak} variant="detailed" size="lg" />
166
166
 
167
167
  <div className="flex gap-2 justify-center">
168
168
  <button
@@ -196,7 +196,7 @@ export const DashboardWidget: Story = {
196
196
  <h3 className="font-semibold">Daily Streak</h3>
197
197
  <span className="text-xs text-muted-foreground">Keep it going!</span>
198
198
  </div>
199
- <WakaStreakCounter streak={21} maxStreak={35} variant="detailed" />
199
+ <WakaStreakCounter count={21} bestStreak={35} variant="detailed" />
200
200
  <div className="mt-4 pt-4 border-t">
201
201
  <div className="flex justify-between text-sm">
202
202
  <span className="text-muted-foreground">Next milestone</span>
@@ -212,10 +212,10 @@ export const MultipleUsers: Story = {
212
212
  <div className="space-y-4 w-[400px]">
213
213
  <h3 className="font-semibold">Leaderboard - Streaks</h3>
214
214
  {[
215
- { name: 'Alice', streak: 45, avatar: 'A' },
216
- { name: 'Bob', streak: 32, avatar: 'B' },
217
- { name: 'Carol', streak: 28, avatar: 'C' },
218
- { name: 'David', streak: 14, avatar: 'D' },
215
+ { name: 'Alice', count: 45, avatar: 'A' },
216
+ { name: 'Bob', count: 32, avatar: 'B' },
217
+ { name: 'Carol', count: 28, avatar: 'C' },
218
+ { name: 'David', count: 14, avatar: 'D' },
219
219
  ].map((user, index) => (
220
220
  <div key={user.name} className="flex items-center gap-3 p-3 rounded-lg border">
221
221
  <span className="text-lg font-bold text-muted-foreground w-6">#{index + 1}</span>
@@ -223,7 +223,7 @@ export const MultipleUsers: Story = {
223
223
  {user.avatar}
224
224
  </div>
225
225
  <span className="font-medium flex-1">{user.name}</span>
226
- <WakaStreakCounter streak={user.streak} variant="compact" size="sm" />
226
+ <WakaStreakCounter count={user.count} variant="compact" size="sm" />
227
227
  </div>
228
228
  ))}
229
229
  </div>
@@ -231,5 +231,5 @@ export const MultipleUsers: Story = {
231
231
  }
232
232
 
233
233
  export const NoAnimation: Story = {
234
- render: () => <WakaStreakCounter streak={15} animated={false} showFlame={false} />,
234
+ render: () => <WakaStreakCounter count={15} animated={false} showFlame={false} />,
235
235
  }
@@ -1 +0,0 @@
1
- var e=require(`./chunk-14q5BKub.js`).r({getPresetLoaders:()=>h,loadAIPlugins:()=>u,loadComboboxPlugins:()=>m,loadCorePlugins:()=>t,loadDiffPlugin:()=>p,loadDndPlugin:()=>a,loadEmojiPlugin:()=>d,loadFloatingPlugin:()=>f,loadIndentPlugin:()=>s,loadLinkPlugin:()=>n,loadMarkdownPlugin:()=>c,loadMediaPlugins:()=>r,loadMentionPlugins:()=>i,loadSelectionPlugin:()=>l,loadTocPlugin:()=>o});async function t(){let[e,t,n,r]=await Promise.all([import(`@platejs/basic-nodes/react`),import(`@platejs/table/react`),import(`@platejs/layout/react`),import(`@platejs/callout/react`)]);return[e.BoldPlugin,e.ItalicPlugin,e.UnderlinePlugin,e.StrikethroughPlugin,e.CodePlugin,e.HighlightPlugin,e.SuperscriptPlugin,e.SubscriptPlugin,e.H1Plugin,e.H2Plugin,e.H3Plugin,e.H4Plugin,e.H5Plugin,e.H6Plugin,e.BlockquotePlugin,t.TablePlugin,t.TableRowPlugin,t.TableCellPlugin,t.TableCellHeaderPlugin,n.ColumnPlugin,n.ColumnItemPlugin,r.CalloutPlugin]}async function n(){let{LinkPlugin:e}=await import(`@platejs/link/react`);return[e.configure({options:{allowedSchemes:[`http`,`https`,`mailto`,`tel`]}})]}async function r(){let{ImagePlugin:e,MediaEmbedPlugin:t}=await import(`@platejs/media/react`);return[e,t]}async function i(){let{MentionPlugin:e,MentionInputPlugin:t}=await import(`@platejs/mention/react`);return[e.configure({options:{trigger:`@`,triggerPreviousCharPattern:/^$|^[\s"']$/,insertSpaceAfterMention:!0}}),t]}async function a(){let{DndPlugin:e}=await import(`@platejs/dnd/react`);return[e]}async function o(){let{TocPlugin:e}=await import(`@platejs/toc/react`);return[e]}async function s(){let{IndentPlugin:e}=await import(`@platejs/indent/react`);return[e]}async function c(){let{MarkdownPlugin:e}=await import(`@platejs/markdown`);return[e]}async function l(){let{BlockSelectionPlugin:e}=await import(`@platejs/selection/react`);return[e]}async function u(e){let{AIPlugin:t,AIChatPlugin:n}=await import(`@platejs/ai/react`),r=[t];return e?.endpoint?r.push(n.configure({options:{chat:{api:e.endpoint,body:{system:e.systemPrompt??`You are a helpful writing assistant.`},headers:e.headers}}})):r.push(n),r}async function d(){let{EmojiPlugin:e}=await import(`@platejs/emoji/react`);return[e]}async function f(){return[]}async function p(){return[]}async function m(){let{SlashPlugin:e,SlashInputPlugin:t}=await import(`@platejs/combobox/react`);return[e.configure({options:{trigger:`/`,triggerPreviousCharPattern:/^$|^[\s"']$/}}),t]}function h(e){switch(e){case`minimal`:return[];case`standard`:return[n,s];case`full`:return[n,r,i,a,o,s,c,l]}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return n}});