@flickfyi/flkr 0.0.140 → 0.0.146

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.
Files changed (494) hide show
  1. package/node_modules/@flickfyi/attestation/.turbo/turbo-build.log +7 -7
  2. package/node_modules/@flickfyi/biscuit/.turbo/turbo-build.log +7 -7
  3. package/node_modules/@flickfyi/core/.oxlintrc.json +2 -1
  4. package/node_modules/@flickfyi/core/.turbo/turbo-build.log +502 -95
  5. package/node_modules/@flickfyi/core/README.md +58 -4
  6. package/node_modules/@flickfyi/core/dist/index.cjs +1 -1
  7. package/node_modules/@flickfyi/core/dist/index.js +35 -24
  8. package/node_modules/@flickfyi/core/dist/kowalski/calculations.d.ts +17 -0
  9. package/node_modules/@flickfyi/core/dist/kowalski/calculator.d.ts +13 -0
  10. package/node_modules/@flickfyi/core/dist/kowalski/catalog.cjs +1 -0
  11. package/node_modules/@flickfyi/core/dist/kowalski/catalog.d.cts +962 -0
  12. package/node_modules/@flickfyi/core/dist/kowalski/catalog.d.ts +962 -0
  13. package/node_modules/@flickfyi/core/dist/kowalski/catalog.js +639 -0
  14. package/node_modules/@flickfyi/core/dist/kowalski/clocks.d.ts +4 -0
  15. package/node_modules/@flickfyi/core/dist/kowalski/date-time.d.ts +22 -0
  16. package/node_modules/@flickfyi/core/dist/kowalski/details.d.ts +7 -0
  17. package/node_modules/@flickfyi/core/dist/kowalski/everyday.d.ts +8 -0
  18. package/node_modules/@flickfyi/core/dist/kowalski/format.d.ts +4 -0
  19. package/node_modules/@flickfyi/core/dist/kowalski/frame.d.ts +161 -0
  20. package/node_modules/@flickfyi/core/dist/kowalski/index.cjs +21 -0
  21. package/node_modules/@flickfyi/core/dist/kowalski/index.d.cts +8 -0
  22. package/node_modules/@flickfyi/core/dist/kowalski/index.d.ts +8 -0
  23. package/node_modules/@flickfyi/core/dist/kowalski/index.js +7496 -0
  24. package/node_modules/@flickfyi/core/dist/kowalski/productivity.d.ts +5 -0
  25. package/node_modules/@flickfyi/core/dist/kowalski/recipe.d.ts +8 -0
  26. package/node_modules/@flickfyi/core/dist/kowalski/tools.d.ts +7 -0
  27. package/node_modules/@flickfyi/core/dist/kowalski/use-clock.d.ts +6 -0
  28. package/node_modules/@flickfyi/core/dist/kowalski/use-configured-feature.d.ts +19 -0
  29. package/node_modules/@flickfyi/core/dist/kowalski/use-feature-store.d.ts +15 -0
  30. package/node_modules/@flickfyi/core/dist/kowalski.css +506 -0
  31. package/node_modules/@flickfyi/core/dist/molecules/field/field.d.ts +8 -0
  32. package/node_modules/@flickfyi/core/dist/molecules/index.cjs +1 -1
  33. package/node_modules/@flickfyi/core/dist/molecules/index.d.cts +3 -0
  34. package/node_modules/@flickfyi/core/dist/molecules/index.d.ts +3 -0
  35. package/node_modules/@flickfyi/core/dist/molecules/index.js +88 -27
  36. package/node_modules/@flickfyi/core/dist/molecules/segmented/segmented.d.ts +10 -0
  37. package/node_modules/@flickfyi/core/dist/molecules/stepper/stepper.d.ts +10 -0
  38. package/node_modules/@flickfyi/core/dist/quantum/use-store.d.ts +7 -1
  39. package/node_modules/@flickfyi/core/dist/themes.css +2 -0
  40. package/node_modules/@flickfyi/core/examples/kowalski/bill-split/bill-split.stories.tsx +15 -0
  41. package/node_modules/@flickfyi/core/examples/kowalski/bill-split/bill-split.tsx +17 -0
  42. package/node_modules/@flickfyi/core/examples/kowalski/bookmark/bookmark.stories.tsx +15 -0
  43. package/node_modules/@flickfyi/core/examples/kowalski/bookmark/bookmark.tsx +23 -0
  44. package/node_modules/@flickfyi/core/examples/kowalski/budget/budget.stories.tsx +15 -0
  45. package/node_modules/@flickfyi/core/examples/kowalski/budget/budget.tsx +26 -0
  46. package/node_modules/@flickfyi/core/examples/kowalski/calculator/calculator.stories.tsx +15 -0
  47. package/node_modules/@flickfyi/core/examples/kowalski/calculator/calculator.tsx +24 -0
  48. package/node_modules/@flickfyi/core/examples/kowalski/checklist/checklist.stories.tsx +15 -0
  49. package/node_modules/@flickfyi/core/examples/kowalski/checklist/checklist.tsx +26 -0
  50. package/node_modules/@flickfyi/core/examples/kowalski/color-palette/color-palette.stories.tsx +15 -0
  51. package/node_modules/@flickfyi/core/examples/kowalski/color-palette/color-palette.tsx +22 -0
  52. package/node_modules/@flickfyi/core/examples/kowalski/contact/contact.stories.tsx +15 -0
  53. package/node_modules/@flickfyi/core/examples/kowalski/contact/contact.tsx +23 -0
  54. package/node_modules/@flickfyi/core/examples/kowalski/countdown/countdown.stories.tsx +15 -0
  55. package/node_modules/@flickfyi/core/examples/kowalski/countdown/countdown.tsx +23 -0
  56. package/node_modules/@flickfyi/core/examples/kowalski/event/event.stories.tsx +15 -0
  57. package/node_modules/@flickfyi/core/examples/kowalski/event/event.tsx +24 -0
  58. package/node_modules/@flickfyi/core/examples/kowalski/expense/expense.stories.tsx +15 -0
  59. package/node_modules/@flickfyi/core/examples/kowalski/expense/expense.tsx +23 -0
  60. package/node_modules/@flickfyi/core/examples/kowalski/goal/goal.stories.tsx +15 -0
  61. package/node_modules/@flickfyi/core/examples/kowalski/goal/goal.tsx +24 -0
  62. package/node_modules/@flickfyi/core/examples/kowalski/habit/habit.stories.tsx +15 -0
  63. package/node_modules/@flickfyi/core/examples/kowalski/habit/habit.tsx +23 -0
  64. package/node_modules/@flickfyi/core/examples/kowalski/ledger/ledger.stories.tsx +15 -0
  65. package/node_modules/@flickfyi/core/examples/kowalski/ledger/ledger.tsx +25 -0
  66. package/node_modules/@flickfyi/core/examples/kowalski/note/note.stories.tsx +15 -0
  67. package/node_modules/@flickfyi/core/examples/kowalski/note/note.tsx +22 -0
  68. package/node_modules/@flickfyi/core/examples/kowalski/poll/poll.stories.tsx +15 -0
  69. package/node_modules/@flickfyi/core/examples/kowalski/poll/poll.tsx +26 -0
  70. package/node_modules/@flickfyi/core/examples/kowalski/random-picker/random-picker.stories.tsx +15 -0
  71. package/node_modules/@flickfyi/core/examples/kowalski/random-picker/random-picker.tsx +23 -0
  72. package/node_modules/@flickfyi/core/examples/kowalski/rating/rating.stories.tsx +15 -0
  73. package/node_modules/@flickfyi/core/examples/kowalski/rating/rating.tsx +19 -0
  74. package/node_modules/@flickfyi/core/examples/kowalski/recipe/recipe.stories.tsx +15 -0
  75. package/node_modules/@flickfyi/core/examples/kowalski/recipe/recipe.tsx +120 -0
  76. package/node_modules/@flickfyi/core/examples/kowalski/reminder/reminder.stories.tsx +15 -0
  77. package/node_modules/@flickfyi/core/examples/kowalski/reminder/reminder.tsx +23 -0
  78. package/node_modules/@flickfyi/core/examples/kowalski/rotation/rotation.stories.tsx +15 -0
  79. package/node_modules/@flickfyi/core/examples/kowalski/rotation/rotation.tsx +27 -0
  80. package/node_modules/@flickfyi/core/examples/kowalski/scoreboard/scoreboard.stories.tsx +15 -0
  81. package/node_modules/@flickfyi/core/examples/kowalski/scoreboard/scoreboard.tsx +26 -0
  82. package/node_modules/@flickfyi/core/examples/kowalski/shopping-list/shopping-list.stories.tsx +15 -0
  83. package/node_modules/@flickfyi/core/examples/kowalski/shopping-list/shopping-list.tsx +27 -0
  84. package/node_modules/@flickfyi/core/examples/kowalski/task-board/task-board.stories.tsx +15 -0
  85. package/node_modules/@flickfyi/core/examples/kowalski/task-board/task-board.tsx +27 -0
  86. package/node_modules/@flickfyi/core/examples/kowalski/theme.ts +3 -0
  87. package/node_modules/@flickfyi/core/examples/kowalski/time-zone/time-zone.stories.tsx +15 -0
  88. package/node_modules/@flickfyi/core/examples/kowalski/time-zone/time-zone.tsx +22 -0
  89. package/node_modules/@flickfyi/core/examples/kowalski/timer/timer.stories.tsx +15 -0
  90. package/node_modules/@flickfyi/core/examples/kowalski/timer/timer.tsx +23 -0
  91. package/node_modules/@flickfyi/core/examples/kowalski/trip/trip.stories.tsx +15 -0
  92. package/node_modules/@flickfyi/core/examples/kowalski/trip/trip.tsx +26 -0
  93. package/node_modules/@flickfyi/core/examples/kowalski/unit-converter/unit-converter.stories.tsx +15 -0
  94. package/node_modules/@flickfyi/core/examples/kowalski/unit-converter/unit-converter.tsx +24 -0
  95. package/node_modules/@flickfyi/core/examples/parrott/calculator/calculator.stories.tsx +3 -1
  96. package/node_modules/@flickfyi/core/examples/parrott/checklist/checklist.stories.tsx +3 -1
  97. package/node_modules/@flickfyi/core/examples/parrott/countdown/countdown.stories.tsx +3 -1
  98. package/node_modules/@flickfyi/core/examples/parrott/counter/counter.stories.tsx +1 -0
  99. package/node_modules/@flickfyi/core/examples/parrott/fortune/fortune.stories.tsx +3 -1
  100. package/node_modules/@flickfyi/core/examples/parrott/grid/grid.stories.tsx +3 -1
  101. package/node_modules/@flickfyi/core/examples/parrott/kale-smoothie/kale-smoothie.stories.tsx +1 -0
  102. package/node_modules/@flickfyi/core/examples/parrott/list/list.stories.tsx +3 -1
  103. package/node_modules/@flickfyi/core/examples/parrott/log/log.stories.tsx +3 -1
  104. package/node_modules/@flickfyi/core/examples/parrott/timed-task/timed-task.stories.tsx +3 -1
  105. package/node_modules/@flickfyi/core/examples/parrott/timer/timer.stories.tsx +3 -1
  106. package/node_modules/@flickfyi/core/fixtures/native/host/project.yml +3 -0
  107. package/node_modules/@flickfyi/core/fixtures/native/src/catalog-features.tsx +88 -0
  108. package/node_modules/@flickfyi/core/package.json +35 -5
  109. package/node_modules/@flickfyi/core/package.tsgo.json +19 -1
  110. package/node_modules/@flickfyi/core/scripts/vite-globals.d.ts +2 -0
  111. package/node_modules/@flickfyi/core/src/generated-types.d.ts +1 -0
  112. package/node_modules/@flickfyi/core/src/kowalski/README.md +9 -0
  113. package/node_modules/@flickfyi/core/src/kowalski/calculations.ts +106 -0
  114. package/node_modules/@flickfyi/core/src/kowalski/calculator.ts +243 -0
  115. package/node_modules/@flickfyi/core/src/kowalski/catalog.ts +787 -0
  116. package/node_modules/@flickfyi/core/src/kowalski/clocks.tsx +464 -0
  117. package/node_modules/@flickfyi/core/src/kowalski/date-time.tsx +469 -0
  118. package/node_modules/@flickfyi/core/src/kowalski/details.tsx +1387 -0
  119. package/node_modules/@flickfyi/core/src/kowalski/everyday.tsx +652 -0
  120. package/node_modules/@flickfyi/core/src/kowalski/format.ts +48 -0
  121. package/node_modules/@flickfyi/core/src/kowalski/frame.tsx +351 -0
  122. package/node_modules/@flickfyi/core/src/kowalski/index.ts +23 -0
  123. package/node_modules/@flickfyi/core/src/kowalski/productivity.tsx +575 -0
  124. package/node_modules/@flickfyi/core/src/kowalski/recipe.tsx +555 -0
  125. package/node_modules/@flickfyi/core/src/kowalski/stories/composition.stories.tsx +47 -0
  126. package/node_modules/@flickfyi/core/src/kowalski/stories/composition.tsx +100 -0
  127. package/node_modules/@flickfyi/core/src/kowalski/tools.tsx +1213 -0
  128. package/node_modules/@flickfyi/core/src/kowalski/use-clock.ts +19 -0
  129. package/node_modules/@flickfyi/core/src/kowalski/use-configured-feature.ts +85 -0
  130. package/node_modules/@flickfyi/core/src/kowalski/use-feature-store.ts +119 -0
  131. package/node_modules/@flickfyi/core/src/molecules/field/field.tsx +34 -0
  132. package/node_modules/@flickfyi/core/src/molecules/index.ts +3 -0
  133. package/node_modules/@flickfyi/core/src/molecules/segmented/segmented.tsx +48 -0
  134. package/node_modules/@flickfyi/core/src/molecules/stepper/stepper.tsx +54 -0
  135. package/node_modules/@flickfyi/core/src/quantum/use-store.ts +41 -16
  136. package/node_modules/@flickfyi/core/tests/fly.test.ts +34 -7
  137. package/node_modules/@flickfyi/core/tests/kowalski-calculations.test.ts +60 -0
  138. package/node_modules/@flickfyi/core/tests/kowalski-calculator.test.ts +142 -0
  139. package/node_modules/@flickfyi/core/tests/kowalski-contracts.test.ts +223 -0
  140. package/node_modules/@flickfyi/core/tests/kowalski-date-time.test.tsx +462 -0
  141. package/node_modules/@flickfyi/core/tests/kowalski-features.test.tsx +2158 -0
  142. package/node_modules/@flickfyi/core/tests/kowalski-store.test.tsx +514 -0
  143. package/node_modules/@flickfyi/core/tests/preview-build.test.ts +1 -1
  144. package/node_modules/@flickfyi/core/tests/quantum-use-store.test.ts +53 -1
  145. package/node_modules/@flickfyi/core/tests/verify-tsgo-assets.test.ts +1 -1
  146. package/node_modules/@flickfyi/core/tsconfig.vite-dts.json +2 -1
  147. package/node_modules/@flickfyi/core/tsgo.bun.lock +111 -9
  148. package/node_modules/@flickfyi/core/tsgo.package.json +21 -3
  149. package/node_modules/@flickfyi/core/vite.config.ts +9 -5
  150. package/node_modules/@flickfyi/core/vitest.config.ts +1 -1
  151. package/node_modules/@flickfyi/http-message-sig/.turbo/turbo-build.log +7 -7
  152. package/node_modules/@flickfyi/identity/.turbo/turbo-build.log +8 -9
  153. package/node_modules/@flickfyi/lens/.turbo/turbo-build.log +7 -7
  154. package/node_modules/@flickfyi/photon/.turbo/turbo-build.log +9 -9
  155. package/node_modules/@flickfyi/photon/Sources/Photon/Components/Button.swift +29 -2
  156. package/node_modules/@flickfyi/photon/Sources/PhotonVersion/Resources/photon-version.json +1 -1
  157. package/node_modules/@flickfyi/photon/Tests/PhotonTests/Components/ButtonHostTests.swift +26 -0
  158. package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-features.styles.json +1 -0
  159. package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-native.styles.json +1 -1
  160. package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-scale.styles.json +1 -1
  161. package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-theme.styles.json +1 -1
  162. package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-typography.styles.json +1 -1
  163. package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/stylex-calculator.styles.json +1 -1
  164. package/node_modules/@flickfyi/photon/dist/globals.d.ts +5 -0
  165. package/node_modules/@flickfyi/photon/dist/version.cjs +1 -1
  166. package/node_modules/@flickfyi/photon/dist/version.js +1 -1
  167. package/node_modules/@flickfyi/photon/generated/react-swiftui.d.ts +1 -0
  168. package/node_modules/@flickfyi/photon/package.json +1 -1
  169. package/node_modules/@flickfyi/photon/src/globals.d.ts +5 -0
  170. package/node_modules/@flickfyi/rwsdk-extensions/.turbo/turbo-build.log +7 -7
  171. package/node_modules/@formatjs/fast-memoize/LICENSE.md +9 -0
  172. package/node_modules/@formatjs/fast-memoize/README.md +3 -0
  173. package/node_modules/@formatjs/fast-memoize/index.d.ts +35 -0
  174. package/node_modules/@formatjs/fast-memoize/index.js +69 -0
  175. package/node_modules/@formatjs/fast-memoize/index.js.map +1 -0
  176. package/node_modules/@formatjs/fast-memoize/package.json +25 -0
  177. package/node_modules/@formatjs/icu-messageformat-parser/LICENSE.md +9 -0
  178. package/node_modules/@formatjs/icu-messageformat-parser/README.md +38 -0
  179. package/node_modules/@formatjs/icu-messageformat-parser/index.d.ts +393 -0
  180. package/node_modules/@formatjs/icu-messageformat-parser/index.js +2187 -0
  181. package/node_modules/@formatjs/icu-messageformat-parser/index.js.map +1 -0
  182. package/node_modules/@formatjs/icu-messageformat-parser/manipulator.d.ts +175 -0
  183. package/node_modules/@formatjs/icu-messageformat-parser/manipulator.js +209 -0
  184. package/node_modules/@formatjs/icu-messageformat-parser/manipulator.js.map +1 -0
  185. package/node_modules/@formatjs/icu-messageformat-parser/no-parser.d.ts +183 -0
  186. package/node_modules/@formatjs/icu-messageformat-parser/no-parser.js +162 -0
  187. package/node_modules/@formatjs/icu-messageformat-parser/no-parser.js.map +1 -0
  188. package/node_modules/@formatjs/icu-messageformat-parser/package.json +21 -0
  189. package/node_modules/@formatjs/icu-messageformat-parser/printer.d.ts +154 -0
  190. package/node_modules/@formatjs/icu-messageformat-parser/printer.js +224 -0
  191. package/node_modules/@formatjs/icu-messageformat-parser/printer.js.map +1 -0
  192. package/node_modules/@formatjs/icu-skeleton-parser/LICENSE.md +9 -0
  193. package/node_modules/@formatjs/icu-skeleton-parser/README.md +1 -0
  194. package/node_modules/@formatjs/icu-skeleton-parser/index.d.ts +67 -0
  195. package/node_modules/@formatjs/icu-skeleton-parser/index.js +380 -0
  196. package/node_modules/@formatjs/icu-skeleton-parser/index.js.map +1 -0
  197. package/node_modules/@formatjs/icu-skeleton-parser/package.json +15 -0
  198. package/node_modules/@formatjs/intl/LICENSE.md +9 -0
  199. package/node_modules/@formatjs/intl/README.md +3 -0
  200. package/node_modules/@formatjs/intl/index.d.ts +499 -0
  201. package/node_modules/@formatjs/intl/index.js +595 -0
  202. package/node_modules/@formatjs/intl/index.js.map +1 -0
  203. package/node_modules/@formatjs/intl/package.json +37 -0
  204. package/node_modules/decimal.js/LICENCE.md +23 -0
  205. package/node_modules/decimal.js/README.md +246 -0
  206. package/node_modules/decimal.js/decimal.d.ts +301 -0
  207. package/node_modules/decimal.js/decimal.js +4951 -0
  208. package/node_modules/decimal.js/decimal.mjs +4914 -0
  209. package/node_modules/decimal.js/package.json +55 -0
  210. package/node_modules/format-quantity/LICENSE +21 -0
  211. package/node_modules/format-quantity/README.md +181 -0
  212. package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.development.d.ts +131 -0
  213. package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.development.js +214 -0
  214. package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.development.js.map +1 -0
  215. package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.production.d.ts +131 -0
  216. package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.production.js +2 -0
  217. package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.production.js.map +1 -0
  218. package/node_modules/format-quantity/dist/cjs/index.d.ts +1 -0
  219. package/node_modules/format-quantity/dist/cjs/index.js +6 -0
  220. package/node_modules/format-quantity/dist/format-quantity.d.mts +131 -0
  221. package/node_modules/format-quantity/dist/format-quantity.legacy-esm.d.ts +131 -0
  222. package/node_modules/format-quantity/dist/format-quantity.legacy-esm.js +268 -0
  223. package/node_modules/format-quantity/dist/format-quantity.legacy-esm.js.map +1 -0
  224. package/node_modules/format-quantity/dist/format-quantity.mjs +208 -0
  225. package/node_modules/format-quantity/dist/format-quantity.mjs.map +1 -0
  226. package/node_modules/format-quantity/dist/format-quantity.production.d.mts +131 -0
  227. package/node_modules/format-quantity/dist/format-quantity.production.mjs +2 -0
  228. package/node_modules/format-quantity/dist/format-quantity.production.mjs.map +1 -0
  229. package/node_modules/format-quantity/dist/format-quantity.umd.min.js +3 -0
  230. package/node_modules/format-quantity/dist/format-quantity.umd.min.js.map +1 -0
  231. package/node_modules/format-quantity/package.json +81 -0
  232. package/node_modules/intl-messageformat/LICENSE.md +33 -0
  233. package/node_modules/intl-messageformat/README.md +3 -0
  234. package/node_modules/intl-messageformat/index.d.ts +177 -0
  235. package/node_modules/intl-messageformat/index.js +327 -0
  236. package/node_modules/intl-messageformat/index.js.map +1 -0
  237. package/node_modules/intl-messageformat/intl-messageformat.iife.js +2819 -0
  238. package/node_modules/intl-messageformat/package.json +40 -0
  239. package/node_modules/numeric-quantity/LICENSE +21 -0
  240. package/node_modules/numeric-quantity/README.md +306 -0
  241. package/node_modules/numeric-quantity/dist/cjs/index.d.ts +1 -0
  242. package/node_modules/numeric-quantity/dist/cjs/index.js +6 -0
  243. package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.development.d.ts +293 -0
  244. package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.development.js +579 -0
  245. package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.development.js.map +1 -0
  246. package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.production.d.ts +293 -0
  247. package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.production.js +2 -0
  248. package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.production.js.map +1 -0
  249. package/node_modules/numeric-quantity/dist/numeric-quantity.d.mts +293 -0
  250. package/node_modules/numeric-quantity/dist/numeric-quantity.iife.umd.min.js +2 -0
  251. package/node_modules/numeric-quantity/dist/numeric-quantity.iife.umd.min.js.map +1 -0
  252. package/node_modules/numeric-quantity/dist/numeric-quantity.legacy-esm.d.ts +293 -0
  253. package/node_modules/numeric-quantity/dist/numeric-quantity.legacy-esm.js +622 -0
  254. package/node_modules/numeric-quantity/dist/numeric-quantity.legacy-esm.js.map +1 -0
  255. package/node_modules/numeric-quantity/dist/numeric-quantity.mjs +564 -0
  256. package/node_modules/numeric-quantity/dist/numeric-quantity.mjs.map +1 -0
  257. package/node_modules/numeric-quantity/dist/numeric-quantity.production.d.mts +293 -0
  258. package/node_modules/numeric-quantity/dist/numeric-quantity.production.mjs +2 -0
  259. package/node_modules/numeric-quantity/dist/numeric-quantity.production.mjs.map +1 -0
  260. package/node_modules/numeric-quantity/package.json +72 -0
  261. package/node_modules/validator/LICENSE +20 -0
  262. package/node_modules/validator/README.md +269 -0
  263. package/node_modules/validator/es/index.js +218 -0
  264. package/node_modules/validator/es/lib/alpha.js +151 -0
  265. package/node_modules/validator/es/lib/blacklist.js +5 -0
  266. package/node_modules/validator/es/lib/contains.js +15 -0
  267. package/node_modules/validator/es/lib/equals.js +5 -0
  268. package/node_modules/validator/es/lib/escape.js +5 -0
  269. package/node_modules/validator/es/lib/isAbaRouting.js +15 -0
  270. package/node_modules/validator/es/lib/isAfter.js +10 -0
  271. package/node_modules/validator/es/lib/isAlpha.js +23 -0
  272. package/node_modules/validator/es/lib/isAlphanumeric.js +23 -0
  273. package/node_modules/validator/es/lib/isAscii.js +10 -0
  274. package/node_modules/validator/es/lib/isBIC.js +16 -0
  275. package/node_modules/validator/es/lib/isBase32.js +15 -0
  276. package/node_modules/validator/es/lib/isBase58.js +8 -0
  277. package/node_modules/validator/es/lib/isBase64.js +23 -0
  278. package/node_modules/validator/es/lib/isBefore.js +10 -0
  279. package/node_modules/validator/es/lib/isBoolean.js +15 -0
  280. package/node_modules/validator/es/lib/isBtcAddress.js +7 -0
  281. package/node_modules/validator/es/lib/isByteLength.js +19 -0
  282. package/node_modules/validator/es/lib/isCreditCard.js +43 -0
  283. package/node_modules/validator/es/lib/isCurrency.js +74 -0
  284. package/node_modules/validator/es/lib/isDataURI.js +31 -0
  285. package/node_modules/validator/es/lib/isDate.js +93 -0
  286. package/node_modules/validator/es/lib/isDecimal.js +22 -0
  287. package/node_modules/validator/es/lib/isDivisibleBy.js +6 -0
  288. package/node_modules/validator/es/lib/isEAN.js +70 -0
  289. package/node_modules/validator/es/lib/isEmail.js +165 -0
  290. package/node_modules/validator/es/lib/isEmpty.js +10 -0
  291. package/node_modules/validator/es/lib/isEthereumAddress.js +6 -0
  292. package/node_modules/validator/es/lib/isFQDN.js +67 -0
  293. package/node_modules/validator/es/lib/isFloat.js +14 -0
  294. package/node_modules/validator/es/lib/isFullWidth.js +6 -0
  295. package/node_modules/validator/es/lib/isHSL.js +13 -0
  296. package/node_modules/validator/es/lib/isHalfWidth.js +6 -0
  297. package/node_modules/validator/es/lib/isHash.js +21 -0
  298. package/node_modules/validator/es/lib/isHexColor.js +13 -0
  299. package/node_modules/validator/es/lib/isHexadecimal.js +6 -0
  300. package/node_modules/validator/es/lib/isIBAN.js +171 -0
  301. package/node_modules/validator/es/lib/isIMEI.js +40 -0
  302. package/node_modules/validator/es/lib/isIP.js +58 -0
  303. package/node_modules/validator/es/lib/isIPRange.js +41 -0
  304. package/node_modules/validator/es/lib/isISBN.js +47 -0
  305. package/node_modules/validator/es/lib/isISIN.js +55 -0
  306. package/node_modules/validator/es/lib/isISO15924.js +9 -0
  307. package/node_modules/validator/es/lib/isISO31661Alpha2.js +21 -0
  308. package/node_modules/validator/es/lib/isISO31661Alpha3.js +20 -0
  309. package/node_modules/validator/es/lib/isISO31661Numeric.js +8 -0
  310. package/node_modules/validator/es/lib/isISO4217.js +9 -0
  311. package/node_modules/validator/es/lib/isISO6346.js +28 -0
  312. package/node_modules/validator/es/lib/isISO6391.js +6 -0
  313. package/node_modules/validator/es/lib/isISO8601.js +42 -0
  314. package/node_modules/validator/es/lib/isISRC.js +8 -0
  315. package/node_modules/validator/es/lib/isISSN.js +19 -0
  316. package/node_modules/validator/es/lib/isIdentityCard.js +407 -0
  317. package/node_modules/validator/es/lib/isIn.js +23 -0
  318. package/node_modules/validator/es/lib/isInt.js +19 -0
  319. package/node_modules/validator/es/lib/isJSON.js +26 -0
  320. package/node_modules/validator/es/lib/isJWT.js +15 -0
  321. package/node_modules/validator/es/lib/isLatLong.js +21 -0
  322. package/node_modules/validator/es/lib/isLength.js +27 -0
  323. package/node_modules/validator/es/lib/isLicensePlate.js +58 -0
  324. package/node_modules/validator/es/lib/isLocale.js +107 -0
  325. package/node_modules/validator/es/lib/isLowercase.js +5 -0
  326. package/node_modules/validator/es/lib/isLuhnNumber.js +25 -0
  327. package/node_modules/validator/es/lib/isMACAddress.js +36 -0
  328. package/node_modules/validator/es/lib/isMD5.js +6 -0
  329. package/node_modules/validator/es/lib/isMagnetURI.js +9 -0
  330. package/node_modules/validator/es/lib/isMailtoURI.js +75 -0
  331. package/node_modules/validator/es/lib/isMimeType.js +40 -0
  332. package/node_modules/validator/es/lib/isMobilePhone.js +212 -0
  333. package/node_modules/validator/es/lib/isMongoId.js +6 -0
  334. package/node_modules/validator/es/lib/isMultibyte.js +10 -0
  335. package/node_modules/validator/es/lib/isNumeric.js +10 -0
  336. package/node_modules/validator/es/lib/isOctal.js +6 -0
  337. package/node_modules/validator/es/lib/isPassportNumber.js +145 -0
  338. package/node_modules/validator/es/lib/isPort.js +8 -0
  339. package/node_modules/validator/es/lib/isPostalCode.js +100 -0
  340. package/node_modules/validator/es/lib/isRFC3339.js +21 -0
  341. package/node_modules/validator/es/lib/isRgbColor.js +34 -0
  342. package/node_modules/validator/es/lib/isSemVer.js +14 -0
  343. package/node_modules/validator/es/lib/isSlug.js +6 -0
  344. package/node_modules/validator/es/lib/isStrongPassword.js +90 -0
  345. package/node_modules/validator/es/lib/isSurrogatePair.js +6 -0
  346. package/node_modules/validator/es/lib/isTaxID.js +1407 -0
  347. package/node_modules/validator/es/lib/isTime.js +22 -0
  348. package/node_modules/validator/es/lib/isULID.js +5 -0
  349. package/node_modules/validator/es/lib/isURL.js +241 -0
  350. package/node_modules/validator/es/lib/isUUID.js +23 -0
  351. package/node_modules/validator/es/lib/isUppercase.js +5 -0
  352. package/node_modules/validator/es/lib/isVAT.js +264 -0
  353. package/node_modules/validator/es/lib/isVariableWidth.js +7 -0
  354. package/node_modules/validator/es/lib/isWhitelisted.js +10 -0
  355. package/node_modules/validator/es/lib/ltrim.js +7 -0
  356. package/node_modules/validator/es/lib/matches.js +8 -0
  357. package/node_modules/validator/es/lib/normalizeEmail.js +131 -0
  358. package/node_modules/validator/es/lib/rtrim.js +15 -0
  359. package/node_modules/validator/es/lib/stripLow.js +7 -0
  360. package/node_modules/validator/es/lib/toBoolean.js +8 -0
  361. package/node_modules/validator/es/lib/toDate.js +6 -0
  362. package/node_modules/validator/es/lib/toFloat.js +5 -0
  363. package/node_modules/validator/es/lib/toInt.js +5 -0
  364. package/node_modules/validator/es/lib/trim.js +5 -0
  365. package/node_modules/validator/es/lib/unescape.js +8 -0
  366. package/node_modules/validator/es/lib/util/algorithms.js +79 -0
  367. package/node_modules/validator/es/lib/util/assertString.js +4 -0
  368. package/node_modules/validator/es/lib/util/checkHost.js +12 -0
  369. package/node_modules/validator/es/lib/util/includesArray.js +6 -0
  370. package/node_modules/validator/es/lib/util/includesString.js +4 -0
  371. package/node_modules/validator/es/lib/util/merge.js +14 -0
  372. package/node_modules/validator/es/lib/util/multilineRegex.js +12 -0
  373. package/node_modules/validator/es/lib/util/nullUndefinedCheck.js +3 -0
  374. package/node_modules/validator/es/lib/util/toString.js +13 -0
  375. package/node_modules/validator/es/lib/util/typeOf.js +10 -0
  376. package/node_modules/validator/es/lib/whitelist.js +5 -0
  377. package/node_modules/validator/index.js +229 -0
  378. package/node_modules/validator/lib/alpha.js +157 -0
  379. package/node_modules/validator/lib/blacklist.js +14 -0
  380. package/node_modules/validator/lib/contains.js +24 -0
  381. package/node_modules/validator/lib/equals.js +14 -0
  382. package/node_modules/validator/lib/escape.js +14 -0
  383. package/node_modules/validator/lib/isAbaRouting.js +23 -0
  384. package/node_modules/validator/lib/isAfter.js +19 -0
  385. package/node_modules/validator/lib/isAlpha.js +31 -0
  386. package/node_modules/validator/lib/isAlphanumeric.js +31 -0
  387. package/node_modules/validator/lib/isAscii.js +18 -0
  388. package/node_modules/validator/lib/isBIC.js +24 -0
  389. package/node_modules/validator/lib/isBase32.js +24 -0
  390. package/node_modules/validator/lib/isBase58.js +16 -0
  391. package/node_modules/validator/lib/isBase64.js +32 -0
  392. package/node_modules/validator/lib/isBefore.js +19 -0
  393. package/node_modules/validator/lib/isBoolean.js +24 -0
  394. package/node_modules/validator/lib/isBtcAddress.js +16 -0
  395. package/node_modules/validator/lib/isByteLength.js +27 -0
  396. package/node_modules/validator/lib/isCreditCard.js +52 -0
  397. package/node_modules/validator/lib/isCurrency.js +83 -0
  398. package/node_modules/validator/lib/isDataURI.js +40 -0
  399. package/node_modules/validator/lib/isDate.js +102 -0
  400. package/node_modules/validator/lib/isDecimal.js +31 -0
  401. package/node_modules/validator/lib/isDivisibleBy.js +15 -0
  402. package/node_modules/validator/lib/isEAN.js +78 -0
  403. package/node_modules/validator/lib/isEmail.js +174 -0
  404. package/node_modules/validator/lib/isEmpty.js +19 -0
  405. package/node_modules/validator/lib/isEthereumAddress.js +15 -0
  406. package/node_modules/validator/lib/isFQDN.js +76 -0
  407. package/node_modules/validator/lib/isFloat.js +22 -0
  408. package/node_modules/validator/lib/isFullWidth.js +14 -0
  409. package/node_modules/validator/lib/isHSL.js +22 -0
  410. package/node_modules/validator/lib/isHalfWidth.js +14 -0
  411. package/node_modules/validator/lib/isHash.js +30 -0
  412. package/node_modules/validator/lib/isHexColor.js +22 -0
  413. package/node_modules/validator/lib/isHexadecimal.js +15 -0
  414. package/node_modules/validator/lib/isIBAN.js +178 -0
  415. package/node_modules/validator/lib/isIMEI.js +49 -0
  416. package/node_modules/validator/lib/isIP.js +67 -0
  417. package/node_modules/validator/lib/isIPRange.js +50 -0
  418. package/node_modules/validator/lib/isISBN.js +56 -0
  419. package/node_modules/validator/lib/isISIN.js +64 -0
  420. package/node_modules/validator/lib/isISO15924.js +16 -0
  421. package/node_modules/validator/lib/isISO31661Alpha2.js +28 -0
  422. package/node_modules/validator/lib/isISO31661Alpha3.js +28 -0
  423. package/node_modules/validator/lib/isISO31661Numeric.js +16 -0
  424. package/node_modules/validator/lib/isISO4217.js +16 -0
  425. package/node_modules/validator/lib/isISO6346.js +35 -0
  426. package/node_modules/validator/lib/isISO6391.js +15 -0
  427. package/node_modules/validator/lib/isISO8601.js +50 -0
  428. package/node_modules/validator/lib/isISRC.js +16 -0
  429. package/node_modules/validator/lib/isISSN.js +28 -0
  430. package/node_modules/validator/lib/isIdentityCard.js +416 -0
  431. package/node_modules/validator/lib/isIn.js +32 -0
  432. package/node_modules/validator/lib/isInt.js +28 -0
  433. package/node_modules/validator/lib/isJSON.js +35 -0
  434. package/node_modules/validator/lib/isJWT.js +24 -0
  435. package/node_modules/validator/lib/isLatLong.js +30 -0
  436. package/node_modules/validator/lib/isLength.js +35 -0
  437. package/node_modules/validator/lib/isLicensePlate.js +67 -0
  438. package/node_modules/validator/lib/isLocale.js +115 -0
  439. package/node_modules/validator/lib/isLowercase.js +14 -0
  440. package/node_modules/validator/lib/isLuhnNumber.js +34 -0
  441. package/node_modules/validator/lib/isMACAddress.js +45 -0
  442. package/node_modules/validator/lib/isMD5.js +15 -0
  443. package/node_modules/validator/lib/isMagnetURI.js +18 -0
  444. package/node_modules/validator/lib/isMailtoURI.js +84 -0
  445. package/node_modules/validator/lib/isMimeType.js +48 -0
  446. package/node_modules/validator/lib/isMobilePhone.js +219 -0
  447. package/node_modules/validator/lib/isMongoId.js +15 -0
  448. package/node_modules/validator/lib/isMultibyte.js +18 -0
  449. package/node_modules/validator/lib/isNumeric.js +19 -0
  450. package/node_modules/validator/lib/isOctal.js +15 -0
  451. package/node_modules/validator/lib/isPassportNumber.js +152 -0
  452. package/node_modules/validator/lib/isPort.js +17 -0
  453. package/node_modules/validator/lib/isPostalCode.js +107 -0
  454. package/node_modules/validator/lib/isRFC3339.js +29 -0
  455. package/node_modules/validator/lib/isRgbColor.js +42 -0
  456. package/node_modules/validator/lib/isSemVer.js +22 -0
  457. package/node_modules/validator/lib/isSlug.js +15 -0
  458. package/node_modules/validator/lib/isStrongPassword.js +99 -0
  459. package/node_modules/validator/lib/isSurrogatePair.js +15 -0
  460. package/node_modules/validator/lib/isTaxID.js +1417 -0
  461. package/node_modules/validator/lib/isTime.js +31 -0
  462. package/node_modules/validator/lib/isULID.js +14 -0
  463. package/node_modules/validator/lib/isURL.js +249 -0
  464. package/node_modules/validator/lib/isUUID.js +32 -0
  465. package/node_modules/validator/lib/isUppercase.js +14 -0
  466. package/node_modules/validator/lib/isVAT.js +274 -0
  467. package/node_modules/validator/lib/isVariableWidth.js +16 -0
  468. package/node_modules/validator/lib/isWhitelisted.js +19 -0
  469. package/node_modules/validator/lib/ltrim.js +16 -0
  470. package/node_modules/validator/lib/matches.js +17 -0
  471. package/node_modules/validator/lib/normalizeEmail.js +140 -0
  472. package/node_modules/validator/lib/rtrim.js +24 -0
  473. package/node_modules/validator/lib/stripLow.js +16 -0
  474. package/node_modules/validator/lib/toBoolean.js +17 -0
  475. package/node_modules/validator/lib/toDate.js +15 -0
  476. package/node_modules/validator/lib/toFloat.js +14 -0
  477. package/node_modules/validator/lib/toInt.js +14 -0
  478. package/node_modules/validator/lib/trim.js +14 -0
  479. package/node_modules/validator/lib/unescape.js +17 -0
  480. package/node_modules/validator/lib/util/algorithms.js +88 -0
  481. package/node_modules/validator/lib/util/assertString.js +12 -0
  482. package/node_modules/validator/lib/util/checkHost.js +20 -0
  483. package/node_modules/validator/lib/util/includesArray.js +14 -0
  484. package/node_modules/validator/lib/util/includesString.js +12 -0
  485. package/node_modules/validator/lib/util/merge.js +22 -0
  486. package/node_modules/validator/lib/util/multilineRegex.js +20 -0
  487. package/node_modules/validator/lib/util/nullUndefinedCheck.js +11 -0
  488. package/node_modules/validator/lib/util/toString.js +21 -0
  489. package/node_modules/validator/lib/util/typeOf.js +18 -0
  490. package/node_modules/validator/lib/whitelist.js +14 -0
  491. package/node_modules/validator/package.json +76 -0
  492. package/node_modules/validator/validator.js +5808 -0
  493. package/node_modules/validator/validator.min.js +23 -0
  494. package/package.json +3 -3
