@flickfyi/flkr 0.0.141 → 0.0.153
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/node_modules/@flickfyi/attestation/.turbo/turbo-build.log +7 -7
- package/node_modules/@flickfyi/biscuit/.turbo/turbo-build.log +7 -7
- package/node_modules/@flickfyi/core/.oxlintrc.json +2 -1
- package/node_modules/@flickfyi/core/.turbo/turbo-build.log +499 -92
- package/node_modules/@flickfyi/core/README.md +58 -4
- package/node_modules/@flickfyi/core/dist/index.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/index.js +35 -24
- package/node_modules/@flickfyi/core/dist/kowalski/calculations.d.ts +17 -0
- package/node_modules/@flickfyi/core/dist/kowalski/calculator.d.ts +13 -0
- package/node_modules/@flickfyi/core/dist/kowalski/catalog.cjs +1 -0
- package/node_modules/@flickfyi/core/dist/kowalski/catalog.d.cts +962 -0
- package/node_modules/@flickfyi/core/dist/kowalski/catalog.d.ts +962 -0
- package/node_modules/@flickfyi/core/dist/kowalski/catalog.js +639 -0
- package/node_modules/@flickfyi/core/dist/kowalski/clocks.d.ts +4 -0
- package/node_modules/@flickfyi/core/dist/kowalski/date-time.d.ts +22 -0
- package/node_modules/@flickfyi/core/dist/kowalski/details.d.ts +7 -0
- package/node_modules/@flickfyi/core/dist/kowalski/everyday.d.ts +8 -0
- package/node_modules/@flickfyi/core/dist/kowalski/format.d.ts +4 -0
- package/node_modules/@flickfyi/core/dist/kowalski/frame.d.ts +161 -0
- package/node_modules/@flickfyi/core/dist/kowalski/index.cjs +21 -0
- package/node_modules/@flickfyi/core/dist/kowalski/index.d.cts +8 -0
- package/node_modules/@flickfyi/core/dist/kowalski/index.d.ts +8 -0
- package/node_modules/@flickfyi/core/dist/kowalski/index.js +7496 -0
- package/node_modules/@flickfyi/core/dist/kowalski/productivity.d.ts +5 -0
- package/node_modules/@flickfyi/core/dist/kowalski/recipe.d.ts +8 -0
- package/node_modules/@flickfyi/core/dist/kowalski/tools.d.ts +7 -0
- package/node_modules/@flickfyi/core/dist/kowalski/use-clock.d.ts +6 -0
- package/node_modules/@flickfyi/core/dist/kowalski/use-configured-feature.d.ts +19 -0
- package/node_modules/@flickfyi/core/dist/kowalski/use-feature-store.d.ts +15 -0
- package/node_modules/@flickfyi/core/dist/kowalski.css +506 -0
- package/node_modules/@flickfyi/core/dist/molecules/field/field.d.ts +8 -0
- package/node_modules/@flickfyi/core/dist/molecules/index.cjs +1 -1
- package/node_modules/@flickfyi/core/dist/molecules/index.d.cts +3 -0
- package/node_modules/@flickfyi/core/dist/molecules/index.d.ts +3 -0
- package/node_modules/@flickfyi/core/dist/molecules/index.js +88 -27
- package/node_modules/@flickfyi/core/dist/molecules/segmented/segmented.d.ts +10 -0
- package/node_modules/@flickfyi/core/dist/molecules/stepper/stepper.d.ts +10 -0
- package/node_modules/@flickfyi/core/dist/quantum/use-store.d.ts +7 -1
- package/node_modules/@flickfyi/core/dist/themes.css +2 -0
- package/node_modules/@flickfyi/core/examples/kowalski/bill-split/bill-split.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/bill-split/bill-split.tsx +17 -0
- package/node_modules/@flickfyi/core/examples/kowalski/bookmark/bookmark.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/bookmark/bookmark.tsx +23 -0
- package/node_modules/@flickfyi/core/examples/kowalski/budget/budget.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/budget/budget.tsx +26 -0
- package/node_modules/@flickfyi/core/examples/kowalski/calculator/calculator.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/calculator/calculator.tsx +24 -0
- package/node_modules/@flickfyi/core/examples/kowalski/checklist/checklist.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/checklist/checklist.tsx +26 -0
- package/node_modules/@flickfyi/core/examples/kowalski/color-palette/color-palette.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/color-palette/color-palette.tsx +22 -0
- package/node_modules/@flickfyi/core/examples/kowalski/contact/contact.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/contact/contact.tsx +23 -0
- package/node_modules/@flickfyi/core/examples/kowalski/countdown/countdown.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/countdown/countdown.tsx +23 -0
- package/node_modules/@flickfyi/core/examples/kowalski/event/event.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/event/event.tsx +24 -0
- package/node_modules/@flickfyi/core/examples/kowalski/expense/expense.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/expense/expense.tsx +23 -0
- package/node_modules/@flickfyi/core/examples/kowalski/goal/goal.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/goal/goal.tsx +24 -0
- package/node_modules/@flickfyi/core/examples/kowalski/habit/habit.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/habit/habit.tsx +23 -0
- package/node_modules/@flickfyi/core/examples/kowalski/ledger/ledger.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/ledger/ledger.tsx +25 -0
- package/node_modules/@flickfyi/core/examples/kowalski/note/note.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/note/note.tsx +22 -0
- package/node_modules/@flickfyi/core/examples/kowalski/poll/poll.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/poll/poll.tsx +26 -0
- package/node_modules/@flickfyi/core/examples/kowalski/random-picker/random-picker.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/random-picker/random-picker.tsx +23 -0
- package/node_modules/@flickfyi/core/examples/kowalski/rating/rating.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/rating/rating.tsx +19 -0
- package/node_modules/@flickfyi/core/examples/kowalski/recipe/recipe.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/recipe/recipe.tsx +120 -0
- package/node_modules/@flickfyi/core/examples/kowalski/reminder/reminder.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/reminder/reminder.tsx +23 -0
- package/node_modules/@flickfyi/core/examples/kowalski/rotation/rotation.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/rotation/rotation.tsx +27 -0
- package/node_modules/@flickfyi/core/examples/kowalski/scoreboard/scoreboard.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/scoreboard/scoreboard.tsx +26 -0
- package/node_modules/@flickfyi/core/examples/kowalski/shopping-list/shopping-list.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/shopping-list/shopping-list.tsx +27 -0
- package/node_modules/@flickfyi/core/examples/kowalski/task-board/task-board.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/task-board/task-board.tsx +27 -0
- package/node_modules/@flickfyi/core/examples/kowalski/theme.ts +3 -0
- package/node_modules/@flickfyi/core/examples/kowalski/time-zone/time-zone.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/time-zone/time-zone.tsx +22 -0
- package/node_modules/@flickfyi/core/examples/kowalski/timer/timer.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/timer/timer.tsx +23 -0
- package/node_modules/@flickfyi/core/examples/kowalski/trip/trip.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/trip/trip.tsx +26 -0
- package/node_modules/@flickfyi/core/examples/kowalski/unit-converter/unit-converter.stories.tsx +15 -0
- package/node_modules/@flickfyi/core/examples/kowalski/unit-converter/unit-converter.tsx +24 -0
- package/node_modules/@flickfyi/core/examples/parrott/calculator/calculator.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/examples/parrott/checklist/checklist.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/examples/parrott/countdown/countdown.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/examples/parrott/counter/counter.stories.tsx +1 -0
- package/node_modules/@flickfyi/core/examples/parrott/fortune/fortune.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/examples/parrott/grid/grid.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/examples/parrott/kale-smoothie/kale-smoothie.stories.tsx +1 -0
- package/node_modules/@flickfyi/core/examples/parrott/list/list.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/examples/parrott/log/log.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/examples/parrott/timed-task/timed-task.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/examples/parrott/timer/timer.stories.tsx +3 -1
- package/node_modules/@flickfyi/core/fixtures/native/host/project.yml +3 -0
- package/node_modules/@flickfyi/core/fixtures/native/src/catalog-features.tsx +88 -0
- package/node_modules/@flickfyi/core/package.json +35 -5
- package/node_modules/@flickfyi/core/package.tsgo.json +19 -1
- package/node_modules/@flickfyi/core/scripts/vite-globals.d.ts +2 -0
- package/node_modules/@flickfyi/core/src/generated-types.d.ts +1 -0
- package/node_modules/@flickfyi/core/src/kowalski/README.md +9 -0
- package/node_modules/@flickfyi/core/src/kowalski/calculations.ts +106 -0
- package/node_modules/@flickfyi/core/src/kowalski/calculator.ts +243 -0
- package/node_modules/@flickfyi/core/src/kowalski/catalog.ts +787 -0
- package/node_modules/@flickfyi/core/src/kowalski/clocks.tsx +464 -0
- package/node_modules/@flickfyi/core/src/kowalski/date-time.tsx +469 -0
- package/node_modules/@flickfyi/core/src/kowalski/details.tsx +1387 -0
- package/node_modules/@flickfyi/core/src/kowalski/everyday.tsx +652 -0
- package/node_modules/@flickfyi/core/src/kowalski/format.ts +48 -0
- package/node_modules/@flickfyi/core/src/kowalski/frame.tsx +351 -0
- package/node_modules/@flickfyi/core/src/kowalski/index.ts +23 -0
- package/node_modules/@flickfyi/core/src/kowalski/productivity.tsx +575 -0
- package/node_modules/@flickfyi/core/src/kowalski/recipe.tsx +555 -0
- package/node_modules/@flickfyi/core/src/kowalski/stories/composition.stories.tsx +47 -0
- package/node_modules/@flickfyi/core/src/kowalski/stories/composition.tsx +100 -0
- package/node_modules/@flickfyi/core/src/kowalski/tools.tsx +1213 -0
- package/node_modules/@flickfyi/core/src/kowalski/use-clock.ts +19 -0
- package/node_modules/@flickfyi/core/src/kowalski/use-configured-feature.ts +85 -0
- package/node_modules/@flickfyi/core/src/kowalski/use-feature-store.ts +119 -0
- package/node_modules/@flickfyi/core/src/molecules/field/field.tsx +34 -0
- package/node_modules/@flickfyi/core/src/molecules/index.ts +3 -0
- package/node_modules/@flickfyi/core/src/molecules/segmented/segmented.tsx +48 -0
- package/node_modules/@flickfyi/core/src/molecules/stepper/stepper.tsx +54 -0
- package/node_modules/@flickfyi/core/src/quantum/use-store.ts +41 -16
- package/node_modules/@flickfyi/core/tests/fly.test.ts +34 -7
- package/node_modules/@flickfyi/core/tests/kowalski-calculations.test.ts +60 -0
- package/node_modules/@flickfyi/core/tests/kowalski-calculator.test.ts +142 -0
- package/node_modules/@flickfyi/core/tests/kowalski-contracts.test.ts +223 -0
- package/node_modules/@flickfyi/core/tests/kowalski-date-time.test.tsx +462 -0
- package/node_modules/@flickfyi/core/tests/kowalski-features.test.tsx +2158 -0
- package/node_modules/@flickfyi/core/tests/kowalski-store.test.tsx +514 -0
- package/node_modules/@flickfyi/core/tests/preview-build.test.ts +1 -1
- package/node_modules/@flickfyi/core/tests/quantum-use-store.test.ts +53 -1
- package/node_modules/@flickfyi/core/tests/verify-tsgo-assets.test.ts +1 -1
- package/node_modules/@flickfyi/core/tsconfig.vite-dts.json +2 -1
- package/node_modules/@flickfyi/core/tsgo.bun.lock +111 -9
- package/node_modules/@flickfyi/core/tsgo.package.json +21 -3
- package/node_modules/@flickfyi/core/vite.config.ts +9 -5
- package/node_modules/@flickfyi/core/vitest.config.ts +1 -1
- package/node_modules/@flickfyi/http-message-sig/.turbo/turbo-build.log +7 -7
- package/node_modules/@flickfyi/identity/.turbo/turbo-build.log +8 -9
- package/node_modules/@flickfyi/lens/.turbo/turbo-build.log +7 -7
- package/node_modules/@flickfyi/photon/.turbo/turbo-build.log +4 -4
- package/node_modules/@flickfyi/photon/Sources/Photon/Components/Button.swift +29 -2
- package/node_modules/@flickfyi/photon/Sources/PhotonVersion/Resources/photon-version.json +1 -1
- package/node_modules/@flickfyi/photon/Tests/PhotonTests/Components/ButtonHostTests.swift +26 -0
- package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-features.styles.json +1 -0
- package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-native.styles.json +1 -1
- package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-scale.styles.json +1 -1
- package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-theme.styles.json +1 -1
- package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/catalog-typography.styles.json +1 -1
- package/node_modules/@flickfyi/photon/Tests/PhotonTests/Fixtures/StyleX/stylex-calculator.styles.json +1 -1
- package/node_modules/@flickfyi/photon/dist/globals.d.ts +5 -0
- package/node_modules/@flickfyi/photon/dist/version.cjs +1 -1
- package/node_modules/@flickfyi/photon/dist/version.js +1 -1
- package/node_modules/@flickfyi/photon/generated/react-swiftui.d.ts +1 -0
- package/node_modules/@flickfyi/photon/package.json +1 -1
- package/node_modules/@flickfyi/photon/src/globals.d.ts +5 -0
- package/node_modules/@flickfyi/rwsdk-extensions/.turbo/turbo-build.log +7 -7
- package/node_modules/@formatjs/fast-memoize/LICENSE.md +9 -0
- package/node_modules/@formatjs/fast-memoize/README.md +3 -0
- package/node_modules/@formatjs/fast-memoize/index.d.ts +35 -0
- package/node_modules/@formatjs/fast-memoize/index.js +69 -0
- package/node_modules/@formatjs/fast-memoize/index.js.map +1 -0
- package/node_modules/@formatjs/fast-memoize/package.json +25 -0
- package/node_modules/@formatjs/icu-messageformat-parser/LICENSE.md +9 -0
- package/node_modules/@formatjs/icu-messageformat-parser/README.md +38 -0
- package/node_modules/@formatjs/icu-messageformat-parser/index.d.ts +393 -0
- package/node_modules/@formatjs/icu-messageformat-parser/index.js +2187 -0
- package/node_modules/@formatjs/icu-messageformat-parser/index.js.map +1 -0
- package/node_modules/@formatjs/icu-messageformat-parser/manipulator.d.ts +175 -0
- package/node_modules/@formatjs/icu-messageformat-parser/manipulator.js +209 -0
- package/node_modules/@formatjs/icu-messageformat-parser/manipulator.js.map +1 -0
- package/node_modules/@formatjs/icu-messageformat-parser/no-parser.d.ts +183 -0
- package/node_modules/@formatjs/icu-messageformat-parser/no-parser.js +162 -0
- package/node_modules/@formatjs/icu-messageformat-parser/no-parser.js.map +1 -0
- package/node_modules/@formatjs/icu-messageformat-parser/package.json +21 -0
- package/node_modules/@formatjs/icu-messageformat-parser/printer.d.ts +154 -0
- package/node_modules/@formatjs/icu-messageformat-parser/printer.js +224 -0
- package/node_modules/@formatjs/icu-messageformat-parser/printer.js.map +1 -0
- package/node_modules/@formatjs/icu-skeleton-parser/LICENSE.md +9 -0
- package/node_modules/@formatjs/icu-skeleton-parser/README.md +1 -0
- package/node_modules/@formatjs/icu-skeleton-parser/index.d.ts +67 -0
- package/node_modules/@formatjs/icu-skeleton-parser/index.js +380 -0
- package/node_modules/@formatjs/icu-skeleton-parser/index.js.map +1 -0
- package/node_modules/@formatjs/icu-skeleton-parser/package.json +15 -0
- package/node_modules/@formatjs/intl/LICENSE.md +9 -0
- package/node_modules/@formatjs/intl/README.md +3 -0
- package/node_modules/@formatjs/intl/index.d.ts +499 -0
- package/node_modules/@formatjs/intl/index.js +595 -0
- package/node_modules/@formatjs/intl/index.js.map +1 -0
- package/node_modules/@formatjs/intl/package.json +37 -0
- package/node_modules/decimal.js/LICENCE.md +23 -0
- package/node_modules/decimal.js/README.md +246 -0
- package/node_modules/decimal.js/decimal.d.ts +301 -0
- package/node_modules/decimal.js/decimal.js +4951 -0
- package/node_modules/decimal.js/decimal.mjs +4914 -0
- package/node_modules/decimal.js/package.json +55 -0
- package/node_modules/format-quantity/LICENSE +21 -0
- package/node_modules/format-quantity/README.md +181 -0
- package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.development.d.ts +131 -0
- package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.development.js +214 -0
- package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.development.js.map +1 -0
- package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.production.d.ts +131 -0
- package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.production.js +2 -0
- package/node_modules/format-quantity/dist/cjs/format-quantity.cjs.production.js.map +1 -0
- package/node_modules/format-quantity/dist/cjs/index.d.ts +1 -0
- package/node_modules/format-quantity/dist/cjs/index.js +6 -0
- package/node_modules/format-quantity/dist/format-quantity.d.mts +131 -0
- package/node_modules/format-quantity/dist/format-quantity.legacy-esm.d.ts +131 -0
- package/node_modules/format-quantity/dist/format-quantity.legacy-esm.js +268 -0
- package/node_modules/format-quantity/dist/format-quantity.legacy-esm.js.map +1 -0
- package/node_modules/format-quantity/dist/format-quantity.mjs +208 -0
- package/node_modules/format-quantity/dist/format-quantity.mjs.map +1 -0
- package/node_modules/format-quantity/dist/format-quantity.production.d.mts +131 -0
- package/node_modules/format-quantity/dist/format-quantity.production.mjs +2 -0
- package/node_modules/format-quantity/dist/format-quantity.production.mjs.map +1 -0
- package/node_modules/format-quantity/dist/format-quantity.umd.min.js +3 -0
- package/node_modules/format-quantity/dist/format-quantity.umd.min.js.map +1 -0
- package/node_modules/format-quantity/package.json +81 -0
- package/node_modules/intl-messageformat/LICENSE.md +33 -0
- package/node_modules/intl-messageformat/README.md +3 -0
- package/node_modules/intl-messageformat/index.d.ts +177 -0
- package/node_modules/intl-messageformat/index.js +327 -0
- package/node_modules/intl-messageformat/index.js.map +1 -0
- package/node_modules/intl-messageformat/intl-messageformat.iife.js +2819 -0
- package/node_modules/intl-messageformat/package.json +40 -0
- package/node_modules/numeric-quantity/LICENSE +21 -0
- package/node_modules/numeric-quantity/README.md +306 -0
- package/node_modules/numeric-quantity/dist/cjs/index.d.ts +1 -0
- package/node_modules/numeric-quantity/dist/cjs/index.js +6 -0
- package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.development.d.ts +293 -0
- package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.development.js +579 -0
- package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.development.js.map +1 -0
- package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.production.d.ts +293 -0
- package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.production.js +2 -0
- package/node_modules/numeric-quantity/dist/cjs/numeric-quantity.cjs.production.js.map +1 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.d.mts +293 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.iife.umd.min.js +2 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.iife.umd.min.js.map +1 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.legacy-esm.d.ts +293 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.legacy-esm.js +622 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.legacy-esm.js.map +1 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.mjs +564 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.mjs.map +1 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.production.d.mts +293 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.production.mjs +2 -0
- package/node_modules/numeric-quantity/dist/numeric-quantity.production.mjs.map +1 -0
- package/node_modules/numeric-quantity/package.json +72 -0
- package/node_modules/validator/LICENSE +20 -0
- package/node_modules/validator/README.md +269 -0
- package/node_modules/validator/es/index.js +218 -0
- package/node_modules/validator/es/lib/alpha.js +151 -0
- package/node_modules/validator/es/lib/blacklist.js +5 -0
- package/node_modules/validator/es/lib/contains.js +15 -0
- package/node_modules/validator/es/lib/equals.js +5 -0
- package/node_modules/validator/es/lib/escape.js +5 -0
- package/node_modules/validator/es/lib/isAbaRouting.js +15 -0
- package/node_modules/validator/es/lib/isAfter.js +10 -0
- package/node_modules/validator/es/lib/isAlpha.js +23 -0
- package/node_modules/validator/es/lib/isAlphanumeric.js +23 -0
- package/node_modules/validator/es/lib/isAscii.js +10 -0
- package/node_modules/validator/es/lib/isBIC.js +16 -0
- package/node_modules/validator/es/lib/isBase32.js +15 -0
- package/node_modules/validator/es/lib/isBase58.js +8 -0
- package/node_modules/validator/es/lib/isBase64.js +23 -0
- package/node_modules/validator/es/lib/isBefore.js +10 -0
- package/node_modules/validator/es/lib/isBoolean.js +15 -0
- package/node_modules/validator/es/lib/isBtcAddress.js +7 -0
- package/node_modules/validator/es/lib/isByteLength.js +19 -0
- package/node_modules/validator/es/lib/isCreditCard.js +43 -0
- package/node_modules/validator/es/lib/isCurrency.js +74 -0
- package/node_modules/validator/es/lib/isDataURI.js +31 -0
- package/node_modules/validator/es/lib/isDate.js +93 -0
- package/node_modules/validator/es/lib/isDecimal.js +22 -0
- package/node_modules/validator/es/lib/isDivisibleBy.js +6 -0
- package/node_modules/validator/es/lib/isEAN.js +70 -0
- package/node_modules/validator/es/lib/isEmail.js +165 -0
- package/node_modules/validator/es/lib/isEmpty.js +10 -0
- package/node_modules/validator/es/lib/isEthereumAddress.js +6 -0
- package/node_modules/validator/es/lib/isFQDN.js +67 -0
- package/node_modules/validator/es/lib/isFloat.js +14 -0
- package/node_modules/validator/es/lib/isFullWidth.js +6 -0
- package/node_modules/validator/es/lib/isHSL.js +13 -0
- package/node_modules/validator/es/lib/isHalfWidth.js +6 -0
- package/node_modules/validator/es/lib/isHash.js +21 -0
- package/node_modules/validator/es/lib/isHexColor.js +13 -0
- package/node_modules/validator/es/lib/isHexadecimal.js +6 -0
- package/node_modules/validator/es/lib/isIBAN.js +171 -0
- package/node_modules/validator/es/lib/isIMEI.js +40 -0
- package/node_modules/validator/es/lib/isIP.js +58 -0
- package/node_modules/validator/es/lib/isIPRange.js +41 -0
- package/node_modules/validator/es/lib/isISBN.js +47 -0
- package/node_modules/validator/es/lib/isISIN.js +55 -0
- package/node_modules/validator/es/lib/isISO15924.js +9 -0
- package/node_modules/validator/es/lib/isISO31661Alpha2.js +21 -0
- package/node_modules/validator/es/lib/isISO31661Alpha3.js +20 -0
- package/node_modules/validator/es/lib/isISO31661Numeric.js +8 -0
- package/node_modules/validator/es/lib/isISO4217.js +9 -0
- package/node_modules/validator/es/lib/isISO6346.js +28 -0
- package/node_modules/validator/es/lib/isISO6391.js +6 -0
- package/node_modules/validator/es/lib/isISO8601.js +42 -0
- package/node_modules/validator/es/lib/isISRC.js +8 -0
- package/node_modules/validator/es/lib/isISSN.js +19 -0
- package/node_modules/validator/es/lib/isIdentityCard.js +407 -0
- package/node_modules/validator/es/lib/isIn.js +23 -0
- package/node_modules/validator/es/lib/isInt.js +19 -0
- package/node_modules/validator/es/lib/isJSON.js +26 -0
- package/node_modules/validator/es/lib/isJWT.js +15 -0
- package/node_modules/validator/es/lib/isLatLong.js +21 -0
- package/node_modules/validator/es/lib/isLength.js +27 -0
- package/node_modules/validator/es/lib/isLicensePlate.js +58 -0
- package/node_modules/validator/es/lib/isLocale.js +107 -0
- package/node_modules/validator/es/lib/isLowercase.js +5 -0
- package/node_modules/validator/es/lib/isLuhnNumber.js +25 -0
- package/node_modules/validator/es/lib/isMACAddress.js +36 -0
- package/node_modules/validator/es/lib/isMD5.js +6 -0
- package/node_modules/validator/es/lib/isMagnetURI.js +9 -0
- package/node_modules/validator/es/lib/isMailtoURI.js +75 -0
- package/node_modules/validator/es/lib/isMimeType.js +40 -0
- package/node_modules/validator/es/lib/isMobilePhone.js +212 -0
- package/node_modules/validator/es/lib/isMongoId.js +6 -0
- package/node_modules/validator/es/lib/isMultibyte.js +10 -0
- package/node_modules/validator/es/lib/isNumeric.js +10 -0
- package/node_modules/validator/es/lib/isOctal.js +6 -0
- package/node_modules/validator/es/lib/isPassportNumber.js +145 -0
- package/node_modules/validator/es/lib/isPort.js +8 -0
- package/node_modules/validator/es/lib/isPostalCode.js +100 -0
- package/node_modules/validator/es/lib/isRFC3339.js +21 -0
- package/node_modules/validator/es/lib/isRgbColor.js +34 -0
- package/node_modules/validator/es/lib/isSemVer.js +14 -0
- package/node_modules/validator/es/lib/isSlug.js +6 -0
- package/node_modules/validator/es/lib/isStrongPassword.js +90 -0
- package/node_modules/validator/es/lib/isSurrogatePair.js +6 -0
- package/node_modules/validator/es/lib/isTaxID.js +1407 -0
- package/node_modules/validator/es/lib/isTime.js +22 -0
- package/node_modules/validator/es/lib/isULID.js +5 -0
- package/node_modules/validator/es/lib/isURL.js +241 -0
- package/node_modules/validator/es/lib/isUUID.js +23 -0
- package/node_modules/validator/es/lib/isUppercase.js +5 -0
- package/node_modules/validator/es/lib/isVAT.js +264 -0
- package/node_modules/validator/es/lib/isVariableWidth.js +7 -0
- package/node_modules/validator/es/lib/isWhitelisted.js +10 -0
- package/node_modules/validator/es/lib/ltrim.js +7 -0
- package/node_modules/validator/es/lib/matches.js +8 -0
- package/node_modules/validator/es/lib/normalizeEmail.js +131 -0
- package/node_modules/validator/es/lib/rtrim.js +15 -0
- package/node_modules/validator/es/lib/stripLow.js +7 -0
- package/node_modules/validator/es/lib/toBoolean.js +8 -0
- package/node_modules/validator/es/lib/toDate.js +6 -0
- package/node_modules/validator/es/lib/toFloat.js +5 -0
- package/node_modules/validator/es/lib/toInt.js +5 -0
- package/node_modules/validator/es/lib/trim.js +5 -0
- package/node_modules/validator/es/lib/unescape.js +8 -0
- package/node_modules/validator/es/lib/util/algorithms.js +79 -0
- package/node_modules/validator/es/lib/util/assertString.js +4 -0
- package/node_modules/validator/es/lib/util/checkHost.js +12 -0
- package/node_modules/validator/es/lib/util/includesArray.js +6 -0
- package/node_modules/validator/es/lib/util/includesString.js +4 -0
- package/node_modules/validator/es/lib/util/merge.js +14 -0
- package/node_modules/validator/es/lib/util/multilineRegex.js +12 -0
- package/node_modules/validator/es/lib/util/nullUndefinedCheck.js +3 -0
- package/node_modules/validator/es/lib/util/toString.js +13 -0
- package/node_modules/validator/es/lib/util/typeOf.js +10 -0
- package/node_modules/validator/es/lib/whitelist.js +5 -0
- package/node_modules/validator/index.js +229 -0
- package/node_modules/validator/lib/alpha.js +157 -0
- package/node_modules/validator/lib/blacklist.js +14 -0
- package/node_modules/validator/lib/contains.js +24 -0
- package/node_modules/validator/lib/equals.js +14 -0
- package/node_modules/validator/lib/escape.js +14 -0
- package/node_modules/validator/lib/isAbaRouting.js +23 -0
- package/node_modules/validator/lib/isAfter.js +19 -0
- package/node_modules/validator/lib/isAlpha.js +31 -0
- package/node_modules/validator/lib/isAlphanumeric.js +31 -0
- package/node_modules/validator/lib/isAscii.js +18 -0
- package/node_modules/validator/lib/isBIC.js +24 -0
- package/node_modules/validator/lib/isBase32.js +24 -0
- package/node_modules/validator/lib/isBase58.js +16 -0
- package/node_modules/validator/lib/isBase64.js +32 -0
- package/node_modules/validator/lib/isBefore.js +19 -0
- package/node_modules/validator/lib/isBoolean.js +24 -0
- package/node_modules/validator/lib/isBtcAddress.js +16 -0
- package/node_modules/validator/lib/isByteLength.js +27 -0
- package/node_modules/validator/lib/isCreditCard.js +52 -0
- package/node_modules/validator/lib/isCurrency.js +83 -0
- package/node_modules/validator/lib/isDataURI.js +40 -0
- package/node_modules/validator/lib/isDate.js +102 -0
- package/node_modules/validator/lib/isDecimal.js +31 -0
- package/node_modules/validator/lib/isDivisibleBy.js +15 -0
- package/node_modules/validator/lib/isEAN.js +78 -0
- package/node_modules/validator/lib/isEmail.js +174 -0
- package/node_modules/validator/lib/isEmpty.js +19 -0
- package/node_modules/validator/lib/isEthereumAddress.js +15 -0
- package/node_modules/validator/lib/isFQDN.js +76 -0
- package/node_modules/validator/lib/isFloat.js +22 -0
- package/node_modules/validator/lib/isFullWidth.js +14 -0
- package/node_modules/validator/lib/isHSL.js +22 -0
- package/node_modules/validator/lib/isHalfWidth.js +14 -0
- package/node_modules/validator/lib/isHash.js +30 -0
- package/node_modules/validator/lib/isHexColor.js +22 -0
- package/node_modules/validator/lib/isHexadecimal.js +15 -0
- package/node_modules/validator/lib/isIBAN.js +178 -0
- package/node_modules/validator/lib/isIMEI.js +49 -0
- package/node_modules/validator/lib/isIP.js +67 -0
- package/node_modules/validator/lib/isIPRange.js +50 -0
- package/node_modules/validator/lib/isISBN.js +56 -0
- package/node_modules/validator/lib/isISIN.js +64 -0
- package/node_modules/validator/lib/isISO15924.js +16 -0
- package/node_modules/validator/lib/isISO31661Alpha2.js +28 -0
- package/node_modules/validator/lib/isISO31661Alpha3.js +28 -0
- package/node_modules/validator/lib/isISO31661Numeric.js +16 -0
- package/node_modules/validator/lib/isISO4217.js +16 -0
- package/node_modules/validator/lib/isISO6346.js +35 -0
- package/node_modules/validator/lib/isISO6391.js +15 -0
- package/node_modules/validator/lib/isISO8601.js +50 -0
- package/node_modules/validator/lib/isISRC.js +16 -0
- package/node_modules/validator/lib/isISSN.js +28 -0
- package/node_modules/validator/lib/isIdentityCard.js +416 -0
- package/node_modules/validator/lib/isIn.js +32 -0
- package/node_modules/validator/lib/isInt.js +28 -0
- package/node_modules/validator/lib/isJSON.js +35 -0
- package/node_modules/validator/lib/isJWT.js +24 -0
- package/node_modules/validator/lib/isLatLong.js +30 -0
- package/node_modules/validator/lib/isLength.js +35 -0
- package/node_modules/validator/lib/isLicensePlate.js +67 -0
- package/node_modules/validator/lib/isLocale.js +115 -0
- package/node_modules/validator/lib/isLowercase.js +14 -0
- package/node_modules/validator/lib/isLuhnNumber.js +34 -0
- package/node_modules/validator/lib/isMACAddress.js +45 -0
- package/node_modules/validator/lib/isMD5.js +15 -0
- package/node_modules/validator/lib/isMagnetURI.js +18 -0
- package/node_modules/validator/lib/isMailtoURI.js +84 -0
- package/node_modules/validator/lib/isMimeType.js +48 -0
- package/node_modules/validator/lib/isMobilePhone.js +219 -0
- package/node_modules/validator/lib/isMongoId.js +15 -0
- package/node_modules/validator/lib/isMultibyte.js +18 -0
- package/node_modules/validator/lib/isNumeric.js +19 -0
- package/node_modules/validator/lib/isOctal.js +15 -0
- package/node_modules/validator/lib/isPassportNumber.js +152 -0
- package/node_modules/validator/lib/isPort.js +17 -0
- package/node_modules/validator/lib/isPostalCode.js +107 -0
- package/node_modules/validator/lib/isRFC3339.js +29 -0
- package/node_modules/validator/lib/isRgbColor.js +42 -0
- package/node_modules/validator/lib/isSemVer.js +22 -0
- package/node_modules/validator/lib/isSlug.js +15 -0
- package/node_modules/validator/lib/isStrongPassword.js +99 -0
- package/node_modules/validator/lib/isSurrogatePair.js +15 -0
- package/node_modules/validator/lib/isTaxID.js +1417 -0
- package/node_modules/validator/lib/isTime.js +31 -0
- package/node_modules/validator/lib/isULID.js +14 -0
- package/node_modules/validator/lib/isURL.js +249 -0
- package/node_modules/validator/lib/isUUID.js +32 -0
- package/node_modules/validator/lib/isUppercase.js +14 -0
- package/node_modules/validator/lib/isVAT.js +274 -0
- package/node_modules/validator/lib/isVariableWidth.js +16 -0
- package/node_modules/validator/lib/isWhitelisted.js +19 -0
- package/node_modules/validator/lib/ltrim.js +16 -0
- package/node_modules/validator/lib/matches.js +17 -0
- package/node_modules/validator/lib/normalizeEmail.js +140 -0
- package/node_modules/validator/lib/rtrim.js +24 -0
- package/node_modules/validator/lib/stripLow.js +16 -0
- package/node_modules/validator/lib/toBoolean.js +17 -0
- package/node_modules/validator/lib/toDate.js +15 -0
- package/node_modules/validator/lib/toFloat.js +14 -0
- package/node_modules/validator/lib/toInt.js +14 -0
- package/node_modules/validator/lib/trim.js +14 -0
- package/node_modules/validator/lib/unescape.js +17 -0
- package/node_modules/validator/lib/util/algorithms.js +88 -0
- package/node_modules/validator/lib/util/assertString.js +12 -0
- package/node_modules/validator/lib/util/checkHost.js +20 -0
- package/node_modules/validator/lib/util/includesArray.js +14 -0
- package/node_modules/validator/lib/util/includesString.js +12 -0
- package/node_modules/validator/lib/util/merge.js +22 -0
- package/node_modules/validator/lib/util/multilineRegex.js +20 -0
- package/node_modules/validator/lib/util/nullUndefinedCheck.js +11 -0
- package/node_modules/validator/lib/util/toString.js +21 -0
- package/node_modules/validator/lib/util/typeOf.js +18 -0
- package/node_modules/validator/lib/whitelist.js +14 -0
- package/node_modules/validator/package.json +76 -0
- package/node_modules/validator/validator.js +5808 -0
- package/node_modules/validator/validator.min.js +23 -0
- package/package.json +3 -3
|
@@ -5,21 +5,27 @@
|
|
|
5
5
|
"": {
|
|
6
6
|
"name": "typescript-server-modules",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@flickfyi/core": "0.0.
|
|
8
|
+
"@flickfyi/core": "0.0.68",
|
|
9
9
|
"@flickfyi/lens": "0.0.6",
|
|
10
|
-
"@flickfyi/photon": "0.0.
|
|
10
|
+
"@flickfyi/photon": "0.0.35",
|
|
11
|
+
"@formatjs/intl": "6.1.3",
|
|
11
12
|
"@react-spring/core": "10.1.2",
|
|
12
13
|
"@react-spring/shared": "10.1.2",
|
|
13
14
|
"@sindresorhus/is": "8.1.0",
|
|
14
15
|
"@stylexjs/stylex": "0.19.1",
|
|
16
|
+
"@types/luxon": "3.7.5",
|
|
15
17
|
"@types/react": "19.2.18",
|
|
18
|
+
"@types/validator": "13.15.10",
|
|
16
19
|
"@use-gesture/react": "10.3.1",
|
|
20
|
+
"decimal.js": "10.6.0",
|
|
17
21
|
"effect": "4.0.0-rc.112",
|
|
22
|
+
"luxon": "3.7.2",
|
|
18
23
|
"pluralize": "8.0.0",
|
|
19
24
|
"react": "19.2.8",
|
|
20
25
|
"react-timeago": "8.3.0",
|
|
21
26
|
"rxjs": "7.8.2",
|
|
22
27
|
"type-fest": "5.10.0",
|
|
28
|
+
"validator": "13.15.35",
|
|
23
29
|
"zod": "4.6.7"
|
|
24
30
|
}
|
|
25
31
|
}
|
|
@@ -39,10 +45,11 @@
|
|
|
39
45
|
"sha512-3RQHgEtvL1Frl/d1cSreo7qhJ3Gk1OdNUai/CtZ8G+wYeRQnJih3s9xJ9/kgYekPQRdwgh0HXRPqMlzWGwivIQ=="
|
|
40
46
|
],
|
|
41
47
|
"@flickfyi/core": [
|
|
42
|
-
"@flickfyi/core@0.0.
|
|
48
|
+
"@flickfyi/core@0.0.68",
|
|
43
49
|
"",
|
|
44
50
|
{
|
|
45
51
|
"dependencies": {
|
|
52
|
+
"@formatjs/intl": "6.1.3",
|
|
46
53
|
"@react-spring/core": "10.1.2",
|
|
47
54
|
"@react-spring/shared": "10.1.2",
|
|
48
55
|
"@sindresorhus/is": "8.1.0",
|
|
@@ -51,18 +58,22 @@
|
|
|
51
58
|
"@use-gesture/core": "10.3.1",
|
|
52
59
|
"@use-gesture/react": "10.3.1",
|
|
53
60
|
"colorjs.io": "0.7.1",
|
|
61
|
+
"decimal.js": "10.6.0",
|
|
54
62
|
"effect": "4.0.0-rc.112",
|
|
63
|
+
"format-quantity": "3.2.0",
|
|
55
64
|
"lodash": "4.18.1",
|
|
65
|
+
"luxon": "3.7.2",
|
|
56
66
|
"microdiff": "1.6.0",
|
|
57
67
|
"pluralize": "8.0.0",
|
|
58
68
|
"react": "19.2.8",
|
|
59
69
|
"react-timeago": "8.3.0",
|
|
60
70
|
"rxjs": "7.8.2",
|
|
61
71
|
"type-fest": "5.10.0",
|
|
72
|
+
"validator": "13.15.35",
|
|
62
73
|
"zod": "4.6.7"
|
|
63
74
|
}
|
|
64
75
|
},
|
|
65
|
-
"sha512-
|
|
76
|
+
"sha512-UEnTOWq3m3JHIOeWCO0c0/2b4fQB5w+cNqHJoe0wQyd6jUkrqaYFzoM1o+sKuS+VhaICM+QFqP+GwsgNBuq3Cw=="
|
|
66
77
|
],
|
|
67
78
|
"@flickfyi/lens": [
|
|
68
79
|
"@flickfyi/lens@0.0.6",
|
|
@@ -77,10 +88,10 @@
|
|
|
77
88
|
"zod": "^3.25.0 || ^4.0.0"
|
|
78
89
|
}
|
|
79
90
|
},
|
|
80
|
-
"sha512-
|
|
91
|
+
"sha512-91G6ZPEe48fR7DQAsHniGicP3uHHugiZ4vkzK/7HA+E3OzkO2rllVCpaq/zddVN0e7bA3N+oWBvVIgej6LSTNg=="
|
|
81
92
|
],
|
|
82
93
|
"@flickfyi/photon": [
|
|
83
|
-
"@flickfyi/photon@0.0.
|
|
94
|
+
"@flickfyi/photon@0.0.35",
|
|
84
95
|
"",
|
|
85
96
|
{
|
|
86
97
|
"dependencies": {
|
|
@@ -90,7 +101,41 @@
|
|
|
90
101
|
"zod": "4.6.7"
|
|
91
102
|
}
|
|
92
103
|
},
|
|
93
|
-
"sha512-
|
|
104
|
+
"sha512-FZCTTe22P8svVytZRIt03hUQuTanHId93jjnuut4OqWR4v+bfQ1GLbpqdxeVwrc1v7DyRYvFHaUtkZNQ0aqatQ=="
|
|
105
|
+
],
|
|
106
|
+
"@formatjs/fast-memoize": [
|
|
107
|
+
"@formatjs/fast-memoize@3.1.7",
|
|
108
|
+
"",
|
|
109
|
+
{},
|
|
110
|
+
"sha512-zXfhLpvA6T7+efdt9JLbBwZ00tT7NsBMDVnDu8rpHeNNv8KfRZAMo2gkG0k9lK/Nzc//3kJ9pImsfuJxk3KhUA=="
|
|
111
|
+
],
|
|
112
|
+
"@formatjs/icu-messageformat-parser": [
|
|
113
|
+
"@formatjs/icu-messageformat-parser@3.5.21",
|
|
114
|
+
"",
|
|
115
|
+
{
|
|
116
|
+
"dependencies": {
|
|
117
|
+
"@formatjs/icu-skeleton-parser": "2.1.12"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"sha512-Vnl7IOSyMRaP4Pjv48etkT2nlcIwzh4QWIa3hewzGlZZPBbft+TbMir4MijpDViOLN/1hvkGC10oYMuilsG+fw=="
|
|
121
|
+
],
|
|
122
|
+
"@formatjs/icu-skeleton-parser": [
|
|
123
|
+
"@formatjs/icu-skeleton-parser@2.1.12",
|
|
124
|
+
"",
|
|
125
|
+
{},
|
|
126
|
+
"sha512-ca7tZMLpfHX3sUD7hP6gE/qr6Iq89EDd3ZLeRhbsB7r0UD55DGJq+tmFLzrGrnx5StahUevQmQQVtbDRHsfDHA=="
|
|
127
|
+
],
|
|
128
|
+
"@formatjs/intl": [
|
|
129
|
+
"@formatjs/intl@6.1.3",
|
|
130
|
+
"",
|
|
131
|
+
{
|
|
132
|
+
"dependencies": {
|
|
133
|
+
"@formatjs/fast-memoize": "3.1.7",
|
|
134
|
+
"@formatjs/icu-messageformat-parser": "3.5.21",
|
|
135
|
+
"intl-messageformat": "12.1.3"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"sha512-fBxQVx6wi0f3iibauVFKr/uY+BJR0Z64Zuu6SB+p8hmxjqZoX2u4/RPYaKnFMut2+kNPIeGOaaKDHQ5odnXsZQ=="
|
|
94
139
|
],
|
|
95
140
|
"@msgpackr-extract/msgpackr-extract-darwin-arm64": [
|
|
96
141
|
"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4",
|
|
@@ -220,10 +265,10 @@
|
|
|
220
265
|
"sha512-JwNFm0MOYPqi+M4Ax5Un4ZxfZp4HEAX2sAWetZ88KALFcv1eEiHNJs75oO3V3U7RVWnzfkiM8i9eBowC3hqgUw=="
|
|
221
266
|
],
|
|
222
267
|
"@types/lodash": [
|
|
223
|
-
"@types/lodash@4.17.
|
|
268
|
+
"@types/lodash@4.17.27",
|
|
224
269
|
"",
|
|
225
270
|
{},
|
|
226
|
-
"sha512-
|
|
271
|
+
"sha512-VenMRv/eKNrspX9v3H4dbmjsrnCOYdYBG3kxXKk3dG6X+urBGcj2Prww3xw1U5K4FV/mE4h5GbWd0szEKf+9ew=="
|
|
227
272
|
],
|
|
228
273
|
"@types/lodash-es": [
|
|
229
274
|
"@types/lodash-es@4.17.12",
|
|
@@ -235,6 +280,12 @@
|
|
|
235
280
|
},
|
|
236
281
|
"sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ=="
|
|
237
282
|
],
|
|
283
|
+
"@types/luxon": [
|
|
284
|
+
"@types/luxon@3.7.5",
|
|
285
|
+
"",
|
|
286
|
+
{},
|
|
287
|
+
"sha512-jJ41Q4z6ZVO260MNDdHfW7+7a5iMiX8Mr6ZJHcmgrvhZha6dz5704o/lF2kKl6URjH6ivEL97w9xS/MgpJEphg=="
|
|
288
|
+
],
|
|
238
289
|
"@types/react": [
|
|
239
290
|
"@types/react@19.2.18",
|
|
240
291
|
"",
|
|
@@ -245,6 +296,12 @@
|
|
|
245
296
|
},
|
|
246
297
|
"sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w=="
|
|
247
298
|
],
|
|
299
|
+
"@types/validator": [
|
|
300
|
+
"@types/validator@13.15.10",
|
|
301
|
+
"",
|
|
302
|
+
{},
|
|
303
|
+
"sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA=="
|
|
304
|
+
],
|
|
248
305
|
"@use-gesture/core": [
|
|
249
306
|
"@use-gesture/core@10.3.1",
|
|
250
307
|
"",
|
|
@@ -282,6 +339,12 @@
|
|
|
282
339
|
{},
|
|
283
340
|
"sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="
|
|
284
341
|
],
|
|
342
|
+
"decimal.js": [
|
|
343
|
+
"decimal.js@10.6.0",
|
|
344
|
+
"",
|
|
345
|
+
{},
|
|
346
|
+
"sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="
|
|
347
|
+
],
|
|
285
348
|
"detect-libc": [
|
|
286
349
|
"detect-libc@2.1.2",
|
|
287
350
|
"",
|
|
@@ -315,6 +378,27 @@
|
|
|
315
378
|
},
|
|
316
379
|
"sha512-iK2f+YrcmoeGqk6fA0ea2bptcu/itMIm4NfEozq6N25+aG6h7s5HZbB/k1aV7b5w5sFLMCbbtRUsTVR+BgC3xw=="
|
|
317
380
|
],
|
|
381
|
+
"format-quantity": [
|
|
382
|
+
"format-quantity@3.2.0",
|
|
383
|
+
"",
|
|
384
|
+
{
|
|
385
|
+
"dependencies": {
|
|
386
|
+
"numeric-quantity": "^3.3.1"
|
|
387
|
+
}
|
|
388
|
+
},
|
|
389
|
+
"sha512-O+nIHJOkaqa5fMDvEqCQQMmXoY9E64gioujCHC+MfQY0sRAHYDNBzQ5nYaZV5Mc6YYJXWt210QlHSStg7pQyHA=="
|
|
390
|
+
],
|
|
391
|
+
"intl-messageformat": [
|
|
392
|
+
"intl-messageformat@12.1.3",
|
|
393
|
+
"",
|
|
394
|
+
{
|
|
395
|
+
"dependencies": {
|
|
396
|
+
"@formatjs/fast-memoize": "3.1.7",
|
|
397
|
+
"@formatjs/icu-messageformat-parser": "3.5.21"
|
|
398
|
+
}
|
|
399
|
+
},
|
|
400
|
+
"sha512-JXi5wk8R/oSECKyxSIZ00VS8KG6MZkHM0qU4NS7RrvIWWXkiv3wVqGlCvEvyXiDvKlt2yqwZMiZGIv+I8rrnZQ=="
|
|
401
|
+
],
|
|
318
402
|
"invariant": [
|
|
319
403
|
"invariant@2.2.4",
|
|
320
404
|
"",
|
|
@@ -350,6 +434,12 @@
|
|
|
350
434
|
},
|
|
351
435
|
"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="
|
|
352
436
|
],
|
|
437
|
+
"luxon": [
|
|
438
|
+
"luxon@3.7.2",
|
|
439
|
+
"",
|
|
440
|
+
{},
|
|
441
|
+
"sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew=="
|
|
442
|
+
],
|
|
353
443
|
"microdiff": [
|
|
354
444
|
"microdiff@1.6.0",
|
|
355
445
|
"",
|
|
@@ -402,6 +492,12 @@
|
|
|
402
492
|
},
|
|
403
493
|
"sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw=="
|
|
404
494
|
],
|
|
495
|
+
"numeric-quantity": [
|
|
496
|
+
"numeric-quantity@3.3.3",
|
|
497
|
+
"",
|
|
498
|
+
{},
|
|
499
|
+
"sha512-XICjnIs8Q8vUlOvVOFI8Xe3kte8fknfpzASHjwy4R2GtRm4Q5lI+d62JqFe54X4kqj/xdsucWxYe8G+OD9O8Uw=="
|
|
500
|
+
],
|
|
405
501
|
"pluralize": [
|
|
406
502
|
"pluralize@8.0.0",
|
|
407
503
|
"",
|
|
@@ -491,6 +587,12 @@
|
|
|
491
587
|
},
|
|
492
588
|
"sha512-NoSdpq/WEiAg5sjmBkmV/hfxv6HJH4NqPNrqjtSO5CwRmpsDfaf4begxW34KdJykH/l1yHtwBWQkCRdoXO8mPA=="
|
|
493
589
|
],
|
|
590
|
+
"validator": [
|
|
591
|
+
"validator@13.15.35",
|
|
592
|
+
"",
|
|
593
|
+
{},
|
|
594
|
+
"sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw=="
|
|
595
|
+
],
|
|
494
596
|
"zod": [
|
|
495
597
|
"zod@4.6.7",
|
|
496
598
|
"",
|
|
@@ -76,6 +76,18 @@
|
|
|
76
76
|
"modules": [
|
|
77
77
|
"@flickfyi/lens"
|
|
78
78
|
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "kowalski",
|
|
82
|
+
"dependencies": [
|
|
83
|
+
"core",
|
|
84
|
+
"ui",
|
|
85
|
+
"lens"
|
|
86
|
+
],
|
|
87
|
+
"modules": [
|
|
88
|
+
"@flickfyi/core/kowalski",
|
|
89
|
+
"@flickfyi/core/kowalski/catalog"
|
|
90
|
+
]
|
|
79
91
|
}
|
|
80
92
|
]
|
|
81
93
|
},
|
|
@@ -98,9 +110,9 @@
|
|
|
98
110
|
"minifyIdentifiers": true
|
|
99
111
|
},
|
|
100
112
|
"dependencies": {
|
|
101
|
-
"@flickfyi/core": "0.0.
|
|
113
|
+
"@flickfyi/core": "0.0.68",
|
|
102
114
|
"@flickfyi/lens": "0.0.6",
|
|
103
|
-
"@flickfyi/photon": "0.0.
|
|
115
|
+
"@flickfyi/photon": "0.0.35",
|
|
104
116
|
"@react-spring/core": "10.1.2",
|
|
105
117
|
"@react-spring/shared": "10.1.2",
|
|
106
118
|
"@sindresorhus/is": "8.1.0",
|
|
@@ -113,7 +125,13 @@
|
|
|
113
125
|
"react-timeago": "8.3.0",
|
|
114
126
|
"rxjs": "7.8.2",
|
|
115
127
|
"type-fest": "5.10.0",
|
|
116
|
-
"zod": "4.6.7"
|
|
128
|
+
"zod": "4.6.7",
|
|
129
|
+
"@formatjs/intl": "6.1.3",
|
|
130
|
+
"decimal.js": "10.6.0",
|
|
131
|
+
"luxon": "3.7.2",
|
|
132
|
+
"validator": "13.15.35",
|
|
133
|
+
"@types/luxon": "3.7.5",
|
|
134
|
+
"@types/validator": "13.15.10"
|
|
117
135
|
},
|
|
118
136
|
"resolve-s3": [
|
|
119
137
|
"@flickfyi/core",
|
|
@@ -42,6 +42,8 @@ const themeEntries = {
|
|
|
42
42
|
}
|
|
43
43
|
const mainEntries = {
|
|
44
44
|
...themeEntries,
|
|
45
|
+
'kowalski/index': './src/kowalski/index.ts',
|
|
46
|
+
'kowalski/catalog': './src/kowalski/catalog.ts',
|
|
45
47
|
index: './src/index.ts',
|
|
46
48
|
'lodash/index': './src/lodash.ts',
|
|
47
49
|
metadata: './src/metadata.ts',
|
|
@@ -55,13 +57,14 @@ const runtimeEntries = {
|
|
|
55
57
|
stylex: './src/dependencies/stylex.ts',
|
|
56
58
|
zod: './src/dependencies/zod.ts',
|
|
57
59
|
}
|
|
58
|
-
const styledEntries = ['parrott', 'themes']
|
|
60
|
+
const styledEntries = ['parrott', 'themes', 'kowalski']
|
|
59
61
|
|
|
60
62
|
export const nativePreviewEntries = {
|
|
61
63
|
'apns-demo': 'fixtures/native/src/apns-demo.tsx',
|
|
62
64
|
'border-demo': 'fixtures/native/src/border-demo.tsx',
|
|
63
65
|
'button-counters': 'fixtures/native/src/button-counters.tsx',
|
|
64
66
|
'camera-demo': 'fixtures/native/src/camera-demo.tsx',
|
|
67
|
+
'catalog-features': 'fixtures/native/src/catalog-features.tsx',
|
|
65
68
|
'catalog-native': 'fixtures/native/src/catalog-native.tsx',
|
|
66
69
|
'catalog-scale': 'fixtures/native/src/catalog-scale.tsx',
|
|
67
70
|
'catalog-theme': 'fixtures/native/src/catalog-theme.tsx',
|
|
@@ -88,13 +91,13 @@ export const nativePreviewEntries = {
|
|
|
88
91
|
const previewEntries = {
|
|
89
92
|
...nativePreviewEntries,
|
|
90
93
|
...Object.fromEntries(
|
|
91
|
-
globSync('examples/parrott/*/*.tsx', {
|
|
94
|
+
globSync(['examples/parrott/*/*.tsx', 'examples/kowalski/*/*.tsx'], {
|
|
92
95
|
cwd: packageRoot,
|
|
93
96
|
exclude: ['**/*.stories.tsx'],
|
|
94
97
|
})
|
|
95
98
|
.sort()
|
|
96
99
|
.map(entry => [
|
|
97
|
-
|
|
100
|
+
`${entry.split('/')[1]}-${basename(entry, '.tsx') === 'kale-smoothie' ? '2026-05-09-kale-smoothie' : basename(entry, '.tsx')}`,
|
|
98
101
|
entry,
|
|
99
102
|
])
|
|
100
103
|
),
|
|
@@ -155,7 +158,7 @@ export default defineConfig({
|
|
|
155
158
|
'~/*': [resolve(packageRoot, 'src/*')],
|
|
156
159
|
'@flickfyi/core/themes/*': [resolve(packageRoot, 'src/themes/*')],
|
|
157
160
|
},
|
|
158
|
-
inlineOnly: name.startsWith('parrott-'),
|
|
161
|
+
inlineOnly: name.startsWith('parrott-') || name.startsWith('kowalski-'),
|
|
159
162
|
}).map(
|
|
160
163
|
plugin =>
|
|
161
164
|
({
|
|
@@ -207,7 +210,7 @@ export default defineConfig({
|
|
|
207
210
|
const testDirectory =
|
|
208
211
|
name === 'quantum'
|
|
209
212
|
? 'swift/flick-sdk/Tests/FlickSDKTests/Fixtures'
|
|
210
|
-
: !name.startsWith('parrott-') ||
|
|
213
|
+
: (!name.startsWith('parrott-') && !name.startsWith('kowalski-')) ||
|
|
211
214
|
[
|
|
212
215
|
'parrott-counter',
|
|
213
216
|
'parrott-list',
|
|
@@ -237,6 +240,7 @@ export default defineConfig({
|
|
|
237
240
|
'src/dependencies',
|
|
238
241
|
'src/storybook',
|
|
239
242
|
'src/themes/stories',
|
|
243
|
+
'src/kowalski/stories',
|
|
240
244
|
'**/*.stories.*',
|
|
241
245
|
'**/*.example.*',
|
|
242
246
|
'**/*.samples.*',
|
|
@@ -7,7 +7,7 @@ config()
|
|
|
7
7
|
|
|
8
8
|
export default defineConfig({
|
|
9
9
|
resolve: {
|
|
10
|
-
alias: { '~': fileURLToPath(new URL('./src', import.meta.url)) },
|
|
10
|
+
alias: { '~': fileURLToPath(new URL('./src', import.meta.url)), '@flickfyi/photon/jsx-runtime': 'react/jsx-runtime', '@flickfyi/photon/jsx-dev-runtime': 'react/jsx-dev-runtime' },
|
|
11
11
|
},
|
|
12
12
|
test: {
|
|
13
13
|
environment: 'node',
|
|
@@ -5,15 +5,15 @@ transforming...
|
|
|
5
5
|
rendering chunks...
|
|
6
6
|
[32m
|
|
7
7
|
[36m[unplugin:dts][32m Start generate declaration files...[39m
|
|
8
|
-
[32m[36m[unplugin:dts][32m Declaration files built in
|
|
8
|
+
[32m[36m[unplugin:dts][32m Declaration files built in 3917ms.
|
|
9
9
|
[39m
|
|
10
10
|
computing gzip size...
|
|
11
11
|
dist/index.js 165.27 kB │ gzip: 47.86 kB
|
|
12
12
|
|
|
13
|
-
[32m✓ built in 4.
|
|
14
|
-
[33m[33m[PLUGIN_TIMINGS] [
|
|
15
|
-
The slowest
|
|
16
|
-
- unplugin-dts buildStart (
|
|
17
|
-
Additional
|
|
18
|
-
See https://rolldown.rs/reference/InputOptions.checks#
|
|
13
|
+
[32m✓ built in 4.10s[39m
|
|
14
|
+
[33m[33m[PLUGIN_TIMINGS] [0mJavaScript callbacks ran for 3.9s of this 4.1s build (97%).
|
|
15
|
+
The slowest callbacks, timed inside each callback (the wait before a callback starts is excluded, the time it awaits is included):
|
|
16
|
+
- plugin unplugin-dts buildStart (92%, 3.8s, 1 call)
|
|
17
|
+
Additional callback time came from callbacks under 1s.
|
|
18
|
+
See https://rolldown.rs/reference/InputOptions.checks#bundlertimings for more details.
|
|
19
19
|
[39m
|
|
@@ -19,13 +19,12 @@ dist/nist-BxBMnBNH.js 41.79 kB │ gzip: 13.28 kB
|
|
|
19
19
|
dist/curve-DYf6id8S.js 91.31 kB │ gzip: 28.67 kB
|
|
20
20
|
dist/cwt-C-BaViSq.js 107.64 kB │ gzip: 24.53 kB
|
|
21
21
|
|
|
22
|
-
[32m✓ built in 3.
|
|
23
|
-
[33m[33m[PLUGIN_TIMINGS] [
|
|
24
|
-
The slowest
|
|
25
|
-
- rolldown-plugin-dts:generate load (
|
|
26
|
-
Additional
|
|
27
|
-
|
|
28
|
-
- rolldown-plugin-dts:resolver resolveId (17 calls)
|
|
29
|
-
|
|
30
|
-
See https://rolldown.rs/reference/InputOptions.checks#plugintimings for more details.
|
|
22
|
+
[32m✓ built in 3.29s[39m
|
|
23
|
+
[33m[33m[PLUGIN_TIMINGS] [0mJavaScript callbacks ran for 3.2s of this 3.3s build (99%).
|
|
24
|
+
The slowest callbacks, timed inside each callback (the wait before a callback starts is excluded, the time it awaits is included):
|
|
25
|
+
- plugin rolldown-plugin-dts:generate load (94%, 3.1s, 9 calls)
|
|
26
|
+
Additional callback time came from the callbacks below and from callbacks under 1s.
|
|
27
|
+
1 callback is listed without a time. Its calls overlapped, so the time inside one call includes work from other calls. To find its cost, profile the build with `node --cpu-prof`:
|
|
28
|
+
- plugin rolldown-plugin-dts:resolver resolveId (17 calls)
|
|
29
|
+
See https://rolldown.rs/reference/InputOptions.checks#bundlertimings for more details.
|
|
31
30
|
[39m
|
|
@@ -9,12 +9,12 @@ dist/bundle-plugin.js 2.52 kB │ gzip: 1.11 kB
|
|
|
9
9
|
dist/index.d.ts 6.08 kB │ gzip: 2.00 kB
|
|
10
10
|
dist/index.js 28.55 kB │ gzip: 7.81 kB
|
|
11
11
|
|
|
12
|
-
[32m✓ built in 3.
|
|
13
|
-
[33m[33m[PLUGIN_TIMINGS] [
|
|
14
|
-
The slowest
|
|
15
|
-
- rolldown-plugin-dts:generate load (
|
|
16
|
-
Additional
|
|
17
|
-
See https://rolldown.rs/reference/InputOptions.checks#
|
|
12
|
+
[32m✓ built in 3.33s[39m
|
|
13
|
+
[33m[33m[PLUGIN_TIMINGS] [0mJavaScript callbacks ran for 3.2s of this 3.3s build (97%).
|
|
14
|
+
The slowest callbacks, timed inside each callback (the wait before a callback starts is excluded, the time it awaits is included):
|
|
15
|
+
- plugin rolldown-plugin-dts:generate load (95%, 3.2s, 2 calls)
|
|
16
|
+
Additional callback time came from callbacks under 1s.
|
|
17
|
+
See https://rolldown.rs/reference/InputOptions.checks#bundlertimings for more details.
|
|
18
18
|
[39m
|
|
19
|
-
◇ injected env (0) from .env // tip:
|
|
19
|
+
◇ injected env (0) from .env // tip: ◈ secrets for agents [www.dotenvx.com]
|
|
20
20
|
Publishing @flickfyi/lens@0.0.6...
|
|
@@ -5,7 +5,7 @@ transforming...
|
|
|
5
5
|
rendering chunks...
|
|
6
6
|
[32m
|
|
7
7
|
[36m[unplugin:dts][32m Start generate declaration files...[39m
|
|
8
|
-
[32m[36m[unplugin:dts][32m Declaration files built in
|
|
8
|
+
[32m[36m[unplugin:dts][32m Declaration files built in 1980ms.
|
|
9
9
|
[39m
|
|
10
10
|
computing gzip size...
|
|
11
11
|
dist/version.js 0.08 kB │ gzip: 0.09 kB
|
|
@@ -22,6 +22,6 @@ dist/jsx-runtime.cjs 0.51 kB │ gzip: 0.30 kB
|
|
|
22
22
|
dist/schemas.cjs 1.35 kB │ gzip: 0.47 kB
|
|
23
23
|
dist/index.cjs 2.39 kB │ gzip: 0.80 kB
|
|
24
24
|
|
|
25
|
-
[32m✓ built in 2.
|
|
26
|
-
◇ injected env (2) from .env // tip:
|
|
27
|
-
Publishing @flickfyi/photon@0.0.
|
|
25
|
+
[32m✓ built in 2.19s[39m
|
|
26
|
+
◇ injected env (2) from .env // tip: ⌘ custom filepath { path: '/custom/path/.env' }
|
|
27
|
+
Publishing @flickfyi/photon@0.0.35...
|
|
@@ -49,6 +49,7 @@ public final class ButtonHost: PhotonHost, Componentable {
|
|
|
49
49
|
case accessibilityLabel
|
|
50
50
|
case accessibilityValue
|
|
51
51
|
case disabled
|
|
52
|
+
case href
|
|
52
53
|
case indeterminate
|
|
53
54
|
case key
|
|
54
55
|
case loading
|
|
@@ -58,7 +59,7 @@ public final class ButtonHost: PhotonHost, Componentable {
|
|
|
58
59
|
|
|
59
60
|
var type: ComponentPropertyType {
|
|
60
61
|
switch self {
|
|
61
|
-
case .accessibilityLabel, .accessibilityValue: .string
|
|
62
|
+
case .accessibilityLabel, .accessibilityValue, .href: .string
|
|
62
63
|
case .disabled, .indeterminate, .loading, .selected: .boolean
|
|
63
64
|
case .key: .stringOrNumber
|
|
64
65
|
case .onClick: .mouseEvent
|
|
@@ -75,7 +76,21 @@ public final class ButtonHost: PhotonHost, Componentable {
|
|
|
75
76
|
|
|
76
77
|
var controlAccessibilityLabel: String?
|
|
77
78
|
var controlAccessibilityValue: String?
|
|
79
|
+
var destination: URL? {
|
|
80
|
+
guard let href, let url = URL(string: href),
|
|
81
|
+
let scheme = url.scheme?.lowercased(),
|
|
82
|
+
["http", "https", "mailto", "tel"].contains(scheme)
|
|
83
|
+
else {
|
|
84
|
+
return nil
|
|
85
|
+
}
|
|
86
|
+
if scheme == "http" || scheme == "https" {
|
|
87
|
+
return url.host?.isEmpty == false ? url : nil
|
|
88
|
+
}
|
|
89
|
+
return url.path.isEmpty ? nil : url
|
|
90
|
+
}
|
|
91
|
+
|
|
78
92
|
var disabled: Bool?
|
|
93
|
+
var href: String?
|
|
79
94
|
var indeterminate = false
|
|
80
95
|
var key: String?
|
|
81
96
|
var loading = false
|
|
@@ -112,6 +127,12 @@ public final class ButtonHost: PhotonHost, Componentable {
|
|
|
112
127
|
} else {
|
|
113
128
|
disabled = nil
|
|
114
129
|
}
|
|
130
|
+
case .href:
|
|
131
|
+
href = if case let .string(destination) = value {
|
|
132
|
+
destination
|
|
133
|
+
} else {
|
|
134
|
+
nil
|
|
135
|
+
}
|
|
115
136
|
case .indeterminate:
|
|
116
137
|
indeterminate = if case let .bool(isIndeterminate) = value {
|
|
117
138
|
isIndeterminate
|
|
@@ -162,10 +183,15 @@ public final class ButtonHost: PhotonHost, Componentable {
|
|
|
162
183
|
|
|
163
184
|
/// The VIEW is pure SwiftUI - just observes and renders
|
|
164
185
|
public struct ButtonView: View {
|
|
186
|
+
@Environment(\.openURL) private var openURL
|
|
187
|
+
|
|
165
188
|
@ObservedObject var host: ButtonHost
|
|
166
189
|
|
|
167
190
|
public var body: some View {
|
|
168
191
|
AsyncButton(role: host.role) {
|
|
192
|
+
if let destination = host.destination {
|
|
193
|
+
openURL(destination)
|
|
194
|
+
}
|
|
169
195
|
try? await host.onClick?([])
|
|
170
196
|
} label: {
|
|
171
197
|
VStack(spacing: 0) {
|
|
@@ -194,7 +220,7 @@ public struct ButtonView: View {
|
|
|
194
220
|
.modify(\.border, host.properties[\.border])
|
|
195
221
|
.modify(\.shadow, host.properties[\.shadow])
|
|
196
222
|
.modify(\.opacity, host.properties[\.opacity])
|
|
197
|
-
.disabled((host.disabled ?? false) || host.loading)
|
|
223
|
+
.disabled((host.disabled ?? false) || host.loading || (host.href != nil && host.destination == nil))
|
|
198
224
|
.accessibilityLabel(
|
|
199
225
|
Text(host.controlAccessibilityLabel ?? ""),
|
|
200
226
|
isEnabled: host.controlAccessibilityLabel != nil,
|
|
@@ -205,6 +231,7 @@ public struct ButtonView: View {
|
|
|
205
231
|
)
|
|
206
232
|
.accessibilityAddTraits(host.selected && !host.indeterminate ? .isSelected : [])
|
|
207
233
|
.accessibilityAddTraits(host.loading ? .updatesFrequently : [])
|
|
234
|
+
.accessibilityAddTraits(host.destination != nil ? .isLink : [])
|
|
208
235
|
.modify(\.flexiFrame, host.properties[\.flexiFrame])
|
|
209
236
|
.modifyMargin(\.spacing, host.properties[\.spacing])
|
|
210
237
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.0.
|
|
1
|
+
{"version":"0.0.35"}
|
|
@@ -6,6 +6,32 @@ import Testing
|
|
|
6
6
|
@MainActor
|
|
7
7
|
@Suite(.tags(.reactSwiftUI))
|
|
8
8
|
struct ButtonHostTests {
|
|
9
|
+
@Test(.testTimeout(.seconds(5)), arguments: [
|
|
10
|
+
"https://example.com/path", "http://example.com", "HTTPS://example.com",
|
|
11
|
+
"mailto:alex@example.com", "tel:+14155550128",
|
|
12
|
+
]) func supportedLinkDestinations(href: String) async {
|
|
13
|
+
let jsActor = await JSActor()
|
|
14
|
+
let host = await jsActor.withContext { isolation, _ in
|
|
15
|
+
withImmediateClock { ButtonHost(isolation: isolation, type: "button") }
|
|
16
|
+
}
|
|
17
|
+
host.handlePropertyUpdate(key: "href", value: .string(href))
|
|
18
|
+
#expect(host.destination != nil)
|
|
19
|
+
host.handlePropertyUpdate(key: "href", value: .none)
|
|
20
|
+
#expect(host.destination == nil)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@Test(.testTimeout(.seconds(5)), arguments: [
|
|
24
|
+
"javascript:alert(1)", "data:text/html,test", "file:///tmp/test", "/relative",
|
|
25
|
+
"https://", "https:example.com", "mailto:", "tel:", "",
|
|
26
|
+
]) func rejectsUnsupportedOrIncompleteLinkDestinations(href: String) async {
|
|
27
|
+
let jsActor = await JSActor()
|
|
28
|
+
let host = await jsActor.withContext { isolation, _ in
|
|
29
|
+
withImmediateClock { ButtonHost(isolation: isolation, type: "button") }
|
|
30
|
+
}
|
|
31
|
+
host.handlePropertyUpdate(key: "href", value: .string(href))
|
|
32
|
+
#expect(host.destination == nil)
|
|
33
|
+
}
|
|
34
|
+
|
|
9
35
|
@Test(.testTimeout(.seconds(5))) func removedControlStateRestoresNormalAction() async {
|
|
10
36
|
let jsActor = await JSActor()
|
|
11
37
|
let host = await jsActor.withContext { isolation, _ in
|