@hjmds/react 1.41.2 → 1.43.0
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/README.md +2 -2
- package/dist/actions.d.ts +41 -0
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +40 -3
- package/dist/actions.js.map +1 -1
- package/dist/activity-chip.d.ts.map +1 -1
- package/dist/activity-chip.js +1 -0
- package/dist/activity-chip.js.map +1 -1
- package/dist/advanced-display.d.ts +47 -14
- package/dist/advanced-display.d.ts.map +1 -1
- package/dist/advanced-display.js +72 -17
- package/dist/advanced-display.js.map +1 -1
- package/dist/advanced-forms.d.ts.map +1 -1
- package/dist/advanced-forms.js +1 -0
- package/dist/advanced-forms.js.map +1 -1
- package/dist/affix.d.ts +6 -1
- package/dist/affix.d.ts.map +1 -1
- package/dist/affix.js +5 -3
- package/dist/affix.js.map +1 -1
- package/dist/agreement.d.ts.map +1 -1
- package/dist/agreement.js +1 -0
- package/dist/agreement.js.map +1 -1
- package/dist/alert-dialog-queue.d.ts +24 -0
- package/dist/alert-dialog-queue.d.ts.map +1 -0
- package/dist/alert-dialog-queue.js +44 -0
- package/dist/alert-dialog-queue.js.map +1 -0
- package/dist/anchor.d.ts.map +1 -1
- package/dist/anchor.js +1 -0
- package/dist/anchor.js.map +1 -1
- package/dist/asset.d.ts.map +1 -1
- package/dist/asset.js +1 -0
- package/dist/asset.js.map +1 -1
- package/dist/auth-screen.d.ts.map +1 -1
- package/dist/auth-screen.js +1 -0
- package/dist/auth-screen.js.map +1 -1
- package/dist/avatar-blobatar-motion.d.ts.map +1 -1
- package/dist/avatar-blobatar-motion.js +1 -0
- package/dist/avatar-blobatar-motion.js.map +1 -1
- package/dist/avatar-blobatar.d.ts.map +1 -1
- package/dist/avatar-blobatar.js +1 -0
- package/dist/avatar-blobatar.js.map +1 -1
- package/dist/bottom-cta.d.ts.map +1 -1
- package/dist/bottom-cta.js +1 -0
- package/dist/bottom-cta.js.map +1 -1
- package/dist/bottom-info.d.ts.map +1 -1
- package/dist/bottom-info.js +1 -0
- package/dist/bottom-info.js.map +1 -1
- package/dist/bottom-navigation.d.ts.map +1 -1
- package/dist/bottom-navigation.js +1 -0
- package/dist/bottom-navigation.js.map +1 -1
- package/dist/breadcrumb.d.ts.map +1 -1
- package/dist/breadcrumb.js +1 -0
- package/dist/breadcrumb.js.map +1 -1
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +1 -0
- package/dist/calendar.js.map +1 -1
- package/dist/carousel-motion.d.ts.map +1 -1
- package/dist/carousel-motion.js +1 -0
- package/dist/carousel-motion.js.map +1 -1
- package/dist/carousel.d.ts.map +1 -1
- package/dist/carousel.js +1 -0
- package/dist/carousel.js.map +1 -1
- package/dist/celebration.d.ts.map +1 -1
- package/dist/celebration.js +1 -0
- package/dist/celebration.js.map +1 -1
- package/dist/chart.d.ts +7 -2
- package/dist/chart.d.ts.map +1 -1
- package/dist/chart.js +6 -3
- package/dist/chart.js.map +1 -1
- package/dist/choice-row.d.ts +10 -2
- package/dist/choice-row.d.ts.map +1 -1
- package/dist/choice-row.js +7 -3
- package/dist/choice-row.js.map +1 -1
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/clipboard.js +1 -0
- package/dist/clipboard.js.map +1 -1
- package/dist/collapsible.d.ts.map +1 -1
- package/dist/collapsible.js +1 -0
- package/dist/collapsible.js.map +1 -1
- package/dist/collection-rail.d.ts.map +1 -1
- package/dist/collection-rail.js +3 -1
- package/dist/collection-rail.js.map +1 -1
- package/dist/color-picker.d.ts.map +1 -1
- package/dist/color-picker.js +1 -0
- package/dist/color-picker.js.map +1 -1
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +1 -0
- package/dist/command-palette.js.map +1 -1
- package/dist/communication.d.ts +92 -0
- package/dist/communication.d.ts.map +1 -1
- package/dist/communication.js +49 -1
- package/dist/communication.js.map +1 -1
- package/dist/content-transition.d.ts.map +1 -1
- package/dist/content-transition.js +1 -0
- package/dist/content-transition.js.map +1 -1
- package/dist/context-menu.d.ts.map +1 -1
- package/dist/context-menu.js +1 -0
- package/dist/context-menu.js.map +1 -1
- package/dist/conversation-row.d.ts.map +1 -1
- package/dist/conversation-row.js +1 -0
- package/dist/conversation-row.js.map +1 -1
- package/dist/data-table.d.ts.map +1 -1
- package/dist/data-table.js +1 -0
- package/dist/data-table.js.map +1 -1
- package/dist/date-entry.d.ts.map +1 -1
- package/dist/date-entry.js +1 -0
- package/dist/date-entry.js.map +1 -1
- package/dist/date-picker.d.ts.map +1 -1
- package/dist/date-picker.js +1 -0
- package/dist/date-picker.js.map +1 -1
- package/dist/date-range.d.ts.map +1 -1
- package/dist/date-range.js +1 -0
- package/dist/date-range.js.map +1 -1
- package/dist/design-profile.d.ts.map +1 -1
- package/dist/design-profile.js +1 -0
- package/dist/design-profile.js.map +1 -1
- package/dist/display.d.ts +21 -1
- package/dist/display.d.ts.map +1 -1
- package/dist/display.js +34 -8
- package/dist/display.js.map +1 -1
- package/dist/duration-field.d.ts.map +1 -1
- package/dist/duration-field.js +1 -0
- package/dist/duration-field.js.map +1 -1
- package/dist/effect-surface.d.ts.map +1 -1
- package/dist/effect-surface.js +1 -0
- package/dist/effect-surface.js.map +1 -1
- package/dist/evidence.d.ts +1 -1
- package/dist/evidence.js +1 -1
- package/dist/evidence.js.map +1 -1
- package/dist/feedback.d.ts.map +1 -1
- package/dist/feedback.js +1 -0
- package/dist/feedback.js.map +1 -1
- package/dist/field-group.d.ts.map +1 -1
- package/dist/field-group.js +1 -0
- package/dist/field-group.js.map +1 -1
- package/dist/file-picker.d.ts.map +1 -1
- package/dist/file-picker.js +1 -0
- package/dist/file-picker.js.map +1 -1
- package/dist/floating-action-button.d.ts.map +1 -1
- package/dist/floating-action-button.js +1 -0
- package/dist/floating-action-button.js.map +1 -1
- package/dist/folder-preview.d.ts.map +1 -1
- package/dist/folder-preview.js +1 -0
- package/dist/folder-preview.js.map +1 -1
- package/dist/forms.d.ts +30 -6
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +56 -14
- package/dist/forms.js.map +1 -1
- package/dist/gravity-letters.d.ts.map +1 -1
- package/dist/gravity-letters.js +1 -0
- package/dist/gravity-letters.js.map +1 -1
- package/dist/grid-reveal.d.ts.map +1 -1
- package/dist/grid-reveal.js +1 -0
- package/dist/grid-reveal.js.map +1 -1
- package/dist/heading.d.ts.map +1 -1
- package/dist/heading.js +1 -0
- package/dist/heading.js.map +1 -1
- package/dist/image-choice.d.ts.map +1 -1
- package/dist/image-choice.js +1 -0
- package/dist/image-choice.js.map +1 -1
- package/dist/image-comparison.d.ts.map +1 -1
- package/dist/image-comparison.js +1 -0
- package/dist/image-comparison.js.map +1 -1
- package/dist/image-viewer.d.ts +22 -1
- package/dist/image-viewer.d.ts.map +1 -1
- package/dist/image-viewer.js +14 -1
- package/dist/image-viewer.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inline-confirm.d.ts.map +1 -1
- package/dist/inline-confirm.js +1 -0
- package/dist/inline-confirm.js.map +1 -1
- package/dist/internal/document-resource.d.ts.map +1 -1
- package/dist/internal/document-resource.js +1 -0
- package/dist/internal/document-resource.js.map +1 -1
- package/dist/internal/initial-focus.d.ts.map +1 -1
- package/dist/internal/initial-focus.js +1 -0
- package/dist/internal/initial-focus.js.map +1 -1
- package/dist/internal/media-album.d.ts.map +1 -1
- package/dist/internal/media-album.js +1 -0
- package/dist/internal/media-album.js.map +1 -1
- package/dist/internal/message-reactions.d.ts.map +1 -1
- package/dist/internal/message-reactions.js +1 -0
- package/dist/internal/message-reactions.js.map +1 -1
- package/dist/internal/overlay-origin-motion.d.ts.map +1 -1
- package/dist/internal/overlay-origin-motion.js +1 -0
- package/dist/internal/overlay-origin-motion.js.map +1 -1
- package/dist/internal/pending-content.d.ts.map +1 -1
- package/dist/internal/pending-content.js +1 -0
- package/dist/internal/pending-content.js.map +1 -1
- package/dist/internal/photo-source-icon.d.ts.map +1 -1
- package/dist/internal/photo-source-icon.js +1 -0
- package/dist/internal/photo-source-icon.js.map +1 -1
- package/dist/internal/screen-exit.d.ts.map +1 -1
- package/dist/internal/screen-exit.js +1 -0
- package/dist/internal/screen-exit.js.map +1 -1
- package/dist/internal/screen-footer.d.ts.map +1 -1
- package/dist/internal/screen-footer.js +1 -0
- package/dist/internal/screen-footer.js.map +1 -1
- package/dist/internal/spinner.d.ts.map +1 -1
- package/dist/internal/spinner.js +1 -0
- package/dist/internal/spinner.js.map +1 -1
- package/dist/internal/use-composition-action.d.ts.map +1 -1
- package/dist/internal/use-composition-action.js +1 -0
- package/dist/internal/use-composition-action.js.map +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -0
- package/dist/internal.js.map +1 -1
- package/dist/layout.d.ts +11 -1
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +8 -4
- package/dist/layout.js.map +1 -1
- package/dist/mentions.d.ts.map +1 -1
- package/dist/mentions.js +1 -0
- package/dist/mentions.js.map +1 -1
- package/dist/menu-morph.d.ts.map +1 -1
- package/dist/menu-morph.js +1 -0
- package/dist/menu-morph.js.map +1 -1
- package/dist/menubar.d.ts.map +1 -1
- package/dist/menubar.js +1 -0
- package/dist/menubar.js.map +1 -1
- package/dist/modal.d.ts.map +1 -1
- package/dist/modal.js +1 -0
- package/dist/modal.js.map +1 -1
- package/dist/navigation-bar.d.ts.map +1 -1
- package/dist/navigation-bar.js +1 -0
- package/dist/navigation-bar.js.map +1 -1
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +1 -0
- package/dist/navigation.js.map +1 -1
- package/dist/notification-bell.d.ts +1 -1
- package/dist/notification-bell.d.ts.map +1 -1
- package/dist/notification-bell.js +5 -1
- package/dist/notification-bell.js.map +1 -1
- package/dist/number-field.d.ts.map +1 -1
- package/dist/number-field.js +1 -0
- package/dist/number-field.js.map +1 -1
- package/dist/overlay-stack.d.ts.map +1 -1
- package/dist/overlay-stack.js +1 -0
- package/dist/overlay-stack.js.map +1 -1
- package/dist/overlays.d.ts.map +1 -1
- package/dist/overlays.js +11 -2
- package/dist/overlays.js.map +1 -1
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +1 -0
- package/dist/pagination.js.map +1 -1
- package/dist/popover.d.ts.map +1 -1
- package/dist/popover.js +1 -0
- package/dist/popover.js.map +1 -1
- package/dist/portal.d.ts.map +1 -1
- package/dist/portal.js +1 -0
- package/dist/portal.js.map +1 -1
- package/dist/progressive-blur.d.ts.map +1 -1
- package/dist/progressive-blur.js +1 -0
- package/dist/progressive-blur.js.map +1 -1
- package/dist/provider-button.d.ts.map +1 -1
- package/dist/provider-button.js +1 -0
- package/dist/provider-button.js.map +1 -1
- package/dist/provider.d.ts +9 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +2 -2
- package/dist/provider.js.map +1 -1
- package/dist/public-exports.generated.d.ts +9 -0
- package/dist/public-exports.generated.d.ts.map +1 -1
- package/dist/public-exports.generated.js +27 -0
- package/dist/public-exports.generated.js.map +1 -1
- package/dist/rating.d.ts.map +1 -1
- package/dist/rating.js +1 -0
- package/dist/rating.js.map +1 -1
- package/dist/reaction-picker.d.ts.map +1 -1
- package/dist/reaction-picker.js +1 -0
- package/dist/reaction-picker.js.map +1 -1
- package/dist/saved-items.d.ts.map +1 -1
- package/dist/saved-items.js +1 -0
- package/dist/saved-items.js.map +1 -1
- package/dist/screen-flows.d.ts +5 -1
- package/dist/screen-flows.d.ts.map +1 -1
- package/dist/screen-flows.js +13 -4
- package/dist/screen-flows.js.map +1 -1
- package/dist/screens.d.ts +24 -4
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +39 -12
- package/dist/screens.js.map +1 -1
- package/dist/scroll-progress.d.ts.map +1 -1
- package/dist/scroll-progress.js +1 -0
- package/dist/scroll-progress.js.map +1 -1
- package/dist/select.d.ts.map +1 -1
- package/dist/select.js +1 -0
- package/dist/select.js.map +1 -1
- package/dist/selection.d.ts +7 -1
- package/dist/selection.d.ts.map +1 -1
- package/dist/selection.js +33 -10
- package/dist/selection.js.map +1 -1
- package/dist/side-panel.d.ts.map +1 -1
- package/dist/side-panel.js +1 -0
- package/dist/side-panel.js.map +1 -1
- package/dist/sidebar.d.ts +21 -2
- package/dist/sidebar.d.ts.map +1 -1
- package/dist/sidebar.js +40 -20
- package/dist/sidebar.js.map +1 -1
- package/dist/skip-nav.d.ts.map +1 -1
- package/dist/skip-nav.js +1 -0
- package/dist/skip-nav.js.map +1 -1
- package/dist/slider.d.ts.map +1 -1
- package/dist/slider.js +1 -0
- package/dist/slider.js.map +1 -1
- package/dist/sortable.d.ts.map +1 -1
- package/dist/sortable.js +1 -0
- package/dist/sortable.js.map +1 -1
- package/dist/splitter.d.ts.map +1 -1
- package/dist/splitter.js +1 -0
- package/dist/splitter.js.map +1 -1
- package/dist/statistic-motion.d.ts.map +1 -1
- package/dist/statistic-motion.js +1 -0
- package/dist/statistic-motion.js.map +1 -1
- package/dist/status-text.d.ts.map +1 -1
- package/dist/status-text.js +1 -0
- package/dist/status-text.js.map +1 -1
- package/dist/step-player.d.ts.map +1 -1
- package/dist/step-player.js +1 -0
- package/dist/step-player.js.map +1 -1
- package/dist/steps.d.ts +16 -14
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +26 -9
- package/dist/steps.js.map +1 -1
- package/dist/styles.css +165 -41
- package/dist/styles.layered.css +165 -41
- package/dist/supplemental-display.d.ts.map +1 -1
- package/dist/supplemental-display.js +1 -0
- package/dist/supplemental-display.js.map +1 -1
- package/dist/supplemental-navigation.d.ts.map +1 -1
- package/dist/supplemental-navigation.js +1 -0
- package/dist/supplemental-navigation.js.map +1 -1
- package/dist/swipe-actions.d.ts.map +1 -1
- package/dist/swipe-actions.js +1 -0
- package/dist/swipe-actions.js.map +1 -1
- package/dist/table-family.d.ts.map +1 -1
- package/dist/table-family.js +1 -0
- package/dist/table-family.js.map +1 -1
- package/dist/table-sort-button.d.ts.map +1 -1
- package/dist/table-sort-button.js +1 -0
- package/dist/table-sort-button.js.map +1 -1
- package/dist/tags-input.d.ts.map +1 -1
- package/dist/tags-input.js +1 -0
- package/dist/tags-input.js.map +1 -1
- package/dist/task-list.d.ts.map +1 -1
- package/dist/task-list.js +1 -0
- package/dist/task-list.js.map +1 -1
- package/dist/text-annotation.d.ts.map +1 -1
- package/dist/text-annotation.js +1 -0
- package/dist/text-annotation.js.map +1 -1
- package/dist/text-formats.d.ts.map +1 -1
- package/dist/text-formats.js +1 -0
- package/dist/text-formats.js.map +1 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +12 -1
- package/dist/theme.js.map +1 -1
- package/dist/thinking-orb.d.ts.map +1 -1
- package/dist/thinking-orb.js +1 -0
- package/dist/thinking-orb.js.map +1 -1
- package/dist/toast.d.ts.map +1 -1
- package/dist/toast.js +1 -0
- package/dist/toast.js.map +1 -1
- package/dist/toggle-group.d.ts.map +1 -1
- package/dist/toggle-group.js +1 -0
- package/dist/toggle-group.js.map +1 -1
- package/dist/top-bar.d.ts.map +1 -1
- package/dist/top-bar.js +1 -0
- package/dist/top-bar.js.map +1 -1
- package/dist/top.d.ts.map +1 -1
- package/dist/top.js +4 -3
- package/dist/top.js.map +1 -1
- package/dist/tour.d.ts.map +1 -1
- package/dist/tour.js +1 -0
- package/dist/tour.js.map +1 -1
- package/dist/transfer-list.d.ts.map +1 -1
- package/dist/transfer-list.js +1 -0
- package/dist/transfer-list.js.map +1 -1
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +1 -0
- package/dist/tree.js.map +1 -1
- package/dist/upload-item.d.ts.map +1 -1
- package/dist/upload-item.js +1 -0
- package/dist/upload-item.js.map +1 -1
- package/dist/virtual-list.d.ts.map +1 -1
- package/dist/virtual-list.js +1 -0
- package/dist/virtual-list.js.map +1 -1
- package/dist/voice-note.d.ts.map +1 -1
- package/dist/voice-note.js +1 -0
- package/dist/voice-note.js.map +1 -1
- package/package.json +8 -3
package/dist/number-field.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-field.js","sourceRoot":"","sources":["../src/number-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n commitNumberFieldInput,\n numberFieldRecipe,\n parseNumberFieldInput,\n resolveNumberFieldDescriptor,\n resolveNumberFieldInputStepperState,\n stepNumberFieldInput,\n type NumberFieldSize,\n type NumberFieldValue,\n} from \"@hjmds/design-contracts/components/number-field\";\nimport {\n forwardRef,\n useEffect,\n useId,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\n\nimport { classNames, composeRefs, isAriaInvalid, useControllableState } from \"./internal.js\";\nimport type { HjmCompositionStyleProp } from \"./composition-style.js\";\nimport { FieldError } from \"./internal/field-error.js\";\n\ntype NativeNumberInputProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n | \"aria-errormessage\"\n | \"aria-valuemax\"\n | \"aria-valuemin\"\n | \"aria-valuenow\"\n | \"aria-valuetext\"\n | \"children\"\n | \"className\"\n | \"defaultValue\"\n | \"disabled\"\n | \"max\"\n | \"min\"\n | \"onChange\"\n | \"readOnly\"\n | \"required\"\n | \"role\"\n | \"size\"\n | \"step\"\n | \"type\"\n | \"value\"\n>;\n\nexport type NumberFieldProps = NativeNumberInputProps &\n Readonly<{\n label: ReactNode;\n min: number;\n max: number;\n step?: number;\n value?: NumberFieldValue;\n defaultValue?: NumberFieldValue;\n onValueChange?: (value: NumberFieldValue) => void;\n description?: ReactNode;\n error?: ReactNode;\n required?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n size?: NumberFieldSize;\n /** Product-localized accessible name for the decrement action. */\n decrementLabel: string;\n /** Product-localized accessible name for the increment action. */\n incrementLabel: string;\n /** Optional product formatting for assistive output, never the editable text. */\n getValueText?: (value: number) => string;\n className?: string;\n inputClassName?: string;\n /**\n * Canonical layout-only placement on the field frame. `style` keeps going to\n * the input element, where it always went, so existing callers do not move.\n */\n layoutStyle?: HjmCompositionStyleProp;\n }>;\n\nfunction valueToInput(value: NumberFieldValue): string {\n return value === null ? \"\" : String(value);\n}\n\nfunction defaultInputMode(min: number, step: number): \"decimal\" | \"numeric\" | \"text\" {\n if (min < 0) return \"text\";\n return Number.isInteger(step) ? \"numeric\" : \"decimal\";\n}\n\n/**\n * Exact numeric entry with a nullable draft and explicit single-step actions.\n * Typing commits on blur; steppers and ArrowUp/ArrowDown commit immediately.\n */\nexport const NumberField = forwardRef<HTMLInputElement, NumberFieldProps>(\n function NumberField(\n {\n id,\n label,\n min,\n max,\n step,\n value,\n defaultValue = null,\n onValueChange,\n description,\n error,\n required = false,\n disabled = false,\n readOnly = false,\n size = \"medium\",\n decrementLabel,\n incrementLabel,\n getValueText,\n className,\n inputClassName,\n layoutStyle,\n inputMode,\n onBlur,\n onFocus,\n onKeyDown,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n ...inputProps\n },\n forwardedRef,\n ) {\n const generatedId = useId();\n const controlId = id ?? `hjm-number-${generatedId.replaceAll(\":\", \"\")}`;\n const descriptionId = `${controlId}-description`;\n const errorId = `${controlId}-error`;\n const inputRef = useRef<HTMLInputElement>(null);\n const controlled = value !== undefined;\n const controlledAtMount = useRef(controlled);\n if (controlledAtMount.current !== controlled) {\n throw new Error(\"HJM components cannot switch between controlled and uncontrolled state\");\n }\n const [currentValue, setCurrentValue] = useControllableState<NumberFieldValue>({\n ...(controlled ? { value } : {}),\n defaultValue,\n ...(onValueChange === undefined ? {} : { onChange: onValueChange }),\n });\n const descriptor = resolveNumberFieldDescriptor({\n value: currentValue,\n min,\n max,\n ...(step === undefined ? {} : { step }),\n });\n const [draft, setDraft] = useState(() => valueToInput(currentValue));\n const [focused, setFocused] = useState(false);\n const stepper = resolveNumberFieldInputStepperState(draft, descriptor);\n\n useEffect(() => {\n setDraft(valueToInput(currentValue));\n }, [currentValue]);\n\n const restoreOrDisplay = (next: NumberFieldValue) => {\n setDraft(valueToInput(controlled ? currentValue : next));\n };\n\n const commitDraft = () => {\n if (disabled || readOnly) return;\n const next = commitNumberFieldInput(draft, descriptor);\n if (next === undefined) {\n setDraft(valueToInput(currentValue));\n return;\n }\n if (!Object.is(next, currentValue)) setCurrentValue(next);\n restoreOrDisplay(next);\n };\n\n const stepValue = (direction: \"increment\" | \"decrement\") => {\n if (disabled || readOnly) return;\n const next = stepNumberFieldInput(draft, descriptor, direction);\n if (!Object.is(next, currentValue)) setCurrentValue(next);\n restoreOrDisplay(next);\n inputRef.current?.focus({ preventScroll: true });\n };\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n onFocus?.(event);\n };\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n setFocused(false);\n commitDraft();\n onBlur?.(event);\n };\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || disabled || readOnly || event.nativeEvent.isComposing || event.keyCode === 229) return;\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n stepValue(event.key === \"ArrowUp\" ? \"increment\" : \"decrement\");\n } else if (event.key === \"Enter\") {\n commitDraft();\n }\n };\n\n const unavailable = disabled || readOnly;\n const hasInvalidState = Boolean(error) || isAriaInvalid(ariaInvalid);\n const state = disabled\n ? \"disabled\"\n : hasInvalidState\n ? \"invalid\"\n : focused\n ? \"focused\"\n : \"idle\";\n const describedBy = [\n ariaDescribedBy,\n error ? errorId : description ? descriptionId : undefined,\n ].filter(Boolean).join(\" \") || undefined;\n const parsedDraft = parseNumberFieldInput(draft);\n const announcedValue =\n typeof parsedDraft === \"number\" && parsedDraft >= min && parsedDraft <= max\n ? parsedDraft\n : currentValue;\n const valueText = announcedValue === null ? undefined : getValueText?.(announcedValue);\n\n return (\n <div\n className={classNames(\"hjm-field\", \"hjm-number-field\", className)}\n // fieldRecipe.disabledScope fades label and control; the amount is this component's\n // recipe (numberFieldRecipe.states), as on Native — the frame default is fieldRecipe's.\n style={disabled\n ? ({ ...layoutStyle, \"--hjm-field-disabled-opacity\": numberFieldRecipe.states.disabledOpacity } as CSSProperties)\n : layoutStyle}\n data-availability={disabled ? \"disabled\" : readOnly ? \"readOnly\" : \"enabled\"}\n data-size={size}\n data-state={state}\n data-invalid={hasInvalidState || undefined}\n data-value={currentValue === null ? \"empty\" : \"filled\"}\n >\n <label className=\"hjm-field__label\" htmlFor={controlId}>\n {label}\n {required ? <span aria-hidden=\"true\"> *</span> : null}\n </label>\n <div className=\"hjm-field__control hjm-number-field__control\">\n <button\n type=\"button\"\n aria-controls={controlId}\n aria-label={decrementLabel}\n className=\"hjm-number-field__stepper\"\n data-direction=\"decrement\"\n disabled={unavailable || stepper.decrementDisabled}\n onClick={() => stepValue(\"decrement\")}\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n >\n <span aria-hidden=\"true\">−</span>\n </button>\n <input\n {...inputProps}\n ref={composeRefs(inputRef, forwardedRef)}\n id={controlId}\n type=\"text\"\n role=\"spinbutton\"\n className={classNames(\n \"hjm-field__input\",\n \"hjm-number-field__input\",\n inputClassName,\n )}\n value={draft}\n inputMode={inputMode ?? defaultInputMode(min, descriptor.step)}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n aria-invalid={error ? true : ariaInvalid}\n aria-describedby={describedBy}\n {...(error ? { \"aria-errormessage\": errorId } : {})}\n aria-valuemin={min}\n aria-valuemax={max}\n {...(announcedValue === null ? {} : { \"aria-valuenow\": announcedValue })}\n {...(valueText === undefined ? {} : { \"aria-valuetext\": valueText })}\n onChange={(event) => setDraft(event.currentTarget.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n />\n <button\n type=\"button\"\n aria-controls={controlId}\n aria-label={incrementLabel}\n className=\"hjm-number-field__stepper\"\n data-direction=\"increment\"\n disabled={unavailable || stepper.incrementDisabled}\n onClick={() => stepValue(\"increment\")}\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n >\n <span aria-hidden=\"true\">+</span>\n </button>\n </div>\n {description && !error ? (\n <div id={descriptionId} className=\"hjm-field__description\">{description}</div>\n ) : null}\n <FieldError id={errorId} error={error} />\n </div>\n );\n },\n);\n"]}
|
|
1
|
+
{"version":3,"file":"number-field.js","sourceRoot":"","sources":["../src/number-field.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport {\n commitNumberFieldInput,\n numberFieldRecipe,\n parseNumberFieldInput,\n resolveNumberFieldDescriptor,\n resolveNumberFieldInputStepperState,\n stepNumberFieldInput,\n type NumberFieldSize,\n type NumberFieldValue,\n} from \"@hjmds/design-contracts/components/number-field\";\nimport {\n forwardRef,\n useEffect,\n useId,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\n\nimport { classNames, composeRefs, isAriaInvalid, useControllableState } from \"./internal.js\";\nimport type { HjmCompositionStyleProp } from \"./composition-style.js\";\nimport { FieldError } from \"./internal/field-error.js\";\n\ntype NativeNumberInputProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n | \"aria-errormessage\"\n | \"aria-valuemax\"\n | \"aria-valuemin\"\n | \"aria-valuenow\"\n | \"aria-valuetext\"\n | \"children\"\n | \"className\"\n | \"defaultValue\"\n | \"disabled\"\n | \"max\"\n | \"min\"\n | \"onChange\"\n | \"readOnly\"\n | \"required\"\n | \"role\"\n | \"size\"\n | \"step\"\n | \"type\"\n | \"value\"\n>;\n\nexport type NumberFieldProps = NativeNumberInputProps &\n Readonly<{\n label: ReactNode;\n min: number;\n max: number;\n step?: number;\n value?: NumberFieldValue;\n defaultValue?: NumberFieldValue;\n onValueChange?: (value: NumberFieldValue) => void;\n description?: ReactNode;\n error?: ReactNode;\n required?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n size?: NumberFieldSize;\n /** Product-localized accessible name for the decrement action. */\n decrementLabel: string;\n /** Product-localized accessible name for the increment action. */\n incrementLabel: string;\n /** Optional product formatting for assistive output, never the editable text. */\n getValueText?: (value: number) => string;\n className?: string;\n inputClassName?: string;\n /**\n * Canonical layout-only placement on the field frame. `style` keeps going to\n * the input element, where it always went, so existing callers do not move.\n */\n layoutStyle?: HjmCompositionStyleProp;\n }>;\n\nfunction valueToInput(value: NumberFieldValue): string {\n return value === null ? \"\" : String(value);\n}\n\nfunction defaultInputMode(min: number, step: number): \"decimal\" | \"numeric\" | \"text\" {\n if (min < 0) return \"text\";\n return Number.isInteger(step) ? \"numeric\" : \"decimal\";\n}\n\n/**\n * Exact numeric entry with a nullable draft and explicit single-step actions.\n * Typing commits on blur; steppers and ArrowUp/ArrowDown commit immediately.\n */\nexport const NumberField = forwardRef<HTMLInputElement, NumberFieldProps>(\n function NumberField(\n {\n id,\n label,\n min,\n max,\n step,\n value,\n defaultValue = null,\n onValueChange,\n description,\n error,\n required = false,\n disabled = false,\n readOnly = false,\n size = \"medium\",\n decrementLabel,\n incrementLabel,\n getValueText,\n className,\n inputClassName,\n layoutStyle,\n inputMode,\n onBlur,\n onFocus,\n onKeyDown,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n ...inputProps\n },\n forwardedRef,\n ) {\n const generatedId = useId();\n const controlId = id ?? `hjm-number-${generatedId.replaceAll(\":\", \"\")}`;\n const descriptionId = `${controlId}-description`;\n const errorId = `${controlId}-error`;\n const inputRef = useRef<HTMLInputElement>(null);\n const controlled = value !== undefined;\n const controlledAtMount = useRef(controlled);\n if (controlledAtMount.current !== controlled) {\n throw new Error(\"HJM components cannot switch between controlled and uncontrolled state\");\n }\n const [currentValue, setCurrentValue] = useControllableState<NumberFieldValue>({\n ...(controlled ? { value } : {}),\n defaultValue,\n ...(onValueChange === undefined ? {} : { onChange: onValueChange }),\n });\n const descriptor = resolveNumberFieldDescriptor({\n value: currentValue,\n min,\n max,\n ...(step === undefined ? {} : { step }),\n });\n const [draft, setDraft] = useState(() => valueToInput(currentValue));\n const [focused, setFocused] = useState(false);\n const stepper = resolveNumberFieldInputStepperState(draft, descriptor);\n\n useEffect(() => {\n setDraft(valueToInput(currentValue));\n }, [currentValue]);\n\n const restoreOrDisplay = (next: NumberFieldValue) => {\n setDraft(valueToInput(controlled ? currentValue : next));\n };\n\n const commitDraft = () => {\n if (disabled || readOnly) return;\n const next = commitNumberFieldInput(draft, descriptor);\n if (next === undefined) {\n setDraft(valueToInput(currentValue));\n return;\n }\n if (!Object.is(next, currentValue)) setCurrentValue(next);\n restoreOrDisplay(next);\n };\n\n const stepValue = (direction: \"increment\" | \"decrement\") => {\n if (disabled || readOnly) return;\n const next = stepNumberFieldInput(draft, descriptor, direction);\n if (!Object.is(next, currentValue)) setCurrentValue(next);\n restoreOrDisplay(next);\n inputRef.current?.focus({ preventScroll: true });\n };\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n onFocus?.(event);\n };\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n setFocused(false);\n commitDraft();\n onBlur?.(event);\n };\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || disabled || readOnly || event.nativeEvent.isComposing || event.keyCode === 229) return;\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n stepValue(event.key === \"ArrowUp\" ? \"increment\" : \"decrement\");\n } else if (event.key === \"Enter\") {\n commitDraft();\n }\n };\n\n const unavailable = disabled || readOnly;\n const hasInvalidState = Boolean(error) || isAriaInvalid(ariaInvalid);\n const state = disabled\n ? \"disabled\"\n : hasInvalidState\n ? \"invalid\"\n : focused\n ? \"focused\"\n : \"idle\";\n const describedBy = [\n ariaDescribedBy,\n error ? errorId : description ? descriptionId : undefined,\n ].filter(Boolean).join(\" \") || undefined;\n const parsedDraft = parseNumberFieldInput(draft);\n const announcedValue =\n typeof parsedDraft === \"number\" && parsedDraft >= min && parsedDraft <= max\n ? parsedDraft\n : currentValue;\n const valueText = announcedValue === null ? undefined : getValueText?.(announcedValue);\n\n return (\n <div\n className={classNames(\"hjm-field\", \"hjm-number-field\", className)}\n // fieldRecipe.disabledScope fades label and control; the amount is this component's\n // recipe (numberFieldRecipe.states), as on Native — the frame default is fieldRecipe's.\n style={disabled\n ? ({ ...layoutStyle, \"--hjm-field-disabled-opacity\": numberFieldRecipe.states.disabledOpacity } as CSSProperties)\n : layoutStyle}\n data-availability={disabled ? \"disabled\" : readOnly ? \"readOnly\" : \"enabled\"}\n data-size={size}\n data-state={state}\n data-invalid={hasInvalidState || undefined}\n data-value={currentValue === null ? \"empty\" : \"filled\"}\n >\n <label className=\"hjm-field__label\" htmlFor={controlId}>\n {label}\n {required ? <span aria-hidden=\"true\"> *</span> : null}\n </label>\n <div className=\"hjm-field__control hjm-number-field__control\">\n <button\n type=\"button\"\n aria-controls={controlId}\n aria-label={decrementLabel}\n className=\"hjm-number-field__stepper\"\n data-direction=\"decrement\"\n disabled={unavailable || stepper.decrementDisabled}\n onClick={() => stepValue(\"decrement\")}\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n >\n <span aria-hidden=\"true\">−</span>\n </button>\n <input\n {...inputProps}\n ref={composeRefs(inputRef, forwardedRef)}\n id={controlId}\n type=\"text\"\n role=\"spinbutton\"\n className={classNames(\n \"hjm-field__input\",\n \"hjm-number-field__input\",\n inputClassName,\n )}\n value={draft}\n inputMode={inputMode ?? defaultInputMode(min, descriptor.step)}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n aria-invalid={error ? true : ariaInvalid}\n aria-describedby={describedBy}\n {...(error ? { \"aria-errormessage\": errorId } : {})}\n aria-valuemin={min}\n aria-valuemax={max}\n {...(announcedValue === null ? {} : { \"aria-valuenow\": announcedValue })}\n {...(valueText === undefined ? {} : { \"aria-valuetext\": valueText })}\n onChange={(event) => setDraft(event.currentTarget.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n />\n <button\n type=\"button\"\n aria-controls={controlId}\n aria-label={incrementLabel}\n className=\"hjm-number-field__stepper\"\n data-direction=\"increment\"\n disabled={unavailable || stepper.incrementDisabled}\n onClick={() => stepValue(\"increment\")}\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n >\n <span aria-hidden=\"true\">+</span>\n </button>\n </div>\n {description && !error ? (\n <div id={descriptionId} className=\"hjm-field__description\">{description}</div>\n ) : null}\n <FieldError id={errorId} error={error} />\n </div>\n );\n },\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-stack.d.ts","sourceRoot":"","sources":["../src/overlay-stack.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"overlay-stack.d.ts","sourceRoot":"","sources":["../src/overlay-stack.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAmBvD,KAAK,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC,GACzF,QAAQ,CAAC;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AACrC,KAAK,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC,GACvF,QAAQ,CAAC;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACnC,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC;IAClD,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa,CAAC;CACjD,CAAC,CAAC;AAQH,wBAAgB,eAAe,IAAI,eAAe,CAIjD;AAED,uEAAuE;AACvE,wBAAgB,SAAS,IAAI,eAAe,CAAC,YAAY,CAAC,CAEzD;AAED,wBAAgB,QAAQ,IAAI,eAAe,CAAC,WAAW,CAAC,CAEvD;AAGD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAE1E,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,yBAAyB,GAAG,YAAY,CA6D1F"}
|
package/dist/overlay-stack.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-stack.js","sourceRoot":"","sources":["../src/overlay-stack.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"overlay-stack.js","sourceRoot":"","sources":["../src/overlay-stack.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport { Dialog, type DialogProps } from \"./overlays.js\";\nimport { Sheet, type SheetProps } from \"./overlays.js\";\n\n/*\n Imperative Dialog and Sheet. `useToast` already has this shape, and the gap\n beside it is why each product rewired \"open state + mount point + completion\n signal\" by hand (BurnTok's AppModal built its own `onDismiss` for exactly this).\n\n This layer only transfers ownership: the provider holds the open state and the\n mount point, and the call site knows just \"open it\" and \"it closed\". Dismiss\n judgement, focus and isolation stay in the Dialog/Sheet contracts — none of it\n is reimplemented here.\n\n One overlay at a time. Stacking needs rules (which one is on top, is the one\n behind inert) that the modal stack already owns; an imperative API that\n bypassed it would fork those rules and produce \"closed it and the one below\n never came back\". Opening a follow-up surface after `closed` resolves is the\n contracted order.\n*/\n\ntype DialogRequest = Omit<DialogProps, \"open\" | \"defaultOpen\" | \"onOpenChange\" | \"trigger\"> &\n Readonly<{ children?: ReactNode }>;\ntype SheetRequest = Omit<SheetProps, \"open\" | \"defaultOpen\" | \"onOpenChange\" | \"trigger\"> &\n Readonly<{ children?: ReactNode }>;\n\nexport type OverlayHandle = Readonly<{\n /** Resolves once the overlay is gone and focus has been restored. */\n closed: Promise<void>;\n close(): void;\n}>;\n\nexport type OverlayStackApi = Readonly<{\n openDialog(request: DialogRequest): OverlayHandle;\n openSheet(request: SheetRequest): OverlayHandle;\n}>;\n\ntype Entry =\n | Readonly<{ kind: \"dialog\"; id: number; request: DialogRequest; settle: () => void }>\n | Readonly<{ kind: \"sheet\"; id: number; request: SheetRequest; settle: () => void }>;\n\nconst OverlayStackContext = createContext<OverlayStackApi | null>(null);\n\nexport function useOverlayStack(): OverlayStackApi {\n const value = useContext(OverlayStackContext);\n if (value === null) throw new Error(\"useOverlayStack must be used inside OverlayStackProvider\");\n return value;\n}\n\n/** Convenience wrappers so a call site reads as the thing it opens. */\nexport function useDialog(): OverlayStackApi[\"openDialog\"] {\n return useOverlayStack().openDialog;\n}\n\nexport function useSheet(): OverlayStackApi[\"openSheet\"] {\n return useOverlayStack().openSheet;\n}\n\n// No `layoutStyle`: a context provider with no box of its own.\nexport type OverlayStackProviderProps = Readonly<{ children: ReactNode }>;\n\nexport function OverlayStackProvider({ children }: OverlayStackProviderProps): ReactElement {\n const [entry, setEntry] = useState<Entry | null>(null);\n const [open, setOpen] = useState(false);\n const nextId = useRef(0);\n const activeEntry = useRef<Entry | null>(null);\n\n const openEntry = useCallback((kind: Entry[\"kind\"], request: DialogRequest | SheetRequest): OverlayHandle => {\n // Reject before React commits so two requests in one event cannot orphan a promise.\n if (activeEntry.current) throw new Error(\"Wait for the current overlay.closed before opening another overlay\");\n const id = (nextId.current += 1);\n let settle: () => void = () => undefined;\n const closed = new Promise<void>((resolve) => { settle = resolve; });\n const next = { kind, id, request, settle } as Entry;\n activeEntry.current = next;\n setEntry(next);\n setOpen(true);\n return {\n closed,\n close: () => { if (activeEntry.current?.id === id) setOpen(false); },\n };\n }, []);\n\n const api = useMemo<OverlayStackApi>(() => ({\n openDialog: (request) => openEntry(\"dialog\", request),\n openSheet: (request) => openEntry(\"sheet\", request),\n }), [openEntry]);\n\n // The promise resolves from the renderer's own completion signal, not from a\n // timer: that is the whole reason this layer exists.\n const complete = (completed: Entry, notify: () => void) => {\n if (activeEntry.current?.id !== completed.id) return;\n activeEntry.current = null;\n setEntry((current) => current?.id === completed.id ? null : current);\n // A consumer callback may open the next overlay or throw; either way this\n // session's completion promise must settle and must not clear its successor.\n try { notify(); } finally { completed.settle(); }\n };\n\n return (\n <OverlayStackContext.Provider value={api}>\n {children}\n {entry?.kind === \"dialog\" ? (\n <Dialog\n {...entry.request}\n key={entry.id}\n open={open}\n onOpenChange={(next) => setOpen(next)}\n onDismissComplete={(details) => complete(entry, () => entry.request.onDismissComplete?.(details))}\n />\n ) : null}\n {entry?.kind === \"sheet\" ? (\n <Sheet\n {...entry.request}\n key={entry.id}\n open={open}\n onOpenChange={(next) => setOpen(next)}\n onDismissComplete={(details) => complete(entry, () => entry.request.onDismissComplete?.(details))}\n />\n ) : null}\n </OverlayStackContext.Provider>\n );\n}\n"]}
|
package/dist/overlays.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../src/overlays.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../src/overlays.tsx"],"names":[],"mappings":"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"}
|
package/dist/overlays.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
3
|
import { InitialFocusProvider, useInitialFocusScope } from "./internal/initial-focus.js";
|
|
3
4
|
import { ScreenFooterContext } from "./internal/screen-footer.js";
|
|
@@ -175,8 +176,16 @@ export const AlertDialog = forwardRef(function AlertDialog({ trigger, request, c
|
|
|
175
176
|
session.interrupt();
|
|
176
177
|
sessionRef.current = null;
|
|
177
178
|
}, [open, sessionGeneration]);
|
|
178
|
-
useEffect(() =>
|
|
179
|
-
|
|
179
|
+
useEffect(() => {
|
|
180
|
+
// StrictMode replays mount effects after a simulated unmount whose cleanup interrupted the session created in
|
|
181
|
+
// render, so an AlertDialog mounted open could never confirm or cancel (BurnTok delayed its open by one task to
|
|
182
|
+
// avoid it, 2026-10-23). Only that replay finds an interrupted session while still open; replace it.
|
|
183
|
+
if (open && sessionRef.current?.getSnapshot().status === "closed")
|
|
184
|
+
startSession();
|
|
185
|
+
return () => {
|
|
186
|
+
sessionRef.current?.interrupt();
|
|
187
|
+
};
|
|
188
|
+
// Mount/unmount only: later opens create their session in render or through the trigger.
|
|
180
189
|
}, []);
|
|
181
190
|
const tone = request.tone ?? "attention";
|
|
182
191
|
return (_jsxs(_Fragment, { children: [trigger === undefined ? null : renderTrigger(trigger, triggerRef, open, contentId, "dialog", () => {
|