Skip to content

chore(release): version packages - #37

Merged
ivanbanov merged 1 commit into
mainfrom
changeset-release/main
Aug 13, 2026
Merged

chore(release): version packages#37
ivanbanov merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@dunky.dev/dialog@0.3.0

Minor Changes

  • #33 21cc0b8 Thanks @ivanbanov! - Add @dunky.dev/native-dialog — the React Native binding for the dialog, the
    first package of the native substrate. Same compound API as the React
    binding; the parts translate the core's logical bindings into React Native
    props (onPress, accessibilityState, accessibilityViewIsModal), the
    Portal renders the host's Modal, and the hardware Back press reports
    through the core closeOnBack contract.

    import { Dialog } from '@dunky.dev/native-dialog'
    ;<Dialog>
      <Dialog.Trigger>
        <Text>Open</Text>
      </Dialog.Trigger>
      <Dialog.Portal>
        <Dialog.Backdrop />
        <Dialog.Viewport>
          <Dialog.Content>
            <Dialog.Title>Title</Dialog.Title>
            <Dialog.Close>
              <Text>Close</Text>
            </Dialog.Close>
          </Dialog.Content>
        </Dialog.Viewport>
      </Dialog.Portal>
    </Dialog>

    @dunky.dev/dialog now exports dialogEffects — the substrate-free effect
    list (the controlled-open echo) every binding consumes instead of
    re-implementing, so the controlled contract can't fork between substrates. A
    substrate composes its host-specific effects around it (the React binding
    adds its DOM Escape listener); the echo itself is written once, in core.

Patch Changes

  • #33 b02dc81 Thanks @ivanbanov! - Update the state-machine runtime packages to 0.3.2.

    For @dunky.dev/native-dialog this fixes a native crash on Android: the runtime's normalize used to emit the machine's role: 'dialog' as the legacy accessibilityRole prop, which Android rejects at mount (Invalid accessibility role value: dialog). It now emits React Native's web-aligned role prop, which also restores the intended semantics on iOS (VoiceOver previously got no dialog traits at all). hidden now lands on aria-hidden instead of being silently ignored.

@dunky.dev/native-dialog@0.1.0

Minor Changes

  • #33 8c0dde3 Thanks @ivanbanov! - Hardware Back now dismisses the dialog by default: closeOnBack defaults to true on the native substrate (the core default stays false).

    Back is Android's dismiss gesture for transient surfaces — native Dialogs are cancelable by default — and it plays the same role Escape does on the web, where closeOnEscape already defaults to true. Requiring an opt-in inverted that platform expectation. Opt out per dialog with closeOnBack={false}; the onBackNavigation veto is unchanged.

  • #33 21cc0b8 Thanks @ivanbanov! - Add @dunky.dev/native-dialog — the React Native binding for the dialog, the
    first package of the native substrate. Same compound API as the React
    binding; the parts translate the core's logical bindings into React Native
    props (onPress, accessibilityState, accessibilityViewIsModal), the
    Portal renders the host's Modal, and the hardware Back press reports
    through the core closeOnBack contract.

    import { Dialog } from '@dunky.dev/native-dialog'
    ;<Dialog>
      <Dialog.Trigger>
        <Text>Open</Text>
      </Dialog.Trigger>
      <Dialog.Portal>
        <Dialog.Backdrop />
        <Dialog.Viewport>
          <Dialog.Content>
            <Dialog.Title>Title</Dialog.Title>
            <Dialog.Close>
              <Text>Close</Text>
            </Dialog.Close>
          </Dialog.Content>
        </Dialog.Viewport>
      </Dialog.Portal>
    </Dialog>

    @dunky.dev/dialog now exports dialogEffects — the substrate-free effect
    list (the controlled-open echo) every binding consumes instead of
    re-implementing, so the controlled contract can't fork between substrates. A
    substrate composes its host-specific effects around it (the React binding
    adds its DOM Escape listener); the echo itself is written once, in core.

Patch Changes

  • #33 b02dc81 Thanks @ivanbanov! - Update the state-machine runtime packages to 0.3.2.

    For @dunky.dev/native-dialog this fixes a native crash on Android: the runtime's normalize used to emit the machine's role: 'dialog' as the legacy accessibilityRole prop, which Android rejects at mount (Invalid accessibility role value: dialog). It now emits React Native's web-aligned role prop, which also restores the intended semantics on iOS (VoiceOver previously got no dialog traits at all). hidden now lands on aria-hidden instead of being silently ignored.

  • Updated dependencies [21cc0b8, b02dc81]:

    • @dunky.dev/dialog@0.3.0

@dunky.dev/react-dialog@0.2.2

Patch Changes

  • #33 21cc0b8 Thanks @ivanbanov! - Add @dunky.dev/native-dialog — the React Native binding for the dialog, the
    first package of the native substrate. Same compound API as the React
    binding; the parts translate the core's logical bindings into React Native
    props (onPress, accessibilityState, accessibilityViewIsModal), the
    Portal renders the host's Modal, and the hardware Back press reports
    through the core closeOnBack contract.

    import { Dialog } from '@dunky.dev/native-dialog'
    ;<Dialog>
      <Dialog.Trigger>
        <Text>Open</Text>
      </Dialog.Trigger>
      <Dialog.Portal>
        <Dialog.Backdrop />
        <Dialog.Viewport>
          <Dialog.Content>
            <Dialog.Title>Title</Dialog.Title>
            <Dialog.Close>
              <Text>Close</Text>
            </Dialog.Close>
          </Dialog.Content>
        </Dialog.Viewport>
      </Dialog.Portal>
    </Dialog>

    @dunky.dev/dialog now exports dialogEffects — the substrate-free effect
    list (the controlled-open echo) every binding consumes instead of
    re-implementing, so the controlled contract can't fork between substrates. A
    substrate composes its host-specific effects around it (the React binding
    adds its DOM Escape listener); the echo itself is written once, in core.

  • #33 b02dc81 Thanks @ivanbanov! - Update the state-machine runtime packages to 0.3.2.

    For @dunky.dev/native-dialog this fixes a native crash on Android: the runtime's normalize used to emit the machine's role: 'dialog' as the legacy accessibilityRole prop, which Android rejects at mount (Invalid accessibility role value: dialog). It now emits React Native's web-aligned role prop, which also restores the intended semantics on iOS (VoiceOver previously got no dialog traits at all). hidden now lands on aria-hidden instead of being silently ignored.

  • Updated dependencies [21cc0b8, b02dc81]:

    • @dunky.dev/dialog@0.3.0

@ivanbanov
ivanbanov merged commit 96f96b8 into main Aug 13, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant