@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
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
/** A feature's store name; without one it is Kowalski<ExportName>. */
|
|
3
|
+
export declare const kowalskiFeatureId: z.ZodOptional<z.ZodString>;
|
|
4
|
+
export declare const kowalskiScope: z.ZodDefault<z.ZodEnum<{
|
|
5
|
+
private: "private";
|
|
6
|
+
public: "public";
|
|
7
|
+
}>>;
|
|
8
|
+
export declare const featureFields: {
|
|
9
|
+
id: z.ZodOptional<z.ZodString>;
|
|
10
|
+
revision: z.ZodDefault<z.ZodNumber>;
|
|
11
|
+
scope: z.ZodDefault<z.ZodEnum<{
|
|
12
|
+
private: "private";
|
|
13
|
+
public: "public";
|
|
14
|
+
}>>;
|
|
15
|
+
};
|
|
16
|
+
export declare function store<Shape extends z.ZodRawShape>(shape: Shape): z.ZodObject<{
|
|
17
|
+
configuration: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
18
|
+
configurationRevision: z.ZodDefault<z.ZodNumber>;
|
|
19
|
+
} & Shape extends infer T ? { -readonly [P in keyof T]: T[P]; } : never, z.core.$strip>;
|
|
20
|
+
export declare const kowalskiComponentSchema: z.ZodEnum<{
|
|
21
|
+
event: "event";
|
|
22
|
+
checklist: "checklist";
|
|
23
|
+
timer: "timer";
|
|
24
|
+
habit: "habit";
|
|
25
|
+
goal: "goal";
|
|
26
|
+
poll: "poll";
|
|
27
|
+
reminder: "reminder";
|
|
28
|
+
trip: "trip";
|
|
29
|
+
countdown: "countdown";
|
|
30
|
+
timeZone: "timeZone";
|
|
31
|
+
colorPalette: "colorPalette";
|
|
32
|
+
billSplit: "billSplit";
|
|
33
|
+
expense: "expense";
|
|
34
|
+
unitConverter: "unitConverter";
|
|
35
|
+
calculator: "calculator";
|
|
36
|
+
randomPicker: "randomPicker";
|
|
37
|
+
contact: "contact";
|
|
38
|
+
bookmark: "bookmark";
|
|
39
|
+
note: "note";
|
|
40
|
+
budget: "budget";
|
|
41
|
+
scoreboard: "scoreboard";
|
|
42
|
+
taskBoard: "taskBoard";
|
|
43
|
+
recipe: "recipe";
|
|
44
|
+
rotation: "rotation";
|
|
45
|
+
shoppingList: "shoppingList";
|
|
46
|
+
rating: "rating";
|
|
47
|
+
ledger: "ledger";
|
|
48
|
+
timeSince: "timeSince";
|
|
49
|
+
fortune: "fortune";
|
|
50
|
+
lesson: "lesson";
|
|
51
|
+
}>;
|
|
52
|
+
export type KowalskiComponent = z.infer<typeof kowalskiComponentSchema>;
|
|
53
|
+
/**
|
|
54
|
+
* Per-item state as top-level `<prefix><id>` fields, which Quantum patches independently.
|
|
55
|
+
* The template-literal record types them by prefix, so they never collide with the named
|
|
56
|
+
* fields; any other key is rejected.
|
|
57
|
+
*/
|
|
58
|
+
export declare function entries<Prefix extends string, Value extends z.ZodType, Shape extends z.ZodRawShape>(prefix: Prefix, value: Value, shape: Shape): z.ZodIntersection<z.ZodObject<{
|
|
59
|
+
configuration: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
60
|
+
configurationRevision: z.ZodDefault<z.ZodNumber>;
|
|
61
|
+
} & Shape extends infer T ? { -readonly [P in keyof T]: T[P]; } : never, z.core.$loose>, z.ZodRecord<z.ZodTemplateLiteral<[Prefix] extends infer T_1 ? T_1 extends [Prefix] ? T_1 extends z.core.$ZodTemplateLiteralPart[] ? `${z.core.$PartsToTemplateLiteral<T_1>}${string}` : never : never : never>, Value>>;
|
|
62
|
+
/** Catalog fields are whole-value replacements, not collaborative text insertions. */
|
|
63
|
+
export declare function replacement<Schema extends z.ZodType>(schema: Schema): z.ZodDefault<z.ZodObject<{
|
|
64
|
+
value: Schema;
|
|
65
|
+
}, z.core.$strip>>;
|
|
@@ -2,3 +2,7 @@
|
|
|
2
2
|
export declare const format: import('@formatjs/intl').IntlShape<string>;
|
|
3
3
|
/** Validate the UI's English decimal/currency grammar before removing its fixed affixes. */
|
|
4
4
|
export declare function parseNumberInput(text: string, currency?: string): number;
|
|
5
|
+
/** Content arrives unvalidated, so an unknown currency code falls back instead of throwing. */
|
|
6
|
+
export declare function resolveCurrency(value: string | undefined): string | undefined;
|
|
7
|
+
/** Content arrives unvalidated, so an unknown time zone falls back instead of throwing. */
|
|
8
|
+
export declare function resolveTimeZone(value: string | undefined, fallback?: string): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import * as stylex from '@stylexjs/stylex';
|
|
3
|
+
export declare const FortuneData: z.ZodObject<{
|
|
4
|
+
action: z.ZodString;
|
|
5
|
+
answers: z.ZodArray<z.ZodString>;
|
|
6
|
+
prompt: z.ZodString;
|
|
7
|
+
title: z.ZodString;
|
|
8
|
+
}, z.core.$strict>;
|
|
9
|
+
export type FortuneData = z.input<typeof FortuneData>;
|
|
10
|
+
export declare const FortuneProps: z.ZodObject<{
|
|
11
|
+
data: z.ZodObject<{
|
|
12
|
+
action: z.ZodString;
|
|
13
|
+
answers: z.ZodArray<z.ZodString>;
|
|
14
|
+
prompt: z.ZodString;
|
|
15
|
+
title: z.ZodString;
|
|
16
|
+
}, z.core.$strict>;
|
|
17
|
+
}, z.core.$strict>;
|
|
18
|
+
export type FortuneProps = z.input<typeof FortuneProps> & {
|
|
19
|
+
style?: stylex.StyleXArray<stylex.StyleXStyles>;
|
|
20
|
+
};
|
|
21
|
+
export declare function Fortune({ data, style }: FortuneProps): import('@flickfyi/photon/jsx-runtime').JSX.Element;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
-
import { KowalskiComponent } from './
|
|
2
|
+
import { KowalskiComponent } from './feature-schema.js';
|
|
3
3
|
import * as stylex from '@stylexjs/stylex';
|
|
4
4
|
/**
|
|
5
5
|
* Every feature is one tray: the theme's tray color, radius and edge, content at p-4.
|
|
6
6
|
* One painted top-level surface is also what the native renderer turns into the card.
|
|
7
7
|
*/
|
|
8
|
-
export declare function FeatureFrame({ children, component, detail, header, notice, onRetry, title, trailing, }: PropsWithChildren<{
|
|
8
|
+
export declare function FeatureFrame({ children, component, detail, header, notice, onRetry, style, title, trailing, }: PropsWithChildren<{
|
|
9
9
|
component: KowalskiComponent;
|
|
10
10
|
detail?: string;
|
|
11
11
|
header?: ReactNode;
|
|
12
12
|
notice?: string;
|
|
13
13
|
onRetry?: () => void;
|
|
14
|
+
style?: stylex.StyleXArray<stylex.StyleXStyles>;
|
|
14
15
|
title: string;
|
|
15
16
|
trailing?: ReactNode;
|
|
16
17
|
}>): import('@flickfyi/photon/jsx-runtime').JSX.Element;
|
|
@@ -50,11 +51,10 @@ export declare function FeatureProgress({ value, }: {
|
|
|
50
51
|
component: KowalskiComponent;
|
|
51
52
|
value: number;
|
|
52
53
|
}): import('@flickfyi/photon/jsx-runtime').JSX.Element;
|
|
53
|
-
export declare function FeatureNumber({ component, integer, label,
|
|
54
|
+
export declare function FeatureNumber({ component, integer, label, min, onChange, ready, saving, value, }: {
|
|
54
55
|
component: KowalskiComponent;
|
|
55
56
|
integer?: boolean;
|
|
56
57
|
label: string;
|
|
57
|
-
max?: number;
|
|
58
58
|
min?: number;
|
|
59
59
|
onChange: (value: number, onSaved: () => void) => void;
|
|
60
60
|
ready: boolean;
|
|
@@ -1,8 +1,32 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
export {
|
|
3
|
-
export { Bookmark, Contact, Event, Note, Reminder, Trip } from './details.js';
|
|
4
|
-
export { Budget, Ledger, Rating, Rotation, Scoreboard, ShoppingList, TaskBoard, } from './everyday.js';
|
|
1
|
+
export type { CreateSchemas, CreateSchemasInput } from './create-schemas.js';
|
|
2
|
+
export { Fortune, type FortuneData, FortuneProps } from './fortune.js';
|
|
5
3
|
export { KowalskiStack } from './frame.js';
|
|
6
|
-
export {
|
|
7
|
-
export { Recipe } from './recipe.js';
|
|
8
|
-
export {
|
|
4
|
+
export { Lesson, type LessonData, LessonProps } from './lesson.js';
|
|
5
|
+
export { Recipe, RecipeProps } from './recipe.js';
|
|
6
|
+
export { TimeSince, type TimeSinceData, TimeSinceProps } from './time-since.js';
|
|
7
|
+
export { BillSplit, BillSplitProps } from './components/bill-split.js';
|
|
8
|
+
export { Bookmark, BookmarkProps } from './components/bookmark.js';
|
|
9
|
+
export { Budget, BudgetProps } from './components/budget.js';
|
|
10
|
+
export { Calculator, CalculatorProps } from './components/calculator.js';
|
|
11
|
+
export { Checklist, ChecklistProps } from './components/checklist.js';
|
|
12
|
+
export { ColorPalette, ColorPaletteProps } from './components/color-palette.js';
|
|
13
|
+
export { Contact, ContactProps } from './components/contact.js';
|
|
14
|
+
export { Countdown, CountdownProps } from './components/countdown.js';
|
|
15
|
+
export { Event, EventProps } from './components/event.js';
|
|
16
|
+
export { Expense, ExpenseProps } from './components/expense.js';
|
|
17
|
+
export { Goal, GoalProps } from './components/goal.js';
|
|
18
|
+
export { Habit, HabitProps } from './components/habit.js';
|
|
19
|
+
export { Ledger, LedgerProps } from './components/ledger.js';
|
|
20
|
+
export { Note, NoteProps } from './components/note.js';
|
|
21
|
+
export { Poll, PollProps } from './components/poll.js';
|
|
22
|
+
export { RandomPicker, RandomPickerProps } from './components/random-picker.js';
|
|
23
|
+
export { Rating, RatingProps } from './components/rating.js';
|
|
24
|
+
export { Reminder, ReminderProps } from './components/reminder.js';
|
|
25
|
+
export { Rotation, RotationProps } from './components/rotation.js';
|
|
26
|
+
export { Scoreboard, ScoreboardProps } from './components/scoreboard.js';
|
|
27
|
+
export { ShoppingList, ShoppingListProps } from './components/shopping-list.js';
|
|
28
|
+
export { TaskBoard, TaskBoardProps } from './components/task-board.js';
|
|
29
|
+
export { TimeZone, TimeZoneProps } from './components/time-zone.js';
|
|
30
|
+
export { Timer, TimerProps } from './components/timer.js';
|
|
31
|
+
export { Trip, TripProps } from './components/trip.js';
|
|
32
|
+
export { UnitConverter, UnitConverterProps } from './components/unit-converter.js';
|
|
@@ -1,8 +1,32 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
export {
|
|
3
|
-
export { Bookmark, Contact, Event, Note, Reminder, Trip } from './details.js';
|
|
4
|
-
export { Budget, Ledger, Rating, Rotation, Scoreboard, ShoppingList, TaskBoard, } from './everyday.js';
|
|
1
|
+
export type { CreateSchemas, CreateSchemasInput } from './create-schemas.js';
|
|
2
|
+
export { Fortune, type FortuneData, FortuneProps } from './fortune.js';
|
|
5
3
|
export { KowalskiStack } from './frame.js';
|
|
6
|
-
export {
|
|
7
|
-
export { Recipe } from './recipe.js';
|
|
8
|
-
export {
|
|
4
|
+
export { Lesson, type LessonData, LessonProps } from './lesson.js';
|
|
5
|
+
export { Recipe, RecipeProps } from './recipe.js';
|
|
6
|
+
export { TimeSince, type TimeSinceData, TimeSinceProps } from './time-since.js';
|
|
7
|
+
export { BillSplit, BillSplitProps } from './components/bill-split.js';
|
|
8
|
+
export { Bookmark, BookmarkProps } from './components/bookmark.js';
|
|
9
|
+
export { Budget, BudgetProps } from './components/budget.js';
|
|
10
|
+
export { Calculator, CalculatorProps } from './components/calculator.js';
|
|
11
|
+
export { Checklist, ChecklistProps } from './components/checklist.js';
|
|
12
|
+
export { ColorPalette, ColorPaletteProps } from './components/color-palette.js';
|
|
13
|
+
export { Contact, ContactProps } from './components/contact.js';
|
|
14
|
+
export { Countdown, CountdownProps } from './components/countdown.js';
|
|
15
|
+
export { Event, EventProps } from './components/event.js';
|
|
16
|
+
export { Expense, ExpenseProps } from './components/expense.js';
|
|
17
|
+
export { Goal, GoalProps } from './components/goal.js';
|
|
18
|
+
export { Habit, HabitProps } from './components/habit.js';
|
|
19
|
+
export { Ledger, LedgerProps } from './components/ledger.js';
|
|
20
|
+
export { Note, NoteProps } from './components/note.js';
|
|
21
|
+
export { Poll, PollProps } from './components/poll.js';
|
|
22
|
+
export { RandomPicker, RandomPickerProps } from './components/random-picker.js';
|
|
23
|
+
export { Rating, RatingProps } from './components/rating.js';
|
|
24
|
+
export { Reminder, ReminderProps } from './components/reminder.js';
|
|
25
|
+
export { Rotation, RotationProps } from './components/rotation.js';
|
|
26
|
+
export { Scoreboard, ScoreboardProps } from './components/scoreboard.js';
|
|
27
|
+
export { ShoppingList, ShoppingListProps } from './components/shopping-list.js';
|
|
28
|
+
export { TaskBoard, TaskBoardProps } from './components/task-board.js';
|
|
29
|
+
export { TimeZone, TimeZoneProps } from './components/time-zone.js';
|
|
30
|
+
export { Timer, TimerProps } from './components/timer.js';
|
|
31
|
+
export { Trip, TripProps } from './components/trip.js';
|
|
32
|
+
export { UnitConverter, UnitConverterProps } from './components/unit-converter.js';
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Lesson as LessonEntity } from '@flickfyi/schemas/lesson';
|
|
2
|
+
import { z } from 'zod/v4';
|
|
3
|
+
import { CreateSchemas } from './create-schemas.js';
|
|
4
|
+
import * as stylex from '@stylexjs/stylex';
|
|
5
|
+
export declare const LessonData: z.ZodObject<{
|
|
6
|
+
hasPart: z.ZodArray<z.ZodObject<{
|
|
7
|
+
acceptedAnswer: z.ZodArray<z.ZodObject<{
|
|
8
|
+
answerExplanation: z.ZodString;
|
|
9
|
+
text: z.ZodString;
|
|
10
|
+
}, z.core.$strict>>;
|
|
11
|
+
assesses: z.ZodString;
|
|
12
|
+
eduQuestionType: z.ZodEnum<{
|
|
13
|
+
Checkbox: "Checkbox";
|
|
14
|
+
Flashcard: "Flashcard";
|
|
15
|
+
"Multiple choice": "Multiple choice";
|
|
16
|
+
}>;
|
|
17
|
+
id: z.ZodString;
|
|
18
|
+
suggestedAnswer: z.ZodArray<z.ZodObject<{
|
|
19
|
+
comment: z.ZodOptional<z.ZodString>;
|
|
20
|
+
text: z.ZodString;
|
|
21
|
+
}, z.core.$strict>>;
|
|
22
|
+
text: z.ZodString;
|
|
23
|
+
}, z.core.$strict>>;
|
|
24
|
+
teaches: z.ZodArray<z.ZodObject<{
|
|
25
|
+
description: z.ZodString;
|
|
26
|
+
examples: z.ZodArray<z.ZodObject<{
|
|
27
|
+
name: z.ZodString;
|
|
28
|
+
value: z.ZodString;
|
|
29
|
+
}, z.core.$strict>>;
|
|
30
|
+
id: z.ZodString;
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
}, z.core.$strict>>;
|
|
33
|
+
title: z.ZodString;
|
|
34
|
+
}, z.core.$strict>;
|
|
35
|
+
export type LessonData = LessonEntity;
|
|
36
|
+
export declare const LessonProps: z.ZodObject<{
|
|
37
|
+
id: z.ZodOptional<z.ZodString>;
|
|
38
|
+
revision: z.ZodDefault<z.ZodNumber>;
|
|
39
|
+
scope: z.ZodDefault<z.ZodEnum<{
|
|
40
|
+
private: "private";
|
|
41
|
+
public: "public";
|
|
42
|
+
}>>;
|
|
43
|
+
data: z.ZodObject<{
|
|
44
|
+
hasPart: z.ZodArray<z.ZodObject<{
|
|
45
|
+
acceptedAnswer: z.ZodArray<z.ZodObject<{
|
|
46
|
+
answerExplanation: z.ZodString;
|
|
47
|
+
text: z.ZodString;
|
|
48
|
+
}, z.core.$strict>>;
|
|
49
|
+
assesses: z.ZodString;
|
|
50
|
+
eduQuestionType: z.ZodEnum<{
|
|
51
|
+
Checkbox: "Checkbox";
|
|
52
|
+
Flashcard: "Flashcard";
|
|
53
|
+
"Multiple choice": "Multiple choice";
|
|
54
|
+
}>;
|
|
55
|
+
id: z.ZodString;
|
|
56
|
+
suggestedAnswer: z.ZodArray<z.ZodObject<{
|
|
57
|
+
comment: z.ZodOptional<z.ZodString>;
|
|
58
|
+
text: z.ZodString;
|
|
59
|
+
}, z.core.$strict>>;
|
|
60
|
+
text: z.ZodString;
|
|
61
|
+
}, z.core.$strict>>;
|
|
62
|
+
teaches: z.ZodArray<z.ZodObject<{
|
|
63
|
+
description: z.ZodString;
|
|
64
|
+
examples: z.ZodArray<z.ZodObject<{
|
|
65
|
+
name: z.ZodString;
|
|
66
|
+
value: z.ZodString;
|
|
67
|
+
}, z.core.$strict>>;
|
|
68
|
+
id: z.ZodString;
|
|
69
|
+
name: z.ZodString;
|
|
70
|
+
}, z.core.$strict>>;
|
|
71
|
+
title: z.ZodString;
|
|
72
|
+
}, z.core.$strict>;
|
|
73
|
+
}, z.core.$strict>;
|
|
74
|
+
export type LessonProps = z.input<typeof LessonProps> & {
|
|
75
|
+
style?: stylex.StyleXArray<stylex.StyleXStyles>;
|
|
76
|
+
};
|
|
77
|
+
/** `result_<question id>` is "first" when right on the first try, "retry" after a miss, null when unanswered. */
|
|
78
|
+
export declare const lessonStoreSchema: z.ZodIntersection<z.ZodObject<{
|
|
79
|
+
configuration: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
80
|
+
configurationRevision: z.ZodDefault<z.ZodNumber>;
|
|
81
|
+
missed: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
82
|
+
seen: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
83
|
+
started: z.ZodDefault<z.ZodBoolean>;
|
|
84
|
+
}, z.core.$loose>, z.ZodRecord<z.ZodTemplateLiteral<`result_${string}`>, z.ZodNullable<z.ZodEnum<{
|
|
85
|
+
first: "first";
|
|
86
|
+
retry: "retry";
|
|
87
|
+
}>>>>;
|
|
88
|
+
export declare const createSchemas: CreateSchemas;
|
|
89
|
+
export declare function Lesson({ data, id, revision, scope, style, }: LessonProps): import('@flickfyi/photon/jsx-runtime').JSX.Element;
|
|
@@ -1,8 +1,129 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { Recipe as RecipeEntity } from '@flickfyi/schemas/recipe';
|
|
2
|
+
import { z } from 'zod/v4';
|
|
3
|
+
import { CreateSchemas } from './create-schemas.js';
|
|
4
|
+
import * as stylex from '@stylexjs/stylex';
|
|
5
|
+
export declare const RecipeData: z.ZodObject<{
|
|
6
|
+
ingredients: z.ZodArray<z.ZodObject<{
|
|
7
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
id: z.ZodString;
|
|
9
|
+
label: z.ZodString;
|
|
10
|
+
notes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
11
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
12
|
+
}, z.core.$strict>>;
|
|
13
|
+
servings: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
15
|
+
after: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16
|
+
attention: z.ZodOptional<z.ZodEnum<{
|
|
17
|
+
active: "active";
|
|
18
|
+
passive: "passive";
|
|
19
|
+
}>>;
|
|
20
|
+
doneness: z.ZodOptional<z.ZodString>;
|
|
21
|
+
duration: z.ZodOptional<z.ZodObject<{
|
|
22
|
+
maxMinutes: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
minMinutes: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
raw: z.ZodString;
|
|
25
|
+
}, z.core.$strict>>;
|
|
26
|
+
equipment: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
|
+
id: z.ZodString;
|
|
28
|
+
instruction: z.ZodString;
|
|
29
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
30
|
+
serve: "serve";
|
|
31
|
+
setup: "setup";
|
|
32
|
+
transform: "transform";
|
|
33
|
+
wait: "wait";
|
|
34
|
+
}>>;
|
|
35
|
+
label: z.ZodOptional<z.ZodString>;
|
|
36
|
+
outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
37
|
+
id: z.ZodString;
|
|
38
|
+
name: z.ZodOptional<z.ZodString>;
|
|
39
|
+
}, z.core.$strict>>>;
|
|
40
|
+
temperature: z.ZodOptional<z.ZodString>;
|
|
41
|
+
uses: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
portion: z.ZodOptional<z.ZodString>;
|
|
44
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
45
|
+
ingredientId: z.ZodString;
|
|
46
|
+
kind: z.ZodLiteral<"ingredient">;
|
|
47
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
48
|
+
kind: z.ZodLiteral<"output">;
|
|
49
|
+
outputId: z.ZodString;
|
|
50
|
+
}, z.core.$strict>], "kind">;
|
|
51
|
+
}, z.core.$strict>>>;
|
|
52
|
+
}, z.core.$strict>>;
|
|
53
|
+
title: z.ZodString;
|
|
54
|
+
yield: z.ZodOptional<z.ZodString>;
|
|
55
|
+
}, z.core.$strict>;
|
|
56
|
+
export type RecipeData = RecipeEntity;
|
|
57
|
+
export declare const RecipeProps: z.ZodObject<{
|
|
58
|
+
scope: z.ZodDefault<z.ZodDefault<z.ZodEnum<{
|
|
59
|
+
private: "private";
|
|
60
|
+
public: "public";
|
|
61
|
+
}>>>;
|
|
62
|
+
id: z.ZodOptional<z.ZodString>;
|
|
63
|
+
revision: z.ZodDefault<z.ZodNumber>;
|
|
64
|
+
data: z.ZodObject<{
|
|
65
|
+
ingredients: z.ZodArray<z.ZodObject<{
|
|
66
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
id: z.ZodString;
|
|
68
|
+
label: z.ZodString;
|
|
69
|
+
notes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
70
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, z.core.$strict>>;
|
|
72
|
+
servings: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
74
|
+
after: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
75
|
+
attention: z.ZodOptional<z.ZodEnum<{
|
|
76
|
+
active: "active";
|
|
77
|
+
passive: "passive";
|
|
78
|
+
}>>;
|
|
79
|
+
doneness: z.ZodOptional<z.ZodString>;
|
|
80
|
+
duration: z.ZodOptional<z.ZodObject<{
|
|
81
|
+
maxMinutes: z.ZodOptional<z.ZodNumber>;
|
|
82
|
+
minMinutes: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
raw: z.ZodString;
|
|
84
|
+
}, z.core.$strict>>;
|
|
85
|
+
equipment: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
86
|
+
id: z.ZodString;
|
|
87
|
+
instruction: z.ZodString;
|
|
88
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
89
|
+
serve: "serve";
|
|
90
|
+
setup: "setup";
|
|
91
|
+
transform: "transform";
|
|
92
|
+
wait: "wait";
|
|
93
|
+
}>>;
|
|
94
|
+
label: z.ZodOptional<z.ZodString>;
|
|
95
|
+
outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
96
|
+
id: z.ZodString;
|
|
97
|
+
name: z.ZodOptional<z.ZodString>;
|
|
98
|
+
}, z.core.$strict>>>;
|
|
99
|
+
temperature: z.ZodOptional<z.ZodString>;
|
|
100
|
+
uses: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
101
|
+
id: z.ZodString;
|
|
102
|
+
portion: z.ZodOptional<z.ZodString>;
|
|
103
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
104
|
+
ingredientId: z.ZodString;
|
|
105
|
+
kind: z.ZodLiteral<"ingredient">;
|
|
106
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
107
|
+
kind: z.ZodLiteral<"output">;
|
|
108
|
+
outputId: z.ZodString;
|
|
109
|
+
}, z.core.$strict>], "kind">;
|
|
110
|
+
}, z.core.$strict>>>;
|
|
111
|
+
}, z.core.$strict>>;
|
|
112
|
+
title: z.ZodString;
|
|
113
|
+
yield: z.ZodOptional<z.ZodString>;
|
|
114
|
+
}, z.core.$strict>;
|
|
115
|
+
}, z.core.$strict>;
|
|
116
|
+
export type RecipeProps = z.input<typeof RecipeProps> & {
|
|
117
|
+
style?: stylex.StyleXArray<stylex.StyleXStyles>;
|
|
118
|
+
};
|
|
119
|
+
export declare const recipeStoreSchema: z.ZodIntersection<z.ZodObject<{
|
|
120
|
+
configuration: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
121
|
+
configurationRevision: z.ZodDefault<z.ZodNumber>;
|
|
122
|
+
cooking: z.ZodDefault<z.ZodBoolean>;
|
|
123
|
+
servings: z.ZodDefault<z.ZodNumber>;
|
|
124
|
+
}, z.core.$loose>, z.ZodRecord<z.ZodTemplateLiteral<`step_${string}`>, z.ZodObject<{
|
|
125
|
+
done: z.ZodBoolean;
|
|
126
|
+
endsAt: z.ZodNullable<z.ZodNumber>;
|
|
127
|
+
}, z.core.$strict>>>;
|
|
128
|
+
export declare const createSchemas: CreateSchemas;
|
|
129
|
+
export declare function Recipe({ data, id, revision, scope, style, }: RecipeProps): import('@flickfyi/photon/jsx-runtime').JSX.Element;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CreateSchemasInput } from './create-schemas.js';
|
|
2
|
+
export declare const schemaComponents: string[];
|
|
3
|
+
export { kowalskiFeatureId, kowalskiScope } from './feature-schema.js';
|
|
4
|
+
export declare function componentSchemas(name: string, input?: CreateSchemasInput): Record<string, import('zod').ZodType<unknown, unknown, import('zod/v4/core').$ZodTypeInternals<unknown, unknown>>>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CreateSchemasInput } from './create-schemas.js';
|
|
2
|
+
export declare const schemaComponents: string[];
|
|
3
|
+
export { kowalskiFeatureId, kowalskiScope } from './feature-schema.js';
|
|
4
|
+
export declare function componentSchemas(name: string, input?: CreateSchemasInput): Record<string, import('zod').ZodType<unknown, unknown, import('zod/v4/core').$ZodTypeInternals<unknown, unknown>>>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { CreateSchemas } from './create-schemas.js';
|
|
3
|
+
import * as stylex from '@stylexjs/stylex';
|
|
4
|
+
export declare const TimeSinceData: z.ZodObject<{
|
|
5
|
+
action: z.ZodString;
|
|
6
|
+
label: z.ZodString;
|
|
7
|
+
subject: z.ZodString;
|
|
8
|
+
title: z.ZodString;
|
|
9
|
+
}, z.core.$strict>;
|
|
10
|
+
export type TimeSinceData = z.input<typeof TimeSinceData>;
|
|
11
|
+
export declare const TimeSinceProps: z.ZodObject<{
|
|
12
|
+
scope: z.ZodDefault<z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
private: "private";
|
|
14
|
+
public: "public";
|
|
15
|
+
}>>>;
|
|
16
|
+
id: z.ZodOptional<z.ZodString>;
|
|
17
|
+
revision: z.ZodDefault<z.ZodNumber>;
|
|
18
|
+
data: z.ZodObject<{
|
|
19
|
+
action: z.ZodString;
|
|
20
|
+
label: z.ZodString;
|
|
21
|
+
subject: z.ZodString;
|
|
22
|
+
title: z.ZodString;
|
|
23
|
+
}, z.core.$strict>;
|
|
24
|
+
}, z.core.$strict>;
|
|
25
|
+
export type TimeSinceProps = z.input<typeof TimeSinceProps> & {
|
|
26
|
+
style?: stylex.StyleXArray<stylex.StyleXStyles>;
|
|
27
|
+
};
|
|
28
|
+
export declare const timeSinceStoreSchema: z.ZodObject<{
|
|
29
|
+
configuration: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
30
|
+
configurationRevision: z.ZodDefault<z.ZodNumber>;
|
|
31
|
+
lastAt: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export declare const createSchemas: CreateSchemas;
|
|
34
|
+
export declare function TimeSince({ data, id, revision, scope, style, }: TimeSinceProps): import('@flickfyi/photon/jsx-runtime').JSX.Element;
|
|
@@ -1,4 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite'
|
|
2
|
+
import mapValues from 'lodash/mapValues.js'
|
|
3
|
+
import type { z } from 'zod/v4'
|
|
4
|
+
|
|
5
|
+
/** What agents see about a canonical example. Catalog edits these story args and saves them to the story file. */
|
|
6
|
+
export type ExampleArgs = {
|
|
7
|
+
/** What the example does and when it fits, in plain words. Agents read this to decide whether to use it. */
|
|
3
8
|
description: string
|
|
9
|
+
/** Offer this example to agents. The example stays visible and interactive in Catalog either way. */
|
|
10
|
+
enabled: boolean
|
|
11
|
+
/** The example's name as agents see it, e.g. "Time since". */
|
|
12
|
+
name: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** A canonical example story; its args are what agents see about the example. */
|
|
16
|
+
export type ExampleStory<Meta> = StoryObj<Meta> & { args: ExampleArgs }
|
|
17
|
+
|
|
18
|
+
/** Preserve schema descriptions while Storybook infers controls from the args. */
|
|
19
|
+
export function schemaArgTypes(schema: z.ZodObject) {
|
|
20
|
+
return mapValues(schema.shape, field => ({ description: field.description }))
|
|
4
21
|
}
|
|
@@ -1,15 +1,34 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BillSplitData } 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 BillSplitExample from './bill-split'
|
|
4
8
|
import exampleSource from './bill-split.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = BillSplitData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(BillSplitData),
|
|
14
|
+
args: {
|
|
15
|
+
currency: 'USD',
|
|
16
|
+
people: 3,
|
|
17
|
+
tipPercent: 20,
|
|
18
|
+
title: 'Split the bill',
|
|
19
|
+
total: 86.5,
|
|
20
|
+
},
|
|
8
21
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
9
|
-
|
|
10
|
-
|
|
22
|
+
render: args => <BillSplitExample {...storyProps.parse(args)} />,
|
|
23
|
+
title: 'Kowalski/Bill split',
|
|
24
|
+
} satisfies Meta<z.input<typeof storyProps>>
|
|
11
25
|
|
|
12
26
|
export default meta
|
|
13
|
-
export const Example:
|
|
14
|
-
args: {
|
|
27
|
+
export const Example: ExampleStory<typeof meta> = {
|
|
28
|
+
args: {
|
|
29
|
+
description:
|
|
30
|
+
'An instantiatable BillSplit from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
31
|
+
enabled: false,
|
|
32
|
+
name: 'Bill split',
|
|
33
|
+
},
|
|
15
34
|
}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@flickfyi/core'
|
|
2
2
|
import { theme } from '@flickfyi/core/examples/kowalski/theme'
|
|
3
|
-
import { BillSplit } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { BillSplit, type BillSplitProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function BillSplitExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<BillSplitProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return <BillSplit people={3} tipPercent={20} total={86.5} />
|
|
10
|
+
return <BillSplit data={data} style={style} />
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
export const exampleMetadata = {
|
|
14
|
-
description:
|
|
15
|
-
'An instantiatable BillSplit from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
16
|
-
name: 'BillSplit',
|
|
17
|
-
} satisfies ExampleMetadata
|
|
@@ -1,15 +1,32 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BookmarkData } 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 BookmarkExample from './bookmark'
|
|
4
8
|
import exampleSource from './bookmark.tsx?raw'
|
|
5
9
|
|
|
10
|
+
// Keep catalog metadata outside the component's content.
|
|
11
|
+
const storyProps = BookmarkData.strip().transform(data => ({ data }))
|
|
6
12
|
const meta = {
|
|
7
|
-
|
|
13
|
+
argTypes: schemaArgTypes(BookmarkData),
|
|
14
|
+
args: {
|
|
15
|
+
note: 'Small details make an interface feel considered.',
|
|
16
|
+
title: 'The Shape of Software',
|
|
17
|
+
url: 'https://emilkowal.ski/',
|
|
18
|
+
},
|
|
8
19
|
parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
|
|
20
|
+
render: args => <BookmarkExample {...storyProps.parse(args)} />,
|
|
9
21
|
title: 'Kowalski/Bookmark',
|
|
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 Bookmark from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
29
|
+
enabled: false,
|
|
30
|
+
name: 'Bookmark',
|
|
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 { Bookmark } from '@flickfyi/core/kowalski'
|
|
3
|
+
import { Bookmark, type BookmarkProps } from '@flickfyi/core/kowalski'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export default function BookmarkExample({
|
|
6
|
+
data,
|
|
7
|
+
style,
|
|
8
|
+
}: Pick<BookmarkProps, 'data' | 'style'>) {
|
|
8
9
|
useTheme(theme)
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Bookmark
|
|
12
|
-
note="Small details make an interface feel considered."
|
|
13
|
-
title="The Shape of Software"
|
|
14
|
-
url="https://emilkowal.ski/"
|
|
15
|
-
/>
|
|
16
|
-
)
|
|
10
|
+
return <Bookmark data={data} style={style} />
|
|
17
11
|
}
|
|
18
|
-
|
|
19
|
-
export const exampleMetadata = {
|
|
20
|
-
description:
|
|
21
|
-
'An instantiatable Bookmark from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
|
|
22
|
-
name: 'Bookmark',
|
|
23
|
-
} satisfies ExampleMetadata
|