@@ -0,0 +1,23 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Expense } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function ExpenseExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Expense
12
+ amount={18.5}
13
+ category="Food &amp; drink"
14
+ title="Coffee with the team"
15
+ />
16
+ )
17
+ }
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,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import GoalExample from './goal'
4
+ import exampleSource from './goal.tsx?raw'
5
+
6
+ const meta = {
7
+ component: GoalExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Goal',
10
+ } satisfies Meta<typeof GoalExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,24 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Goal } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function GoalExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Goal
12
+ progress={3}
13
+ target={12}
14
+ title="Make room to read"
15
+ unit="books"
16
+ />
17
+ )
18
+ }
19
+
20
+ export const exampleMetadata = {
21
+ description:
22
+ 'An instantiatable Goal from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
23
+ name: 'Goal',
24
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import HabitExample from './habit'
4
+ import exampleSource from './habit.tsx?raw'
5
+
6
+ const meta = {
7
+ component: HabitExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Habit',
10
+ } satisfies Meta<typeof HabitExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,23 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Habit } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function HabitExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Habit
12
+ timeZone="America/Los_Angeles"
13
+ title="Read a few pages"
14
+ weekdays={['monday', 'tuesday', 'wednesday', 'thursday', 'friday']}
15
+ />
16
+ )
17
+ }
18
+
19
+ export const exampleMetadata = {
20
+ description:
21
+ 'An instantiatable Habit from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
22
+ name: 'Habit',
23
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import LedgerExample from './ledger'
4
+ import exampleSource from './ledger.tsx?raw'
5
+
6
+ const meta = {
7
+ component: LedgerExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Ledger',
10
+ } satisfies Meta<typeof LedgerExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,25 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Ledger } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function LedgerExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Ledger
12
+ people={[
13
+ { id: 'sam', label: 'Sam' },
14
+ { id: 'riley', label: 'Riley' },
15
+ ]}
16
+ title="Apartment tab"
17
+ />
18
+ )
19
+ }
20
+
21
+ export const exampleMetadata = {
22
+ description:
23
+ 'An instantiatable Ledger from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
24
+ name: 'Ledger',
25
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import NoteExample from './note'
4
+ import exampleSource from './note.tsx?raw'
5
+
6
+ const meta = {
7
+ component: NoteExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Note',
10
+ } satisfies Meta<typeof NoteExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,22 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Note } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function NoteExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Note
12
+ body={'Make the next step obvious.\n\nLeave enough room for the thing that matters.'}
13
+ title="A thought worth keeping"
14
+ />
15
+ )
16
+ }
17
+
18
+ export const exampleMetadata = {
19
+ description:
20
+ 'An instantiatable Note from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
21
+ name: 'Note',
22
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import PollExample from './poll'
4
+ import exampleSource from './poll.tsx?raw'
5
+
6
+ const meta = {
7
+ component: PollExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Poll',
10
+ } satisfies Meta<typeof PollExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,26 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Poll } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function PollExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Poll
12
+ options={[
13
+ { id: 'ramen', label: 'Ramen' },
14
+ { id: 'tacos', label: 'Tacos' },
15
+ { id: 'pizza', label: 'Pizza' },
16
+ ]}
17
+ question="Where should we eat?"
18
+ />
19
+ )
20
+ }
21
+
22
+ export const exampleMetadata = {
23
+ description:
24
+ 'An instantiatable Poll from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
25
+ name: 'Poll',
26
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import RandomPickerExample from './random-picker'
4
+ import exampleSource from './random-picker.tsx?raw'
5
+
6
+ const meta = {
7
+ component: RandomPickerExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/RandomPicker',
10
+ } satisfies Meta<typeof RandomPickerExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,23 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { RandomPicker } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function RandomPickerExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <RandomPicker
12
+ mode="list"
13
+ options={['Take a walk', 'Make some tea', 'Read a chapter']}
14
+ title="What should we do?"
15
+ />
16
+ )
17
+ }
18
+
19
+ export const exampleMetadata = {
20
+ description:
21
+ 'An instantiatable RandomPicker from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
22
+ name: 'RandomPicker',
23
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import RatingExample from './rating'
4
+ import exampleSource from './rating.tsx?raw'
5
+
6
+ const meta = {
7
+ component: RatingExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Rating',
10
+ } satisfies Meta<typeof RatingExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,19 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Rating } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function RatingExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Rating subject="Luigi's on 5th" title="Rate dinner" />
12
+ )
13
+ }
14
+
15
+ export const exampleMetadata = {
16
+ description:
17
+ 'An instantiatable Rating from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
18
+ name: 'Rating',
19
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import RecipeExample from './recipe'
4
+ import exampleSource from './recipe.tsx?raw'
5
+
6
+ const meta = {
7
+ component: RecipeExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Recipe',
10
+ } satisfies Meta<typeof RecipeExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,120 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Recipe } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function RecipeExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Recipe
12
+ ingredients={[
13
+ { id: 'water', label: 'Well-salted water' },
14
+ { amount: 200, id: 'pasta', label: 'Spaghetti', unit: 'g' },
15
+ { amount: 4, id: 'oil', label: 'Olive oil', unit: 'tbsp' },
16
+ { amount: 3, id: 'garlic', label: 'Garlic cloves' },
17
+ { id: 'chili', label: 'Chili flakes', notes: ['optional'], unit: 'a pinch' },
18
+ { id: 'parsley', label: 'Parsley', unit: 'a handful' },
19
+ { id: 'cheese', label: 'Grated Parmesan', unit: 'to taste' },
20
+ ]}
21
+ servings={2}
22
+ steps={[
23
+ {
24
+ attention: 'passive',
25
+ id: 'heat-water',
26
+ instruction: 'Bring a large pot of salted water to a boil.',
27
+ kind: 'setup',
28
+ label: 'water',
29
+ outputs: [{ id: 'boiling-water', name: 'Boiling water' }],
30
+ uses: [
31
+ { id: 'u-water', source: { ingredientId: 'water', kind: 'ingredient' } },
32
+ ],
33
+ },
34
+ {
35
+ id: 'slice',
36
+ instruction: 'Thinly slice the garlic and chop the parsley.',
37
+ label: 'slicing',
38
+ outputs: [
39
+ { id: 'sliced-garlic', name: 'Sliced garlic' },
40
+ { id: 'chopped-parsley', name: 'Chopped parsley' },
41
+ ],
42
+ uses: [
43
+ { id: 'u-garlic', source: { ingredientId: 'garlic', kind: 'ingredient' } },
44
+ { id: 'u-parsley', source: { ingredientId: 'parsley', kind: 'ingredient' } },
45
+ ],
46
+ },
47
+ {
48
+ attention: 'passive',
49
+ doneness: 'al dente',
50
+ duration: { maxMinutes: 10, minMinutes: 8, raw: '8–10 min' },
51
+ id: 'boil',
52
+ instruction: 'Cook the spaghetti until al dente.',
53
+ label: 'pasta',
54
+ outputs: [{ id: 'pasta-pot', name: 'Pasta in its water' }],
55
+ uses: [
56
+ { id: 'u-pot', source: { kind: 'output', outputId: 'boiling-water' } },
57
+ { id: 'u-pasta', source: { ingredientId: 'pasta', kind: 'ingredient' } },
58
+ ],
59
+ },
60
+ {
61
+ attention: 'active',
62
+ doneness: 'pale gold',
63
+ duration: { maxMinutes: 4, minMinutes: 4, raw: '4 min' },
64
+ id: 'sizzle',
65
+ instruction: 'Cook the garlic and chili in the oil over low heat.',
66
+ label: 'garlic oil',
67
+ outputs: [{ id: 'garlic-oil', name: 'Garlic oil' }],
68
+ uses: [
69
+ { id: 'u-oil', source: { ingredientId: 'oil', kind: 'ingredient' } },
70
+ { id: 'u-sliced', source: { kind: 'output', outputId: 'sliced-garlic' } },
71
+ { id: 'u-chili', source: { ingredientId: 'chili', kind: 'ingredient' } },
72
+ ],
73
+ },
74
+ {
75
+ id: 'drain',
76
+ instruction: 'Drain the pasta, saving a cup of the cooking water.',
77
+ label: 'draining',
78
+ outputs: [
79
+ { id: 'drained', name: 'Drained pasta' },
80
+ { id: 'pasta-water', name: 'Pasta water' },
81
+ ],
82
+ uses: [{ id: 'u-drain', source: { kind: 'output', outputId: 'pasta-pot' } }],
83
+ },
84
+ {
85
+ id: 'toss',
86
+ instruction: 'Toss the pasta in the garlic oil with a splash of pasta water.',
87
+ label: 'tossing',
88
+ outputs: [{ id: 'tossed', name: 'Tossed pasta' }],
89
+ uses: [
90
+ { id: 'u-drained', source: { kind: 'output', outputId: 'drained' } },
91
+ { id: 'u-garlic-oil', source: { kind: 'output', outputId: 'garlic-oil' } },
92
+ {
93
+ id: 'u-pasta-water',
94
+ portion: 'a splash',
95
+ source: { kind: 'output', outputId: 'pasta-water' },
96
+ },
97
+ ],
98
+ },
99
+ {
100
+ id: 'serve',
101
+ instruction: 'Finish with the parsley and Parmesan, and serve.',
102
+ kind: 'serve',
103
+ label: 'serving',
104
+ uses: [
105
+ { id: 'u-tossed', source: { kind: 'output', outputId: 'tossed' } },
106
+ { id: 'u-chopped', source: { kind: 'output', outputId: 'chopped-parsley' } },
107
+ { id: 'u-cheese', source: { ingredientId: 'cheese', kind: 'ingredient' } },
108
+ ],
109
+ },
110
+ ]}
111
+ title="Aglio e olio"
112
+ />
113
+ )
114
+ }
115
+
116
+ export const exampleMetadata = {
117
+ description:
118
+ 'An instantiatable Recipe from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
119
+ name: 'Recipe',
120
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import ReminderExample from './reminder'
4
+ import exampleSource from './reminder.tsx?raw'
5
+
6
+ const meta = {
7
+ component: ReminderExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Reminder',
10
+ } satisfies Meta<typeof ReminderExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,23 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Reminder } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function ReminderExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Reminder
12
+ dueAt="2026-11-06T17:00:00Z"
13
+ recurrence="weekly"
14
+ title="Water the plants"
15
+ />
16
+ )
17
+ }
18
+
19
+ export const exampleMetadata = {
20
+ description:
21
+ 'An instantiatable Reminder from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
22
+ name: 'Reminder',
23
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import RotationExample from './rotation'
4
+ import exampleSource from './rotation.tsx?raw'
5
+
6
+ const meta = {
7
+ component: RotationExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Rotation',
10
+ } satisfies Meta<typeof RotationExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,27 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Rotation } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function RotationExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Rotation
12
+ people={[
13
+ { id: 'ava', label: 'Ava' },
14
+ { id: 'ben', label: 'Ben' },
15
+ { id: 'cleo', label: 'Cleo' },
16
+ ]}
17
+ task="Take out the recycling"
18
+ title="Whose turn"
19
+ />
20
+ )
21
+ }
22
+
23
+ export const exampleMetadata = {
24
+ description:
25
+ 'An instantiatable Rotation from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
26
+ name: 'Rotation',
27
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import ScoreboardExample from './scoreboard'
4
+ import exampleSource from './scoreboard.tsx?raw'
5
+
6
+ const meta = {
7
+ component: ScoreboardExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/Scoreboard',
10
+ } satisfies Meta<typeof ScoreboardExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,26 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { Scoreboard } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function ScoreboardExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <Scoreboard
12
+ players={[
13
+ { id: 'maya', label: 'Maya' },
14
+ { id: 'theo', label: 'Theo' },
15
+ { id: 'nina', label: 'Nina' },
16
+ ]}
17
+ title="Game night"
18
+ />
19
+ )
20
+ }
21
+
22
+ export const exampleMetadata = {
23
+ description:
24
+ 'An instantiatable Scoreboard from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
25
+ name: 'Scoreboard',
26
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import ShoppingListExample from './shopping-list'
4
+ import exampleSource from './shopping-list.tsx?raw'
5
+
6
+ const meta = {
7
+ component: ShoppingListExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/ShoppingList',
10
+ } satisfies Meta<typeof ShoppingListExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,27 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { ShoppingList } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function ShoppingListExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <ShoppingList
12
+ items={[
13
+ { id: 'eggs', label: 'Eggs', price: 4.5 },
14
+ { id: 'bread', label: 'Sourdough', price: 6 },
15
+ { id: 'apples', label: 'Apples', price: 0.8, quantity: 6 },
16
+ { id: 'basil', label: 'Basil' },
17
+ ]}
18
+ title="Saturday market"
19
+ />
20
+ )
21
+ }
22
+
23
+ export const exampleMetadata = {
24
+ description:
25
+ 'An instantiatable ShoppingList from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
26
+ name: 'ShoppingList',
27
+ } satisfies ExampleMetadata
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import TaskBoardExample from './task-board'
4
+ import exampleSource from './task-board.tsx?raw'
5
+
6
+ const meta = {
7
+ component: TaskBoardExample,
8
+ parameters: { docs: { source: { code: exampleSource, language: 'tsx' } } },
9
+ title: 'Kowalski/TaskBoard',
10
+ } satisfies Meta<typeof TaskBoardExample>
11
+
12
+ export default meta
13
+ export const Example: StoryObj<typeof meta> = {
14
+ args: { enabledForAgents: false },
15
+ }
@@ -0,0 +1,27 @@
1
+ import { useTheme } from '@flickfyi/core'
2
+ import { theme } from '@flickfyi/core/examples/kowalski/theme'
3
+ import { TaskBoard } from '@flickfyi/core/kowalski'
4
+
5
+ import type { ExampleMetadata } from '@flickfyi/core/examples/metadata'
6
+
7
+ export default function TaskBoardExample() {
8
+ useTheme(theme)
9
+
10
+ return (
11
+ <TaskBoard
12
+ tasks={[
13
+ { id: 'invite', label: 'Send the invitations' },
14
+ { id: 'venue', label: 'Confirm the venue' },
15
+ { id: 'cake', label: 'Order the cake' },
16
+ { id: 'playlist', label: 'Make a playlist' },
17
+ ]}
18
+ title="Birthday party"
19
+ />
20
+ )
21
+ }
22
+
23
+ export const exampleMetadata = {
24
+ description:
25
+ 'An instantiatable TaskBoard from Core. Authored UI and standard Quantum persistence; the model supplies typed content only.',
26
+ name: 'TaskBoard',
27
+ } satisfies ExampleMetadata