@flickfyi/flkr 0.0.182 → 0.0.185
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/dist/{api-client-CAg1b8Bh.js → api-client-nn4U_Vfn.js} +1 -1
- package/dist/{app-DpM5nhb9.js → app-COXGJhrt.js} +3 -3
- package/dist/{bundler-DNrDcqyk.js → bundler-CW4YC73e.js} +4 -2
- package/dist/cli.js +11 -11
- package/dist/{delegate-DcVye0KE.js → delegate-aUVluBjB.js} +2 -2
- package/dist/{generate-B1l1z_FZ.js → generate-BeL1QPDi.js} +1 -1
- package/dist/{preview-Dqn_Tq6K.js → preview-DTVM8Csb.js} +2 -2
- package/dist/{publish-BmDqO1xU.js → publish-BJG-s-w5.js} +4 -4
- package/dist/{pull-CO80DMn8.js → pull-B_Yfjpi2.js} +1 -1
- package/dist/{save-8crfOeo1.js → save-UrfgmK2-.js} +2 -2
- package/dist/{sdk-app-BXWrf_pf.js → sdk-app-BAxznAf9.js} +3 -3
- package/dist/{sdk-deploy-CaEonlvx.js → sdk-deploy-D1wgQxse.js} +3 -3
- package/dist/{sdk-generation-CF8ATbrL.js → sdk-generation-CLQ-QrVM.js} +1 -1
- package/dist/{sdk-project-CKV3U3u9.js → sdk-project-BaO0fqhW.js} +1 -1
- package/dist/{use-auth-B6nwU2rp.js → use-auth-CtM4_BAY.js} +1 -1
- package/node_modules/@flickfyi/biscuit/.turbo/turbo-build.log +4 -4
- package/node_modules/@flickfyi/core/README.md +19 -9
- package/node_modules/@flickfyi/core/dist/chunks/{default-CuxDsQoM.js → default-BTmKidHV.js} +1 -1
- package/node_modules/@flickfyi/core/dist/chunks/{default-BB6YexEH.cjs → default-JhTq5I_y.cjs} +1 -1
- package/node_modules/@flickfyi/core/dist/chunks/{define-CUJRqVKY.cjs → define-BKCRhpuY.cjs} +1 -1
- package/node_modules/@flickfyi/core/dist/chunks/{define-e_VqSs4M.js → define-DZXgUsy7.js} +5 -5
- package/node_modules/@flickfyi/core/dist/kowalski/catalog.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/kowalski/catalog.js +728 -549
- package/node_modules/@flickfyi/core/dist/kowalski/index.cjs +5 -5
- package/node_modules/@flickfyi/core/dist/kowalski/index.js +4297 -3700
- package/node_modules/@flickfyi/core/dist/kowalski/schemas.cjs +1 -0
- package/node_modules/@flickfyi/core/dist/kowalski/schemas.js +637 -0
- package/node_modules/@flickfyi/core/dist/kowalski-catalog.css +516 -0
- package/node_modules/@flickfyi/core/dist/kowalski.css +10 -0
- package/node_modules/@flickfyi/core/dist/themes/athletic/athletic.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/athletic/athletic.js +1 -1
- package/node_modules/@flickfyi/core/dist/themes/compact/compact.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/compact/compact.js +1 -1
- package/node_modules/@flickfyi/core/dist/themes/default/default.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/default/default.js +1 -1
- package/node_modules/@flickfyi/core/dist/themes/editorial/editorial.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/editorial/editorial.js +1 -1
- package/node_modules/@flickfyi/core/dist/themes/handwritten/handwritten.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/handwritten/handwritten.js +1 -1
- package/node_modules/@flickfyi/core/dist/themes/index.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/index.js +1 -1
- package/node_modules/@flickfyi/core/dist/themes/kids/kids.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/kids/kids.js +1 -1
- package/node_modules/@flickfyi/core/dist/themes/rounded/rounded.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/rounded/rounded.js +1 -1
- package/node_modules/@flickfyi/core/dist/themes/technical/technical.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/themes/technical/technical.js +1 -1
- package/node_modules/@flickfyi/core/dist-types/hooks/use-feature-store/index.d.ts +43 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/calculations.d.ts +57 -3
- package/node_modules/@flickfyi/core/dist-types/kowalski/calculator.d.ts +7 -6
- package/node_modules/@flickfyi/core/dist-types/kowalski/catalog.d.cts +524 -809
- package/node_modules/@flickfyi/core/dist-types/kowalski/catalog.d.ts +524 -809
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/bill-split.d.ts +38 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/bookmark.d.ts +48 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/budget.d.ts +39 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/calculator.d.ts +62 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/checklist.d.ts +35 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/color-palette.d.ts +32 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/contact.d.ts +41 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/countdown.d.ts +34 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/event.d.ts +43 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/expense.d.ts +40 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/goal.d.ts +36 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/habit.d.ts +57 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/ledger.d.ts +43 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/note.d.ts +35 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/poll.d.ts +41 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/random-picker.d.ts +69 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/rating.d.ts +33 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/reminder.d.ts +48 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/rotation.d.ts +39 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/scoreboard.d.ts +37 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/shopping-list.d.ts +41 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/task-board.d.ts +39 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/time-zone.d.ts +34 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/timer.d.ts +43 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/trip.d.ts +61 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/components/unit-converter.d.ts +106 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/create-schemas.d.ts +6 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/date-time.d.ts +1 -1
- package/node_modules/@flickfyi/core/dist-types/kowalski/everyday.d.ts +28 -8
- package/node_modules/@flickfyi/core/dist-types/kowalski/feature-schema.d.ts +65 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/format.d.ts +4 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/fortune.d.ts +21 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/frame.d.ts +4 -4
- package/node_modules/@flickfyi/core/dist-types/kowalski/index.d.cts +31 -7
- package/node_modules/@flickfyi/core/dist-types/kowalski/index.d.ts +31 -7
- package/node_modules/@flickfyi/core/dist-types/kowalski/lesson.d.ts +89 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/recipe.d.ts +129 -8
- package/node_modules/@flickfyi/core/dist-types/kowalski/schemas.d.cts +4 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/schemas.d.ts +4 -0
- package/node_modules/@flickfyi/core/dist-types/kowalski/time-since.d.ts +34 -0
- package/node_modules/@flickfyi/core/examples/example-metadata.ts +19 -2
- package/node_modules/@flickfyi/core/examples/kowalski/bill-split/bill-split.stories.tsx +25 -6
- package/node_modules/@flickfyi/core/examples/kowalski/bill-split/bill-split.tsx +6 -12
- package/node_modules/@flickfyi/core/examples/kowalski/bookmark/bookmark.stories.tsx +22 -5
- package/node_modules/@flickfyi/core/examples/kowalski/bookmark/bookmark.tsx +6 -18
- package/node_modules/@flickfyi/core/examples/kowalski/budget/budget.stories.tsx +26 -5
- package/node_modules/@flickfyi/core/examples/kowalski/budget/budget.tsx +6 -21
- package/node_modules/@flickfyi/core/examples/kowalski/calculator/calculator.stories.tsx +18 -5
- package/node_modules/@flickfyi/core/examples/kowalski/calculator/calculator.tsx +6 -19
- package/node_modules/@flickfyi/core/examples/kowalski/checklist/checklist.stories.tsx +25 -5
- package/node_modules/@flickfyi/core/examples/kowalski/checklist/checklist.tsx +6 -21
- package/node_modules/@flickfyi/core/examples/kowalski/color-palette/color-palette.stories.tsx +19 -6
- package/node_modules/@flickfyi/core/examples/kowalski/color-palette/color-palette.tsx +6 -17
- package/node_modules/@flickfyi/core/examples/kowalski/contact/contact.stories.tsx +30 -5
- package/node_modules/@flickfyi/core/examples/kowalski/contact/contact.tsx +6 -18
- package/node_modules/@flickfyi/core/examples/kowalski/countdown/countdown.stories.tsx +22 -5
- package/node_modules/@flickfyi/core/examples/kowalski/countdown/countdown.tsx +6 -18
- package/node_modules/@flickfyi/core/examples/kowalski/event/event.stories.tsx +23 -5
- package/node_modules/@flickfyi/core/examples/kowalski/event/event.tsx +6 -19
- package/node_modules/@flickfyi/core/examples/kowalski/expense/expense.stories.tsx +23 -5
- package/node_modules/@flickfyi/core/examples/kowalski/expense/expense.tsx +6 -18
- package/node_modules/@flickfyi/core/examples/kowalski/fortune/fortune.stories.tsx +61 -0
- package/node_modules/@flickfyi/core/examples/kowalski/fortune/fortune.tsx +11 -0
- package/node_modules/@flickfyi/core/examples/kowalski/goal/goal.stories.tsx +18 -5
- package/node_modules/@flickfyi/core/examples/kowalski/goal/goal.tsx +3 -19
- package/node_modules/@flickfyi/core/examples/kowalski/habit/habit.stories.tsx +22 -5
- package/node_modules/@flickfyi/core/examples/kowalski/habit/habit.tsx +6 -18
- package/node_modules/@flickfyi/core/examples/kowalski/ledger/ledger.stories.tsx +25 -5
- package/node_modules/@flickfyi/core/examples/kowalski/ledger/ledger.tsx +6 -20
- package/node_modules/@flickfyi/core/examples/kowalski/lesson/lesson.stories.tsx +99 -0
- package/node_modules/@flickfyi/core/examples/kowalski/lesson/lesson.tsx +11 -0
- package/node_modules/@flickfyi/core/examples/kowalski/note/note.stories.tsx +21 -5
- package/node_modules/@flickfyi/core/examples/kowalski/note/note.tsx +3 -17
- package/node_modules/@flickfyi/core/examples/kowalski/poll/poll.stories.tsx +26 -5
- package/node_modules/@flickfyi/core/examples/kowalski/poll/poll.tsx +3 -21
- package/node_modules/@flickfyi/core/examples/kowalski/random-picker/random-picker.stories.tsx +37 -6
- package/node_modules/@flickfyi/core/examples/kowalski/random-picker/random-picker.tsx +6 -18
- package/node_modules/@flickfyi/core/examples/kowalski/rating/rating.stories.tsx +18 -5
- package/node_modules/@flickfyi/core/examples/kowalski/rating/rating.tsx +6 -14
- package/node_modules/@flickfyi/core/examples/kowalski/recipe/recipe.stories.tsx +117 -5
- package/node_modules/@flickfyi/core/examples/kowalski/recipe/recipe.tsx +6 -115
- package/node_modules/@flickfyi/core/examples/kowalski/reminder/reminder.stories.tsx +22 -5
- package/node_modules/@flickfyi/core/examples/kowalski/reminder/reminder.tsx +6 -18
- package/node_modules/@flickfyi/core/examples/kowalski/rotation/rotation.stories.tsx +26 -5
- package/node_modules/@flickfyi/core/examples/kowalski/rotation/rotation.tsx +6 -22
- package/node_modules/@flickfyi/core/examples/kowalski/scoreboard/scoreboard.stories.tsx +26 -5
- package/node_modules/@flickfyi/core/examples/kowalski/scoreboard/scoreboard.tsx +6 -21
- package/node_modules/@flickfyi/core/examples/kowalski/shopping-list/shopping-list.stories.tsx +28 -6
- package/node_modules/@flickfyi/core/examples/kowalski/shopping-list/shopping-list.tsx +6 -22
- package/node_modules/@flickfyi/core/examples/kowalski/task-board/task-board.stories.tsx +27 -6
- package/node_modules/@flickfyi/core/examples/kowalski/task-board/task-board.tsx +6 -22
- package/node_modules/@flickfyi/core/examples/kowalski/time-since/time-since.stories.tsx +33 -0
- package/node_modules/@flickfyi/core/examples/kowalski/time-since/time-since.tsx +12 -0
- package/node_modules/@flickfyi/core/examples/kowalski/time-zone/time-zone.stories.tsx +22 -6
- package/node_modules/@flickfyi/core/examples/kowalski/time-zone/time-zone.tsx +6 -17
- package/node_modules/@flickfyi/core/examples/kowalski/timer/timer.stories.tsx +18 -5
- package/node_modules/@flickfyi/core/examples/kowalski/timer/timer.tsx +6 -18
- package/node_modules/@flickfyi/core/examples/kowalski/trip/trip.stories.tsx +25 -5
- package/node_modules/@flickfyi/core/examples/kowalski/trip/trip.tsx +3 -21
- package/node_modules/@flickfyi/core/examples/kowalski/unit-converter/unit-converter.stories.tsx +19 -6
- package/node_modules/@flickfyi/core/examples/kowalski/unit-converter/unit-converter.tsx +6 -19
- package/node_modules/@flickfyi/core/examples/parrott/calculator/calculator.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/calculator/calculator.tsx +2 -13
- package/node_modules/@flickfyi/core/examples/parrott/checklist/checklist.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/checklist/checklist.tsx +0 -8
- package/node_modules/@flickfyi/core/examples/parrott/countdown/countdown.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/countdown/countdown.tsx +0 -8
- package/node_modules/@flickfyi/core/examples/parrott/counter/counter.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/counter/counter.tsx +0 -8
- package/node_modules/@flickfyi/core/examples/parrott/fortune/fortune.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/fortune/fortune.tsx +0 -8
- package/node_modules/@flickfyi/core/examples/parrott/grid/grid.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/grid/grid.tsx +4 -9
- package/node_modules/@flickfyi/core/examples/parrott/kale-smoothie/kale-smoothie.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/kale-smoothie/kale-smoothie.tsx +0 -8
- package/node_modules/@flickfyi/core/examples/parrott/list/list.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/list/list.tsx +0 -8
- package/node_modules/@flickfyi/core/examples/parrott/log/log.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/log/log.tsx +0 -8
- package/node_modules/@flickfyi/core/examples/parrott/timed-task/timed-task.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/timed-task/timed-task.tsx +0 -8
- package/node_modules/@flickfyi/core/examples/parrott/timer/timer.stories.tsx +10 -3
- package/node_modules/@flickfyi/core/examples/parrott/timer/timer.tsx +0 -8
- package/node_modules/@flickfyi/core/package.json +16 -3
- package/node_modules/@flickfyi/core/src/{kowalski/use-configured-feature.ts → hooks/use-configured-feature/index.ts} +1 -1
- package/node_modules/@flickfyi/core/src/{kowalski/use-feature-store.ts → hooks/use-feature-store/index.ts} +37 -12
- package/node_modules/@flickfyi/core/src/kowalski/README.md +13 -0
- package/node_modules/@flickfyi/core/src/kowalski/calculations.ts +36 -8
- package/node_modules/@flickfyi/core/src/kowalski/calculator.ts +15 -7
- package/node_modules/@flickfyi/core/src/kowalski/catalog.ts +110 -704
- package/node_modules/@flickfyi/core/src/kowalski/components/bill-split.tsx +284 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/bookmark.tsx +347 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/budget.tsx +169 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/calculator.tsx +202 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/checklist.tsx +119 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/color-palette.tsx +302 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/contact.tsx +247 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/countdown.tsx +173 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/event.tsx +260 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/expense.tsx +257 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/goal.tsx +182 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/habit.tsx +272 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/ledger.tsx +211 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/note.tsx +188 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/poll.tsx +242 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/random-picker.tsx +308 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/rating.tsx +112 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/reminder.tsx +298 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/rotation.tsx +146 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/scoreboard.tsx +139 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/shopping-list.tsx +144 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/task-board.tsx +146 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/time-zone.tsx +240 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/timer.tsx +225 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/trip.tsx +338 -0
- package/node_modules/@flickfyi/core/src/kowalski/components/unit-converter.tsx +285 -0
- package/node_modules/@flickfyi/core/src/kowalski/create-schemas.ts +8 -0
- package/node_modules/@flickfyi/core/src/kowalski/date-time.tsx +1 -1
- package/node_modules/@flickfyi/core/src/kowalski/everyday.tsx +1 -640
- package/node_modules/@flickfyi/core/src/kowalski/feature-schema.ts +84 -0
- package/node_modules/@flickfyi/core/src/kowalski/format.ts +29 -3
- package/node_modules/@flickfyi/core/src/kowalski/fortune.tsx +67 -0
- package/node_modules/@flickfyi/core/src/kowalski/frame.tsx +5 -6
- package/node_modules/@flickfyi/core/src/kowalski/index.ts +31 -22
- package/node_modules/@flickfyi/core/src/kowalski/lesson.tsx +564 -0
- package/node_modules/@flickfyi/core/src/kowalski/recipe.tsx +78 -37
- package/node_modules/@flickfyi/core/src/kowalski/schemas.ts +67 -0
- package/node_modules/@flickfyi/core/src/kowalski/stories/composition.tsx +22 -20
- package/node_modules/@flickfyi/core/src/kowalski/time-since.tsx +145 -0
- package/node_modules/@flickfyi/core/src/molecules/progress/progress.tsx +4 -1
- package/node_modules/@flickfyi/core/src/oklch.ts +1 -6
- package/node_modules/@flickfyi/core/src/parrott/theme.ts +3 -1
- package/node_modules/@flickfyi/core/src/themes/editorial/editorial.ts +6 -1
- package/node_modules/@flickfyi/core/src/themes/palette.ts +5 -5
- package/node_modules/@flickfyi/core/src/themes/stories/composition.tsx +11 -9
- package/node_modules/@flickfyi/core/src/themes/stories/gallery.tsx +7 -11
- package/node_modules/@flickfyi/core/tsgo.bun.lock +7 -7
- package/node_modules/@flickfyi/core/tsgo.package.json +1 -1
- package/package.json +2 -2
- package/node_modules/@flickfyi/core/dist-types/kowalski/clocks.d.ts +0 -4
- package/node_modules/@flickfyi/core/dist-types/kowalski/details.d.ts +0 -7
- package/node_modules/@flickfyi/core/dist-types/kowalski/productivity.d.ts +0 -5
- package/node_modules/@flickfyi/core/dist-types/kowalski/tools.d.ts +0 -7
- package/node_modules/@flickfyi/core/dist-types/kowalski/use-feature-store.d.ts +0 -15
- package/node_modules/@flickfyi/core/src/kowalski/clocks.tsx +0 -464
- package/node_modules/@flickfyi/core/src/kowalski/details.tsx +0 -1387
- package/node_modules/@flickfyi/core/src/kowalski/productivity.tsx +0 -575
- package/node_modules/@flickfyi/core/src/kowalski/tools.tsx +0 -1213
- /package/node_modules/@flickfyi/core/dist-types/{kowalski/use-clock.d.ts → hooks/use-clock/index.d.ts} +0 -0
- /package/node_modules/@flickfyi/core/dist-types/{kowalski/use-configured-feature.d.ts → hooks/use-configured-feature/index.d.ts} +0 -0
- /package/node_modules/@flickfyi/core/src/{kowalski/use-clock.ts → hooks/use-clock/index.ts} +0 -0
|
@@ -1,15 +1,36 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BudgetData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
2
6
|
|
|
3
7
|
import BudgetExample from './budget'
|
|
4
8
|
import exampleSource from './budget.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = BudgetData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(BudgetData),
|
|
14
|
+
args: {
|
|
15
|
+
categories: [
|
|
16
|
+
{ id: 'groceries', label: 'Groceries', limit: 400 },
|
|
17
|
+
{ id: 'eating', label: 'Eating out', limit: 150 },
|
|
18
|
+
{ id: 'transport', label: 'Transport', limit: 120 },
|
|
19
|
+
],
|
|
20
|
+
currency: 'USD',
|
|
21
|
+
title: 'October',
|
|
22
|
+
},
|
|
8
23
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
24
|
+
render: args => <BudgetExample {...storyProps.parse(args)} />,
|
|
9
25
|
title: 'Kowalski/Budget',
|
|
10
|
-
} satisfies Meta<typeof
|
|
26
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
27
|
|
|
12
28
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
29
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
30
|
+
args: {
|
|
31
|
+
description:
|
|
32
|
+
'An instantiatable Budget from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
33
|
+
enabled: false,
|
|
34
|
+
name: 'Budget',
|
|
35
|
+
},
|
|
15
36
|
}
|
|
@@ -1,26 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { Budget } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { Budget, type BudgetProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function BudgetExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<BudgetProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Budget
|
|
12
|
-
categories={[
|
|
13
|
-
{ id: 'groceries', label: 'Groceries', limit: 400 },
|
|
14
|
-
{ id: 'eating', label: 'Eating out', limit: 150 },
|
|
15
|
-
{ id: 'transport', label: 'Transport', limit: 120 },
|
|
16
|
-
]}
|
|
17
|
-
title="October"
|
|
18
|
-
/>
|
|
19
|
-
)
|
|
10
|
+
return <Budget data={data} style={style} />
|
|
20
11
|
}
|
|
21
|
-
|
|
22
|
-
export const exampleMetadata = {
|
|
23
|
-
description:
|
|
24
|
-
'An instantiatable Budget from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
25
|
-
name: 'Budget',
|
|
26
|
-
} satisfies ExampleMetadata
|
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CalculatorData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
2
6
|
|
|
3
7
|
import CalculatorExample from './calculator'
|
|
4
8
|
import exampleSource from './calculator.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = CalculatorData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(CalculatorData),
|
|
14
|
+
args: { left: 24, operator: '*', right: 7, title: 'Work it out' },
|
|
8
15
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
16
|
+
render: args => <CalculatorExample {...storyProps.parse(args)} />,
|
|
9
17
|
title: 'Kowalski/Calculator',
|
|
10
|
-
} satisfies Meta<typeof
|
|
18
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
19
|
|
|
12
20
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
21
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
22
|
+
args: {
|
|
23
|
+
description:
|
|
24
|
+
'An instantiatable Calculator from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
25
|
+
enabled: false,
|
|
26
|
+
name: 'Calculator',
|
|
27
|
+
},
|
|
15
28
|
}
|
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { Calculator } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { Calculator, type CalculatorProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function CalculatorExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<CalculatorProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Calculator
|
|
12
|
-
left={24}
|
|
13
|
-
operator="*"
|
|
14
|
-
right={7}
|
|
15
|
-
title="Work it out"
|
|
16
|
-
/>
|
|
17
|
-
)
|
|
10
|
+
return <Calculator data={data} style={style} />
|
|
18
11
|
}
|
|
19
|
-
|
|
20
|
-
export const exampleMetadata = {
|
|
21
|
-
description:
|
|
22
|
-
'An instantiatable Calculator from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
23
|
-
name: 'Calculator',
|
|
24
|
-
} satisfies ExampleMetadata
|
|
@@ -1,15 +1,35 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ChecklistData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
2
6
|
|
|
3
7
|
import ChecklistExample from './checklist'
|
|
4
8
|
import exampleSource from './checklist.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = ChecklistData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(ChecklistData),
|
|
14
|
+
args: {
|
|
15
|
+
items: [
|
|
16
|
+
{ id: 'water', label: 'Fill water bottle' },
|
|
17
|
+
{ id: 'layers', label: 'Pack a warm layer' },
|
|
18
|
+
{ id: 'route', label: 'Save the route' },
|
|
19
|
+
],
|
|
20
|
+
title: 'Ready for the trail',
|
|
21
|
+
},
|
|
8
22
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
23
|
+
render: args => <ChecklistExample {...storyProps.parse(args)} />,
|
|
9
24
|
title: 'Kowalski/Checklist',
|
|
10
|
-
} satisfies Meta<typeof
|
|
25
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
26
|
|
|
12
27
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
28
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
29
|
+
args: {
|
|
30
|
+
description:
|
|
31
|
+
'An instantiatable Checklist from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
32
|
+
enabled: false,
|
|
33
|
+
name: 'Checklist',
|
|
34
|
+
},
|
|
15
35
|
}
|
|
@@ -1,26 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { Checklist } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { Checklist, type ChecklistProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function ChecklistExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<ChecklistProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Checklist
|
|
12
|
-
items={[
|
|
13
|
-
{ id: 'water', label: 'Fill water bottle' },
|
|
14
|
-
{ id: 'layers', label: 'Pack a warm layer' },
|
|
15
|
-
{ id: 'route', label: 'Save the route' },
|
|
16
|
-
]}
|
|
17
|
-
title="Ready for the trail"
|
|
18
|
-
/>
|
|
19
|
-
)
|
|
10
|
+
return <Checklist data={data} style={style} />
|
|
20
11
|
}
|
|
21
|
-
|
|
22
|
-
export const exampleMetadata = {
|
|
23
|
-
description:
|
|
24
|
-
'An instantiatable Checklist from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
25
|
-
name: 'Checklist',
|
|
26
|
-
} satisfies ExampleMetadata
|
package/node_modules/@flickfyi/core/examples/kowalski/color-palette/color-palette.stories.tsx
CHANGED
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ColorPaletteData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
2
6
|
|
|
3
7
|
import ColorPaletteExample from './color-palette'
|
|
4
8
|
import exampleSource from './color-palette.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = ColorPaletteData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(ColorPaletteData),
|
|
14
|
+
args: { color: '#7c6ee6', title: 'Violet palette' },
|
|
8
15
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
render: args => <ColorPaletteExample {...storyProps.parse(args)} />,
|
|
17
|
+
title: 'Kowalski/Color palette',
|
|
18
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
19
|
|
|
12
20
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
21
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
22
|
+
args: {
|
|
23
|
+
description:
|
|
24
|
+
'An instantiatable ColorPalette from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
25
|
+
enabled: false,
|
|
26
|
+
name: 'Color palette',
|
|
27
|
+
},
|
|
15
28
|
}
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { ColorPalette } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { ColorPalette, type ColorPaletteProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function ColorPaletteExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<ColorPaletteProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<ColorPalette
|
|
12
|
-
color="#7c6ee6"
|
|
13
|
-
title="Violet palette"
|
|
14
|
-
/>
|
|
15
|
-
)
|
|
10
|
+
return <ColorPalette data={data} style={style} />
|
|
16
11
|
}
|
|
17
|
-
|
|
18
|
-
export const exampleMetadata = {
|
|
19
|
-
description:
|
|
20
|
-
'An instantiatable ColorPalette from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
21
|
-
name: 'ColorPalette',
|
|
22
|
-
} satisfies ExampleMetadata
|
|
@@ -1,15 +1,40 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ContactData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
2
6
|
|
|
3
7
|
import ContactExample from './contact'
|
|
4
8
|
import exampleSource from './contact.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = ContactData.omit({ name: true })
|
|
12
|
+
.strip()
|
|
13
|
+
.extend({
|
|
14
|
+
'data.name': ContactData.shape.name,
|
|
15
|
+
})
|
|
16
|
+
.transform(({ 'data.name': name, ...data }) => ({ data: { ...data, name } }))
|
|
6
17
|
const meta = {
|
|
7
|
-
|
|
18
|
+
argTypes: {
|
|
19
|
+
...schemaArgTypes(ContactData.omit({ name: true })),
|
|
20
|
+
'data.name': { description: ContactData.shape.name.description, name: 'Name' },
|
|
21
|
+
},
|
|
22
|
+
args: {
|
|
23
|
+
'data.name': 'Alex Morgan',
|
|
24
|
+
email: 'alex@example.com',
|
|
25
|
+
phone: '+1 415 555 0128',
|
|
26
|
+
},
|
|
8
27
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
28
|
+
render: args => <ContactExample {...storyProps.parse(args)} />,
|
|
9
29
|
title: 'Kowalski/Contact',
|
|
10
|
-
} satisfies Meta<typeof
|
|
30
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
31
|
|
|
12
32
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
33
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
34
|
+
args: {
|
|
35
|
+
description:
|
|
36
|
+
'An instantiatable Contact from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
37
|
+
enabled: false,
|
|
38
|
+
name: 'Contact',
|
|
39
|
+
},
|
|
15
40
|
}
|
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { Contact } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { Contact, type ContactProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function ContactExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<ContactProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Contact
|
|
12
|
-
email="alex@example.com"
|
|
13
|
-
name="Alex Morgan"
|
|
14
|
-
phone="+1 415 555 0128"
|
|
15
|
-
/>
|
|
16
|
-
)
|
|
10
|
+
return <Contact data={data} style={style} />
|
|
17
11
|
}
|
|
18
|
-
|
|
19
|
-
export const exampleMetadata = {
|
|
20
|
-
description:
|
|
21
|
-
'An instantiatable Contact from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
22
|
-
name: 'Contact',
|
|
23
|
-
} satisfies ExampleMetadata
|
|
@@ -1,15 +1,32 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CountdownData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
2
6
|
|
|
3
7
|
import CountdownExample from './countdown'
|
|
4
8
|
import exampleSource from './countdown.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = CountdownData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(CountdownData),
|
|
14
|
+
args: {
|
|
15
|
+
target: '2027-01-01T00:00:00-08:00',
|
|
16
|
+
timeZone: 'America/Los_Angeles',
|
|
17
|
+
title: 'The next chapter',
|
|
18
|
+
},
|
|
8
19
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
20
|
+
render: args => <CountdownExample {...storyProps.parse(args)} />,
|
|
9
21
|
title: 'Kowalski/Countdown',
|
|
10
|
-
} satisfies Meta<typeof
|
|
22
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
23
|
|
|
12
24
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
25
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
26
|
+
args: {
|
|
27
|
+
description:
|
|
28
|
+
'An instantiatable Countdown from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
29
|
+
enabled: false,
|
|
30
|
+
name: 'Countdown',
|
|
31
|
+
},
|
|
15
32
|
}
|
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { Countdown } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { Countdown, type CountdownProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function CountdownExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<CountdownProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Countdown
|
|
12
|
-
target="2027-01-01T00:00:00-08:00"
|
|
13
|
-
timeZone="America/Los_Angeles"
|
|
14
|
-
title="The next chapter"
|
|
15
|
-
/>
|
|
16
|
-
)
|
|
10
|
+
return <Countdown data={data} style={style} />
|
|
17
11
|
}
|
|
18
|
-
|
|
19
|
-
export const exampleMetadata = {
|
|
20
|
-
description:
|
|
21
|
-
'An instantiatable Countdown from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
22
|
-
name: 'Countdown',
|
|
23
|
-
} satisfies ExampleMetadata
|
|
@@ -1,15 +1,33 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { EventData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
2
6
|
|
|
3
7
|
import EventExample from './event'
|
|
4
8
|
import exampleSource from './event.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = EventData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(EventData),
|
|
14
|
+
args: {
|
|
15
|
+
location: 'Studio, second floor',
|
|
16
|
+
startsAt: '2026-11-05T18:30:00-08:00',
|
|
17
|
+
timeZone: 'America/Los_Angeles',
|
|
18
|
+
title: 'Design night',
|
|
19
|
+
},
|
|
8
20
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
21
|
+
render: args => <EventExample {...storyProps.parse(args)} />,
|
|
9
22
|
title: 'Kowalski/Event',
|
|
10
|
-
} satisfies Meta<typeof
|
|
23
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
24
|
|
|
12
25
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
26
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
27
|
+
args: {
|
|
28
|
+
description:
|
|
29
|
+
'An instantiatable Event from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
30
|
+
enabled: false,
|
|
31
|
+
name: 'Event',
|
|
32
|
+
},
|
|
15
33
|
}
|
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { Event } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { Event, type EventProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function EventExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<EventProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Event
|
|
12
|
-
location="Studio, second floor"
|
|
13
|
-
startsAt="2026-11-05T18:30:00-08:00"
|
|
14
|
-
timeZone="America/Los_Angeles"
|
|
15
|
-
title="Design night"
|
|
16
|
-
/>
|
|
17
|
-
)
|
|
10
|
+
return <Event data={data} style={style} />
|
|
18
11
|
}
|
|
19
|
-
|
|
20
|
-
export const exampleMetadata = {
|
|
21
|
-
description:
|
|
22
|
-
'An instantiatable Event from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
23
|
-
name: 'Event',
|
|
24
|
-
} satisfies ExampleMetadata
|
|
@@ -1,15 +1,33 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ExpenseData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
2
6
|
|
|
3
7
|
import ExpenseExample from './expense'
|
|
4
8
|
import exampleSource from './expense.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = ExpenseData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(ExpenseData),
|
|
14
|
+
args: {
|
|
15
|
+
amount: 18.5,
|
|
16
|
+
category: 'Food & drink',
|
|
17
|
+
currency: 'USD',
|
|
18
|
+
title: 'Coffee with the team',
|
|
19
|
+
},
|
|
8
20
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
21
|
+
render: args => <ExpenseExample {...storyProps.parse(args)} />,
|
|
9
22
|
title: 'Kowalski/Expense',
|
|
10
|
-
} satisfies Meta<typeof
|
|
23
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
24
|
|
|
12
25
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
26
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
27
|
+
args: {
|
|
28
|
+
description:
|
|
29
|
+
'An instantiatable Expense from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
30
|
+
enabled: false,
|
|
31
|
+
name: 'Expense',
|
|
32
|
+
},
|
|
15
33
|
}
|
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { Expense } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { Expense, type ExpenseProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function ExpenseExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<ExpenseProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Expense
|
|
12
|
-
amount={18.5}
|
|
13
|
-
category="Food & drink"
|
|
14
|
-
title="Coffee with the team"
|
|
15
|
-
/>
|
|
16
|
-
)
|
|
10
|
+
return <Expense data={data} style={style} />
|
|
17
11
|
}
|
|
18
|
-
|
|
19
|
-
export const exampleMetadata = {
|
|
20
|
-
description:
|
|
21
|
-
'An instantiatable Expense from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
22
|
-
name: 'Expense',
|
|
23
|
-
} satisfies ExampleMetadata
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { FortuneData } from '@flickfyi/core/kowalski/catalog'
|
|
2
|
+
import type { Meta } from '@storybook/react-vite'
|
|
3
|
+
|
|
4
|
+
import { type ExampleStory, schemaArgTypes } from '@flickfyi/core/examples/metadata'
|
|
5
|
+
|
|
6
|
+
import FortuneExample from './fortune'
|
|
7
|
+
import exampleSource from './fortune.tsx?raw'
|
|
8
|
+
|
|
9
|
+
const storyProps = FortuneData.strip().transform(data => ({ data }))
|
|
10
|
+
const meta = {
|
|
11
|
+
argTypes: schemaArgTypes(FortuneData),
|
|
12
|
+
args: {
|
|
13
|
+
action: 'Crack cookie',
|
|
14
|
+
answers: [
|
|
15
|
+
'The fortune you seek is in another cookie.',
|
|
16
|
+
'You will be hungry again in one hour.',
|
|
17
|
+
'A closed mouth gathers no foot.',
|
|
18
|
+
'Help! I am being held prisoner in a fortune cookie factory.',
|
|
19
|
+
'Hard work pays off in the future. Laziness pays off now.',
|
|
20
|
+
'Ignore previous cookie.',
|
|
21
|
+
'This cookie contains no fortune.',
|
|
22
|
+
'You will live long enough to open many fortune cookies.',
|
|
23
|
+
],
|
|
24
|
+
prompt: 'Your fortune awaits',
|
|
25
|
+
title: 'Fortune cookie',
|
|
26
|
+
},
|
|
27
|
+
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
28
|
+
render: args => <FortuneExample {...storyProps.parse(args)} />,
|
|
29
|
+
title: 'Kowalski/Fortune',
|
|
30
|
+
} satisfies Meta<FortuneData>
|
|
31
|
+
|
|
32
|
+
export default meta
|
|
33
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
34
|
+
args: {
|
|
35
|
+
description:
|
|
36
|
+
'Reveal a random fortune or answer with one big button. For fortune cookies, magic eight balls, affirmations, and themed oracles. The model supplies the wording and a pool of answers; the component reveals one at a time and remembers the last answer. Does not interpret typed questions or generate new answers at runtime.',
|
|
37
|
+
enabled: true,
|
|
38
|
+
name: 'Fortune',
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const MagicEightBall: ExampleStory<typeof meta> = {
|
|
43
|
+
args: {
|
|
44
|
+
action: 'Ask the eight ball',
|
|
45
|
+
answers: [
|
|
46
|
+
'It is certain.',
|
|
47
|
+
'Without a doubt.',
|
|
48
|
+
'Yes, definitely.',
|
|
49
|
+
'Outlook good.',
|
|
50
|
+
'Ask again later.',
|
|
51
|
+
'Cannot predict now.',
|
|
52
|
+
'Don’t count on it.',
|
|
53
|
+
'My reply is no.',
|
|
54
|
+
],
|
|
55
|
+
description: 'Think of a yes-or-no question, then reveal a random answer.',
|
|
56
|
+
enabled: false,
|
|
57
|
+
name: 'Magic 8 Ball',
|
|
58
|
+
prompt: 'Think of a yes-or-no question',
|
|
59
|
+
title: 'Magic 8 Ball',
|
|
60
|
+
},
|
|
61
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useTheme } from '@flickfyi/core'
|
|
2
|
+
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
+
import { Fortune, type FortuneProps } from '@flickfyi/core/kowalski'
|
|
4
|
+
|
|
5
|
+
export default function FortuneExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<FortuneProps, 'data' | 'style'>) {
|
|
9
|
+
useTheme(theme)
|
|
10
|
+
return <Fortune data={data} style={style} />
|
|
11
|
+
}
|