@neut/ui 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/calendar/Calendar/Calendar.d.ts +10 -0
- package/dist/components/calendar/Calendar/Calendar.js +306 -0
- package/dist/components/calendar/Calendar/Calendar.js.map +1 -0
- package/dist/components/calendar/Calendar/Calendar.types.d.ts +62 -0
- package/dist/components/calendar/Calendar/Calendar.utils.d.ts +21 -0
- package/dist/components/calendar/Calendar/Calendar.utils.js +68 -0
- package/dist/components/calendar/Calendar/Calendar.utils.js.map +1 -0
- package/dist/components/calendar/Calendar/index.d.ts +2 -0
- package/dist/components/calendar/index.d.ts +2 -0
- package/dist/components/calendar/index.js +2 -0
- package/dist/components/combobox/Combobox/Combobox.context.d.ts +3 -0
- package/dist/components/combobox/Combobox/Combobox.context.js +12 -0
- package/dist/components/combobox/Combobox/Combobox.context.js.map +1 -0
- package/dist/components/combobox/Combobox/Combobox.d.ts +3 -0
- package/dist/components/combobox/Combobox/Combobox.js +60 -0
- package/dist/components/combobox/Combobox/Combobox.js.map +1 -0
- package/dist/components/combobox/Combobox/Combobox.types.d.ts +40 -0
- package/dist/components/combobox/Combobox/index.d.ts +2 -0
- package/dist/components/combobox/ComboboxChip/ComboboxChip.d.ts +7 -0
- package/dist/components/combobox/ComboboxChip/ComboboxChip.js +35 -0
- package/dist/components/combobox/ComboboxChip/ComboboxChip.js.map +1 -0
- package/dist/components/combobox/ComboboxChip/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxChips/ComboboxChips.d.ts +5 -0
- package/dist/components/combobox/ComboboxChips/ComboboxChips.js +16 -0
- package/dist/components/combobox/ComboboxChips/ComboboxChips.js.map +1 -0
- package/dist/components/combobox/ComboboxChips/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.d.ts +4 -0
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js +27 -0
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js.map +1 -0
- package/dist/components/combobox/ComboboxChipsInput/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxClear/ComboboxClear.d.ts +4 -0
- package/dist/components/combobox/ComboboxClear/ComboboxClear.js +30 -0
- package/dist/components/combobox/ComboboxClear/ComboboxClear.js.map +1 -0
- package/dist/components/combobox/ComboboxClear/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxCollection/ComboboxCollection.d.ts +5 -0
- package/dist/components/combobox/ComboboxCollection/ComboboxCollection.js +20 -0
- package/dist/components/combobox/ComboboxCollection/ComboboxCollection.js.map +1 -0
- package/dist/components/combobox/ComboboxCollection/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxContent/ComboboxContent.d.ts +2 -0
- package/dist/components/combobox/ComboboxContent/ComboboxContent.js +49 -0
- package/dist/components/combobox/ComboboxContent/ComboboxContent.js.map +1 -0
- package/dist/components/combobox/ComboboxContent/ComboboxContent.types.d.ts +12 -0
- package/dist/components/combobox/ComboboxContent/ComboboxContent.utils.d.ts +2 -0
- package/dist/components/combobox/ComboboxContent/ComboboxContent.utils.js +6 -0
- package/dist/components/combobox/ComboboxContent/ComboboxContent.utils.js.map +1 -0
- package/dist/components/combobox/ComboboxContent/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxContent/useComboboxContent.d.ts +13 -0
- package/dist/components/combobox/ComboboxContent/useComboboxContent.js +48 -0
- package/dist/components/combobox/ComboboxContent/useComboboxContent.js.map +1 -0
- package/dist/components/combobox/ComboboxEmpty/ComboboxEmpty.d.ts +5 -0
- package/dist/components/combobox/ComboboxEmpty/ComboboxEmpty.js +14 -0
- package/dist/components/combobox/ComboboxEmpty/ComboboxEmpty.js.map +1 -0
- package/dist/components/combobox/ComboboxEmpty/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxGroup/ComboboxGroup.d.ts +5 -0
- package/dist/components/combobox/ComboboxGroup/ComboboxGroup.js +13 -0
- package/dist/components/combobox/ComboboxGroup/ComboboxGroup.js.map +1 -0
- package/dist/components/combobox/ComboboxGroup/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxInput/ComboboxInput.d.ts +9 -0
- package/dist/components/combobox/ComboboxInput/ComboboxInput.js +85 -0
- package/dist/components/combobox/ComboboxInput/ComboboxInput.js.map +1 -0
- package/dist/components/combobox/ComboboxInput/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxItem/ComboboxItem.d.ts +7 -0
- package/dist/components/combobox/ComboboxItem/ComboboxItem.js +40 -0
- package/dist/components/combobox/ComboboxItem/ComboboxItem.js.map +1 -0
- package/dist/components/combobox/ComboboxItem/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxLabel/ComboboxLabel.d.ts +5 -0
- package/dist/components/combobox/ComboboxLabel/ComboboxLabel.js +14 -0
- package/dist/components/combobox/ComboboxLabel/ComboboxLabel.js.map +1 -0
- package/dist/components/combobox/ComboboxLabel/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxList/ComboboxList.d.ts +5 -0
- package/dist/components/combobox/ComboboxList/ComboboxList.js +22 -0
- package/dist/components/combobox/ComboboxList/ComboboxList.js.map +1 -0
- package/dist/components/combobox/ComboboxList/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.d.ts +3 -0
- package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.js +14 -0
- package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.js.map +1 -0
- package/dist/components/combobox/ComboboxSeparator/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.d.ts +6 -0
- package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js +34 -0
- package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js.map +1 -0
- package/dist/components/combobox/ComboboxTrigger/index.d.ts +1 -0
- package/dist/components/combobox/ComboboxValue/ComboboxValue.d.ts +5 -0
- package/dist/components/combobox/ComboboxValue/ComboboxValue.js +15 -0
- package/dist/components/combobox/ComboboxValue/ComboboxValue.js.map +1 -0
- package/dist/components/combobox/ComboboxValue/index.d.ts +1 -0
- package/dist/components/combobox/index.d.ts +18 -0
- package/dist/components/combobox/index.js +18 -0
- package/dist/components/combobox/useComboboxAnchor/index.d.ts +1 -0
- package/dist/components/combobox/useComboboxAnchor/useComboboxAnchor.d.ts +1 -0
- package/dist/components/combobox/useComboboxAnchor/useComboboxAnchor.js +9 -0
- package/dist/components/combobox/useComboboxAnchor/useComboboxAnchor.js.map +1 -0
- package/dist/components/date-picker/DatePicker/DatePicker.d.ts +11 -0
- package/dist/components/date-picker/DatePicker/DatePicker.js +136 -0
- package/dist/components/date-picker/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/date-picker/DatePicker/DatePicker.types.d.ts +32 -0
- package/dist/components/date-picker/DatePicker/index.d.ts +2 -0
- package/dist/components/date-picker/index.d.ts +2 -0
- package/dist/components/date-picker/index.js +2 -0
- package/dist/components/dialog/Dialog/Dialog.context.d.ts +2 -1
- package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.js +21 -12
- package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.types.d.ts +13 -1
- package/dist/components/dialog/Dialog/index.d.ts +1 -0
- package/dist/components/dialog/DialogTrigger/DialogTrigger.d.ts +4 -2
- package/dist/components/dialog/DialogTrigger/DialogTrigger.js +27 -6
- package/dist/components/dialog/DialogTrigger/DialogTrigger.js.map +1 -1
- package/dist/components/dialog/DialogTrigger/DialogTrigger.types.d.ts +3 -0
- package/dist/components/dialog/DialogTrigger/index.d.ts +3 -0
- package/dist/components/dialog/DialogTrigger/useDialogTrigger.d.ts +13 -2
- package/dist/components/dialog/DialogTrigger/useDialogTrigger.js +15 -19
- package/dist/components/dialog/DialogTrigger/useDialogTrigger.js.map +1 -1
- package/dist/components/dialog/index.js +3 -2
- package/dist/components/empty/Empty/Empty.d.ts +2 -0
- package/dist/components/empty/Empty/Empty.js +18 -0
- package/dist/components/empty/Empty/Empty.js.map +1 -0
- package/dist/components/empty/Empty/index.d.ts +1 -0
- package/dist/components/empty/EmptyContent/EmptyContent.d.ts +2 -0
- package/dist/components/empty/EmptyContent/EmptyContent.js +18 -0
- package/dist/components/empty/EmptyContent/EmptyContent.js.map +1 -0
- package/dist/components/empty/EmptyContent/index.d.ts +1 -0
- package/dist/components/empty/EmptyDescription/EmptyDescription.d.ts +2 -0
- package/dist/components/empty/EmptyDescription/EmptyDescription.js +18 -0
- package/dist/components/empty/EmptyDescription/EmptyDescription.js.map +1 -0
- package/dist/components/empty/EmptyDescription/index.d.ts +1 -0
- package/dist/components/empty/EmptyHeader/EmptyHeader.d.ts +2 -0
- package/dist/components/empty/EmptyHeader/EmptyHeader.js +18 -0
- package/dist/components/empty/EmptyHeader/EmptyHeader.js.map +1 -0
- package/dist/components/empty/EmptyHeader/index.d.ts +1 -0
- package/dist/components/empty/EmptyMedia/EmptyMedia.d.ts +4 -0
- package/dist/components/empty/EmptyMedia/EmptyMedia.js +27 -0
- package/dist/components/empty/EmptyMedia/EmptyMedia.js.map +1 -0
- package/dist/components/empty/EmptyMedia/EmptyMedia.styles.d.ts +3 -0
- package/dist/components/empty/EmptyMedia/EmptyMedia.styles.js +13 -0
- package/dist/components/empty/EmptyMedia/EmptyMedia.styles.js.map +1 -0
- package/dist/components/empty/EmptyMedia/EmptyMedia.types.d.ts +3 -0
- package/dist/components/empty/EmptyMedia/index.d.ts +2 -0
- package/dist/components/empty/EmptyTitle/EmptyTitle.d.ts +2 -0
- package/dist/components/empty/EmptyTitle/EmptyTitle.js +18 -0
- package/dist/components/empty/EmptyTitle/EmptyTitle.js.map +1 -0
- package/dist/components/empty/EmptyTitle/index.d.ts +1 -0
- package/dist/components/empty/index.d.ts +7 -0
- package/dist/components/empty/index.js +7 -0
- package/dist/components/image/Image.utils.js.map +1 -1
- package/dist/components/popover/Popover/Popover.context.d.ts +3 -0
- package/dist/components/popover/Popover/Popover.context.js +12 -0
- package/dist/components/popover/Popover/Popover.context.js.map +1 -0
- package/dist/components/popover/Popover/Popover.d.ts +18 -0
- package/dist/components/popover/Popover/Popover.js +37 -0
- package/dist/components/popover/Popover/Popover.js.map +1 -0
- package/dist/components/popover/Popover/Popover.types.d.ts +24 -0
- package/dist/components/popover/Popover/index.d.ts +3 -0
- package/dist/components/popover/PopoverContent/PopoverContent.d.ts +6 -0
- package/dist/components/popover/PopoverContent/PopoverContent.js +72 -0
- package/dist/components/popover/PopoverContent/PopoverContent.js.map +1 -0
- package/dist/components/popover/PopoverContent/PopoverContent.types.d.ts +16 -0
- package/dist/components/popover/PopoverContent/PopoverContent.utils.d.ts +20 -0
- package/dist/components/popover/PopoverContent/PopoverContent.utils.js +36 -0
- package/dist/components/popover/PopoverContent/PopoverContent.utils.js.map +1 -0
- package/dist/components/popover/PopoverContent/index.d.ts +6 -0
- package/dist/components/popover/PopoverContent/usePopoverContent.d.ts +11 -0
- package/dist/components/popover/PopoverContent/usePopoverContent.js +42 -0
- package/dist/components/popover/PopoverContent/usePopoverContent.js.map +1 -0
- package/dist/components/popover/PopoverDescription/PopoverDescription.d.ts +2 -0
- package/dist/components/popover/PopoverDescription/PopoverDescription.js +18 -0
- package/dist/components/popover/PopoverDescription/PopoverDescription.js.map +1 -0
- package/dist/components/popover/PopoverDescription/index.d.ts +1 -0
- package/dist/components/popover/PopoverHeader/PopoverHeader.d.ts +2 -0
- package/dist/components/popover/PopoverHeader/PopoverHeader.js +18 -0
- package/dist/components/popover/PopoverHeader/PopoverHeader.js.map +1 -0
- package/dist/components/popover/PopoverHeader/index.d.ts +1 -0
- package/dist/components/popover/PopoverTitle/PopoverTitle.d.ts +2 -0
- package/dist/components/popover/PopoverTitle/PopoverTitle.js +18 -0
- package/dist/components/popover/PopoverTitle/PopoverTitle.js.map +1 -0
- package/dist/components/popover/PopoverTitle/index.d.ts +1 -0
- package/dist/components/popover/PopoverTrigger/PopoverTrigger.d.ts +4 -0
- package/dist/components/popover/PopoverTrigger/PopoverTrigger.js +35 -0
- package/dist/components/popover/PopoverTrigger/PopoverTrigger.js.map +1 -0
- package/dist/components/popover/PopoverTrigger/PopoverTrigger.types.d.ts +3 -0
- package/dist/components/popover/PopoverTrigger/index.d.ts +4 -0
- package/dist/components/popover/PopoverTrigger/usePopoverTrigger.d.ts +14 -0
- package/dist/components/popover/PopoverTrigger/usePopoverTrigger.js +35 -0
- package/dist/components/popover/PopoverTrigger/usePopoverTrigger.js.map +1 -0
- package/dist/components/popover/index.d.ts +9 -0
- package/dist/components/popover/index.js +7 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.context.d.ts +3 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.context.js +12 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.context.js.map +1 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.d.ts +15 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.js +56 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.types.d.ts +22 -0
- package/dist/components/radio-group/RadioGroup/index.d.ts +3 -0
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.d.ts +6 -0
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js +80 -0
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js.map +1 -0
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.types.d.ts +9 -0
- package/dist/components/radio-group/RadioGroupItem/index.d.ts +2 -0
- package/dist/components/radio-group/index.d.ts +4 -0
- package/dist/components/radio-group/index.js +3 -0
- package/dist/components/select/Select/Select.context.d.ts +3 -3
- package/dist/components/select/Select/Select.context.js.map +1 -1
- package/dist/components/select/Select/Select.d.ts +5 -2
- package/dist/components/select/Select/Select.js +1 -1
- package/dist/components/select/Select/Select.js.map +1 -1
- package/dist/components/select/Select/Select.types.d.ts +19 -15
- package/dist/components/select/Select/index.d.ts +1 -1
- package/dist/components/select/SelectContent/SelectContent.js +2 -2
- package/dist/components/select/SelectContent/SelectContent.js.map +1 -1
- package/dist/components/select/SelectContent/SelectContent.utils.d.ts +2 -1
- package/dist/components/select/SelectContent/SelectContent.utils.js +2 -2
- package/dist/components/select/SelectContent/SelectContent.utils.js.map +1 -1
- package/dist/components/select/SelectContent/useSelectContent.js +6 -2
- package/dist/components/select/SelectContent/useSelectContent.js.map +1 -1
- package/dist/components/select/SelectItem/SelectItem.js +1 -1
- package/dist/components/select/SelectItem/SelectItem.js.map +1 -1
- package/dist/components/select/SelectItem/SelectItem.types.d.ts +3 -2
- package/dist/components/select/SelectItem/useSelectItem.d.ts +2 -1
- package/dist/components/select/SelectItem/useSelectItem.js +1 -1
- package/dist/components/select/SelectItem/useSelectItem.js.map +1 -1
- package/dist/components/select/SelectValue/SelectValue.js +1 -1
- package/dist/components/select/SelectValue/SelectValue.js.map +1 -1
- package/dist/components/toast/Toast/Toast.d.ts +3 -0
- package/dist/components/toast/Toast/Toast.js +181 -0
- package/dist/components/toast/Toast/Toast.js.map +1 -0
- package/dist/components/toast/Toast/Toast.styles.d.ts +6 -0
- package/dist/components/toast/Toast/Toast.styles.js +27 -0
- package/dist/components/toast/Toast/Toast.styles.js.map +1 -0
- package/dist/components/toast/Toast/Toast.types.d.ts +90 -0
- package/dist/components/toast/Toast/Toast.types.js +6 -0
- package/dist/components/toast/Toast/Toast.types.js.map +1 -0
- package/dist/components/toast/Toast/index.d.ts +2 -0
- package/dist/components/toast/{components → Toaster}/Toaster.d.ts +1 -1
- package/dist/components/toast/Toaster/Toaster.js +102 -0
- package/dist/components/toast/Toaster/Toaster.js.map +1 -0
- package/dist/components/toast/Toaster/Toaster.styles.d.ts +1 -0
- package/dist/components/toast/Toaster/Toaster.styles.js +6 -0
- package/dist/components/toast/Toaster/Toaster.styles.js.map +1 -0
- package/dist/components/toast/Toaster/Toaster.types.d.ts +44 -0
- package/dist/components/toast/Toaster/Toaster.utils.d.ts +7 -0
- package/dist/components/toast/Toaster/Toaster.utils.js +33 -0
- package/dist/components/toast/Toaster/Toaster.utils.js.map +1 -0
- package/dist/components/toast/Toaster/index.d.ts +3 -0
- package/dist/components/toast/index.d.ts +5 -10
- package/dist/components/toast/index.js +4 -5
- package/dist/components/toast/state/index.d.ts +1 -0
- package/dist/components/toast/state/toast.d.ts +24 -0
- package/dist/components/toast/state/toast.js +116 -0
- package/dist/components/toast/state/toast.js.map +1 -0
- package/dist/components/toggle/Toggle/Toggle.d.ts +3 -0
- package/dist/components/toggle/Toggle/Toggle.js +49 -0
- package/dist/components/toggle/Toggle/Toggle.js.map +1 -0
- package/dist/components/toggle/Toggle/Toggle.styles.d.ts +4 -0
- package/dist/components/toggle/Toggle/Toggle.styles.js +23 -0
- package/dist/components/toggle/Toggle/Toggle.styles.js.map +1 -0
- package/dist/components/toggle/Toggle/Toggle.types.d.ts +12 -0
- package/dist/components/toggle/Toggle/index.d.ts +3 -0
- package/dist/components/toggle/index.d.ts +2 -0
- package/dist/components/toggle/index.js +3 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.d.ts +36 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.js +40 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.js.map +1 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.d.ts +18 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js +94 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js.map +1 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.styles.d.ts +8 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.styles.js +7 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.styles.js.map +1 -0
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.types.d.ts +104 -0
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.d.ts +8 -0
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js +25 -0
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js.map +1 -0
- package/dist/components/toggle-group/ToggleGroup/index.d.ts +3 -0
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.d.ts +17 -0
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js +47 -0
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js.map +1 -0
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.d.ts +11 -0
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js +88 -0
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js.map +1 -0
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.styles.d.ts +12 -0
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.styles.js +7 -0
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.styles.js.map +1 -0
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.types.d.ts +20 -0
- package/dist/components/toggle-group/ToggleGroupItem/index.d.ts +2 -0
- package/dist/components/toggle-group/call-event-handler.d.ts +5 -0
- package/dist/components/toggle-group/call-event-handler.js +9 -0
- package/dist/components/toggle-group/call-event-handler.js.map +1 -0
- package/dist/components/toggle-group/index.d.ts +4 -0
- package/dist/components/toggle-group/index.js +3 -0
- package/dist/components/tooltip/Tooltip/Tooltip.js +51 -50
- package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +3 -28
- package/dist/components/tooltip/TooltipArrow/TooltipArrow.js +13 -45
- package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.context.d.ts +2 -0
- package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.js +2 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.types.d.ts +3 -2
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +2 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +8 -4
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js +20 -19
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.d.ts +3 -0
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.js +10 -0
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.js.map +1 -0
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.d.ts +3 -0
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.js +20 -0
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.js.map +1 -0
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.types.d.ts +11 -0
- package/dist/components/tooltip/TooltipProvider/index.d.ts +3 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/index.js +7 -6
- package/dist/index.d.ts +8 -0
- package/dist/index.js +153 -115
- package/dist/ui.css +1 -1
- package/package.json +7 -6
- package/dist/components/toast/components/Assets.d.ts +0 -9
- package/dist/components/toast/components/Assets.js +0 -32
- package/dist/components/toast/components/Assets.js.map +0 -1
- package/dist/components/toast/components/Toast.d.ts +0 -3
- package/dist/components/toast/components/Toast.js +0 -152
- package/dist/components/toast/components/Toast.js.map +0 -1
- package/dist/components/toast/components/ToastActions.d.ts +0 -12
- package/dist/components/toast/components/ToastActions.js +0 -62
- package/dist/components/toast/components/ToastActions.js.map +0 -1
- package/dist/components/toast/components/ToastContent.d.ts +0 -9
- package/dist/components/toast/components/ToastContent.js +0 -36
- package/dist/components/toast/components/ToastContent.js.map +0 -1
- package/dist/components/toast/components/ToastIcon.d.ts +0 -9
- package/dist/components/toast/components/ToastIcon.js +0 -59
- package/dist/components/toast/components/ToastIcon.js.map +0 -1
- package/dist/components/toast/components/Toaster.js +0 -163
- package/dist/components/toast/components/Toaster.js.map +0 -1
- package/dist/components/toast/constants.d.ts +0 -16
- package/dist/components/toast/constants.js +0 -6
- package/dist/components/toast/constants.js.map +0 -1
- package/dist/components/toast/hooks/useSwipe.d.ts +0 -23
- package/dist/components/toast/hooks/useSwipe.js +0 -59
- package/dist/components/toast/hooks/useSwipe.js.map +0 -1
- package/dist/components/toast/hooks/useTheme.d.ts +0 -2
- package/dist/components/toast/hooks/useTheme.js +0 -22
- package/dist/components/toast/hooks/useTheme.js.map +0 -1
- package/dist/components/toast/hooks/useToastHeight.d.ts +0 -11
- package/dist/components/toast/hooks/useToastHeight.js +0 -35
- package/dist/components/toast/hooks/useToastHeight.js.map +0 -1
- package/dist/components/toast/hooks/useToastSubscription.d.ts +0 -5
- package/dist/components/toast/hooks/useToastSubscription.js +0 -38
- package/dist/components/toast/hooks/useToastSubscription.js.map +0 -1
- package/dist/components/toast/hooks/useToastTimer.d.ts +0 -11
- package/dist/components/toast/hooks/useToastTimer.js +0 -22
- package/dist/components/toast/hooks/useToastTimer.js.map +0 -1
- package/dist/components/toast/hooks/useToasterKeyboard.d.ts +0 -7
- package/dist/components/toast/hooks/useToasterKeyboard.js +0 -14
- package/dist/components/toast/hooks/useToasterKeyboard.js.map +0 -1
- package/dist/components/toast/hooks.d.ts +0 -13
- package/dist/components/toast/hooks.js +0 -37
- package/dist/components/toast/hooks.js.map +0 -1
- package/dist/components/toast/state.d.ts +0 -52
- package/dist/components/toast/state.js +0 -170
- package/dist/components/toast/state.js.map +0 -1
- package/dist/components/toast/types.d.ts +0 -168
- package/dist/components/toast/types.js +0 -6
- package/dist/components/toast/types.js.map +0 -1
- package/dist/components/toast/utils.d.ts +0 -10
- package/dist/components/toast/utils.js +0 -39
- package/dist/components/toast/utils.js.map +0 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { JSX, JSXElement } from 'solid-js';
|
|
2
|
+
export type ToastTypes = "success" | "info" | "warning" | "error" | "loading" | "default";
|
|
3
|
+
export type Position = "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-center" | "bottom-center";
|
|
4
|
+
export type Theme = "light" | "dark";
|
|
5
|
+
export type SwipeDirection = "top" | "right" | "bottom" | "left";
|
|
6
|
+
export interface Action {
|
|
7
|
+
label: JSXElement;
|
|
8
|
+
onClick: JSX.EventHandler<HTMLButtonElement, MouseEvent>;
|
|
9
|
+
actionButtonStyle?: JSX.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
export interface ToastIcons {
|
|
12
|
+
success?: JSXElement;
|
|
13
|
+
info?: JSXElement;
|
|
14
|
+
warning?: JSXElement;
|
|
15
|
+
error?: JSXElement;
|
|
16
|
+
loading?: JSXElement;
|
|
17
|
+
close?: JSXElement;
|
|
18
|
+
}
|
|
19
|
+
export interface ToastClassnames {
|
|
20
|
+
toast?: string;
|
|
21
|
+
title?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
loader?: string;
|
|
24
|
+
cancelButton?: string;
|
|
25
|
+
actionButton?: string;
|
|
26
|
+
closeButton?: string;
|
|
27
|
+
success?: string;
|
|
28
|
+
error?: string;
|
|
29
|
+
info?: string;
|
|
30
|
+
warning?: string;
|
|
31
|
+
loading?: string;
|
|
32
|
+
default?: string;
|
|
33
|
+
content?: string;
|
|
34
|
+
icon?: string;
|
|
35
|
+
}
|
|
36
|
+
export type PromiseT<Data = any> = Promise<Data> | (() => Promise<Data>);
|
|
37
|
+
export type PromiseTResult<Data = any> = string | JSXElement | ((data: Data) => JSXElement | string | Promise<JSXElement | string>);
|
|
38
|
+
export interface PromiseData<ToastData = any> {
|
|
39
|
+
loading?: string | JSXElement;
|
|
40
|
+
success?: PromiseTResult<ToastData>;
|
|
41
|
+
error?: PromiseTResult;
|
|
42
|
+
description?: PromiseTResult;
|
|
43
|
+
finally?: () => void | Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export interface ToastT {
|
|
46
|
+
id: string;
|
|
47
|
+
toasterId?: string;
|
|
48
|
+
title?: JSXElement | (() => JSXElement);
|
|
49
|
+
description?: JSXElement | (() => JSXElement);
|
|
50
|
+
type?: ToastTypes;
|
|
51
|
+
icon?: JSXElement;
|
|
52
|
+
jsx?: JSXElement;
|
|
53
|
+
richColors?: boolean;
|
|
54
|
+
invert?: boolean;
|
|
55
|
+
closeButton?: boolean;
|
|
56
|
+
dismissible?: boolean;
|
|
57
|
+
duration?: number;
|
|
58
|
+
delete?: boolean;
|
|
59
|
+
action?: Action | JSXElement;
|
|
60
|
+
cancel?: Action | JSXElement;
|
|
61
|
+
onDismiss?: (toast: ToastT) => void;
|
|
62
|
+
onAutoClose?: (toast: ToastT) => void;
|
|
63
|
+
promise?: PromiseT;
|
|
64
|
+
style?: JSX.CSSProperties;
|
|
65
|
+
class?: string;
|
|
66
|
+
classes?: ToastClassnames;
|
|
67
|
+
descriptionClass?: string;
|
|
68
|
+
position?: Position;
|
|
69
|
+
testId?: string;
|
|
70
|
+
}
|
|
71
|
+
export type ExternalToast = Omit<ToastT, "id" | "type" | "title" | "jsx" | "delete" | "promise"> & {
|
|
72
|
+
id?: string;
|
|
73
|
+
toasterId?: string;
|
|
74
|
+
};
|
|
75
|
+
export interface ToastProps {
|
|
76
|
+
toast: ToastT;
|
|
77
|
+
closeButton: boolean;
|
|
78
|
+
duration?: number;
|
|
79
|
+
class?: string;
|
|
80
|
+
icons?: ToastIcons;
|
|
81
|
+
closeButtonAriaLabel?: string;
|
|
82
|
+
defaultRichColors?: boolean;
|
|
83
|
+
onRemove: (id: string) => void;
|
|
84
|
+
index: number;
|
|
85
|
+
total: number;
|
|
86
|
+
expanded: boolean;
|
|
87
|
+
position: Position;
|
|
88
|
+
gap: number;
|
|
89
|
+
}
|
|
90
|
+
export declare const isAction: (action: Action | JSXElement) => action is Action;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.types.js","names":[],"sources":["../../../../src/components/toast/Toast/Toast.types.ts"],"sourcesContent":["import type { JSX, JSXElement } from \"solid-js\";\n\nexport type ToastTypes =\n | \"success\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"loading\"\n | \"default\";\n\nexport type Position =\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-center\"\n | \"bottom-center\";\n\nexport type Theme = \"light\" | \"dark\";\nexport type SwipeDirection = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface Action {\n label: JSXElement;\n onClick: JSX.EventHandler<HTMLButtonElement, MouseEvent>;\n actionButtonStyle?: JSX.CSSProperties;\n}\n\nexport interface ToastIcons {\n success?: JSXElement;\n info?: JSXElement;\n warning?: JSXElement;\n error?: JSXElement;\n loading?: JSXElement;\n close?: JSXElement;\n}\n\nexport interface ToastClassnames {\n toast?: string;\n title?: string;\n description?: string;\n loader?: string;\n cancelButton?: string;\n actionButton?: string;\n closeButton?: string;\n success?: string;\n error?: string;\n info?: string;\n warning?: string;\n loading?: string;\n default?: string;\n content?: string;\n icon?: string;\n}\n\nexport type PromiseT<Data = any> = Promise<Data> | (() => Promise<Data>);\n\nexport type PromiseTResult<Data = any> =\n | string\n | JSXElement\n | ((data: Data) => JSXElement | string | Promise<JSXElement | string>);\n\nexport interface PromiseData<ToastData = any> {\n loading?: string | JSXElement;\n success?: PromiseTResult<ToastData>;\n error?: PromiseTResult;\n description?: PromiseTResult;\n finally?: () => void | Promise<void>;\n}\n\nexport interface ToastT {\n id: string;\n toasterId?: string;\n title?: JSXElement | (() => JSXElement);\n description?: JSXElement | (() => JSXElement);\n type?: ToastTypes;\n icon?: JSXElement;\n jsx?: JSXElement;\n richColors?: boolean;\n invert?: boolean;\n closeButton?: boolean;\n dismissible?: boolean;\n duration?: number;\n delete?: boolean;\n action?: Action | JSXElement;\n cancel?: Action | JSXElement;\n onDismiss?: (toast: ToastT) => void;\n onAutoClose?: (toast: ToastT) => void;\n promise?: PromiseT;\n style?: JSX.CSSProperties;\n class?: string;\n classes?: ToastClassnames;\n descriptionClass?: string;\n position?: Position;\n testId?: string;\n}\n\nexport type ExternalToast = Omit<\n ToastT,\n \"id\" | \"type\" | \"title\" | \"jsx\" | \"delete\" | \"promise\"\n> & {\n id?: string;\n toasterId?: string;\n};\n\nexport interface ToastProps {\n toast: ToastT;\n closeButton: boolean;\n duration?: number;\n class?: string;\n icons?: ToastIcons;\n closeButtonAriaLabel?: string;\n defaultRichColors?: boolean;\n onRemove: (id: string) => void;\n index: number;\n total: number;\n expanded: boolean;\n position: Position;\n gap: number;\n}\n\nexport const isAction = (action: Action | JSXElement): action is Action => {\n return (action as Action)?.label !== undefined;\n};\n"],"mappings":";AAwHA,IAAa,KAAY,MACf,GAAmB,UAAU,KAAA"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { Toast as t } from "../Toast/Toast.js";
|
|
3
|
+
import { removeToast as n, useSonner as r } from "../state/toast.js";
|
|
4
|
+
import { toasterContainerClass as i } from "./Toaster.styles.js";
|
|
5
|
+
import { getDocumentDirection as a, getPositionClass as o, resolveOffsetStyle as s } from "./Toaster.utils.js";
|
|
6
|
+
import { Portal as c, className as l, createComponent as u, effect as d, insert as f, setAttribute as p, style as m, template as h } from "solid-js/web";
|
|
7
|
+
import { For as g, Show as _, createMemo as v, createSignal as y, mergeProps as b, onCleanup as x, onMount as S } from "solid-js";
|
|
8
|
+
//#region src/components/toast/Toaster/Toaster.tsx
|
|
9
|
+
var C = /*#__PURE__*/ h("<div data-slot=toaster>"), w = /*#__PURE__*/ h("<ol data-slot=toaster-viewport aria-live=polite aria-relevant=\"additions text\"aria-atomic=false tabindex=-1>"), T = (h) => {
|
|
10
|
+
let T = b({
|
|
11
|
+
position: "bottom-right",
|
|
12
|
+
gap: 14,
|
|
13
|
+
visibleToasts: 3,
|
|
14
|
+
dir: a(),
|
|
15
|
+
containerAriaLabel: "Notifications",
|
|
16
|
+
hotkey: ["altKey", "KeyT"]
|
|
17
|
+
}, h), { toasts: E } = r(), [D, O] = y(!1), k = v(() => {
|
|
18
|
+
let e = T.id;
|
|
19
|
+
return e ? E.filter((t) => t.toasterId === e) : E.filter((e) => !e.toasterId);
|
|
20
|
+
}), A = v(() => Array.from(new Set([T.position].concat(k().filter((e) => e.position).map((e) => e.position))))), j = (e) => k().filter((t) => t.position ? t.position === e : e === T.position), M = (e) => {
|
|
21
|
+
let t = j(e);
|
|
22
|
+
return T.expand ? t : t.slice(0, T.visibleToasts);
|
|
23
|
+
};
|
|
24
|
+
S(() => {
|
|
25
|
+
let e = (e) => {
|
|
26
|
+
T.hotkey.length > 0 && T.hotkey.every((t) => e[t] || e.code === t) && O(!0), e.code === "Escape" && O(!1);
|
|
27
|
+
};
|
|
28
|
+
document.addEventListener("keydown", e), x(() => document.removeEventListener("keydown", e));
|
|
29
|
+
});
|
|
30
|
+
let N = (e) => s(e, T.offset, T.mobileOffset);
|
|
31
|
+
return u(c, { get children() {
|
|
32
|
+
var r = C();
|
|
33
|
+
return f(r, u(g, {
|
|
34
|
+
get each() {
|
|
35
|
+
return A();
|
|
36
|
+
},
|
|
37
|
+
children: (r) => u(_, {
|
|
38
|
+
get when() {
|
|
39
|
+
return M(r).length > 0;
|
|
40
|
+
},
|
|
41
|
+
get children() {
|
|
42
|
+
var a = w();
|
|
43
|
+
return a.addEventListener("mouseleave", () => O(!1)), a.addEventListener("mouseenter", () => O(!0)), p(a, "data-position", r), f(a, u(g, {
|
|
44
|
+
get each() {
|
|
45
|
+
return M(r);
|
|
46
|
+
},
|
|
47
|
+
children: (e, i) => u(t, {
|
|
48
|
+
toast: e,
|
|
49
|
+
get index() {
|
|
50
|
+
return i();
|
|
51
|
+
},
|
|
52
|
+
get total() {
|
|
53
|
+
return M(r).length;
|
|
54
|
+
},
|
|
55
|
+
get expanded() {
|
|
56
|
+
return D();
|
|
57
|
+
},
|
|
58
|
+
position: r,
|
|
59
|
+
get gap() {
|
|
60
|
+
return T.gap;
|
|
61
|
+
},
|
|
62
|
+
get closeButton() {
|
|
63
|
+
return e.closeButton ?? T.toastOptions?.closeButton ?? T.closeButton ?? !1;
|
|
64
|
+
},
|
|
65
|
+
get duration() {
|
|
66
|
+
return T.toastOptions?.duration ?? T.duration;
|
|
67
|
+
},
|
|
68
|
+
get class() {
|
|
69
|
+
return T.toastOptions?.class;
|
|
70
|
+
},
|
|
71
|
+
get icons() {
|
|
72
|
+
return T.icons;
|
|
73
|
+
},
|
|
74
|
+
get closeButtonAriaLabel() {
|
|
75
|
+
return T.toastOptions?.closeButtonAriaLabel;
|
|
76
|
+
},
|
|
77
|
+
get defaultRichColors() {
|
|
78
|
+
return T.richColors;
|
|
79
|
+
},
|
|
80
|
+
onRemove: n
|
|
81
|
+
})
|
|
82
|
+
})), d((t) => {
|
|
83
|
+
var n = T.customAriaLabel ?? T.containerAriaLabel, s = e(i, o(r), D() ? r.startsWith("top") ? "flex flex-col" : "flex flex-col-reverse" : "grid"), c = {
|
|
84
|
+
gap: `${T.gap}px`,
|
|
85
|
+
...N(r),
|
|
86
|
+
...T.style
|
|
87
|
+
};
|
|
88
|
+
return n !== t.e && p(a, "aria-label", t.e = n), s !== t.t && l(a, t.t = s), t.a = m(a, c, t.a), t;
|
|
89
|
+
}, {
|
|
90
|
+
e: void 0,
|
|
91
|
+
t: void 0,
|
|
92
|
+
a: void 0
|
|
93
|
+
}), a;
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
})), d(() => p(r, "dir", T.dir === "auto" ? a() : T.dir)), r;
|
|
97
|
+
} });
|
|
98
|
+
};
|
|
99
|
+
//#endregion
|
|
100
|
+
export { T as Toaster };
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=Toaster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toaster.js","names":["For","createMemo","createSignal","mergeProps","onCleanup","onMount","Show","Component","Portal","clsx","Toast","Position","ToastT","removeToast","useSonner","ToasterProps","toasterContainerClass","getDocumentDirection","getPositionClass","resolveOffsetStyle","Toaster","props","merged","position","gap","visibleToasts","dir","containerAriaLabel","hotkey","const","toasts","expanded","setExpanded","filteredToasts","id","filter","toast","toasterId","possiblePositions","Array","from","Set","concat","map","toastsForPosition","visibleToastsForPosition","list","expand","slice","onKeyDown","e","KeyboardEvent","hotkeyPressed","length","every","key","code","document","addEventListener","removeEventListener","offsetStyle","offset","mobileOffset","_$createComponent","children","_el$","_tmpl$","_$insert","each","when","_el$2","_tmpl$2","_$setAttribute","index","total","closeButton","toastOptions","duration","class","icons","closeButtonAriaLabel","defaultRichColors","richColors","onRemove","_$effect","_p$","_v$","customAriaLabel","_v$2","startsWith","_v$3","style","Record","t","_$className","a","_$style","undefined"],"sources":["../../../../src/components/toast/Toaster/Toaster.tsx"],"sourcesContent":["import {\n For,\n createMemo,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n Show,\n type Component,\n} from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { clsx } from \"~/utils\";\nimport { Toast } from \"../Toast\";\nimport type { Position, ToastT } from \"../Toast/Toast.types\";\nimport { removeToast, useSonner } from \"../state/toast\";\nimport type { ToasterProps } from \"./Toaster.types\";\nimport { toasterContainerClass } from \"./Toaster.styles\";\nimport {\n getDocumentDirection,\n getPositionClass,\n resolveOffsetStyle,\n} from \"./Toaster.utils\";\n\nexport const Toaster: Component<ToasterProps> = (props) => {\n const merged = mergeProps(\n {\n position: \"bottom-right\",\n gap: 14,\n visibleToasts: 3,\n dir: getDocumentDirection(),\n containerAriaLabel: \"Notifications\",\n hotkey: [\"altKey\", \"KeyT\"] as string[],\n } as const,\n props,\n );\n\n const { toasts } = useSonner();\n const [expanded, setExpanded] = createSignal(false);\n\n const filteredToasts = createMemo(() => {\n const id = merged.id;\n return id\n ? toasts.filter((toast) => toast.toasterId === id)\n : toasts.filter((toast) => !toast.toasterId);\n });\n\n const possiblePositions = createMemo(() =>\n Array.from(\n new Set(\n [merged.position].concat(\n filteredToasts()\n .filter((toast) => toast.position)\n .map((toast) => toast.position as Position),\n ),\n ),\n ),\n );\n\n const toastsForPosition = (position: Position) =>\n filteredToasts().filter((toast) => {\n if (toast.position) return toast.position === position;\n return position === merged.position;\n });\n\n const visibleToastsForPosition = (position: Position) => {\n const list = toastsForPosition(position);\n if (merged.expand) return list;\n return list.slice(0, merged.visibleToasts);\n };\n\n onMount(() => {\n const onKeyDown = (e: KeyboardEvent) => {\n const hotkeyPressed =\n merged.hotkey.length > 0 &&\n merged.hotkey.every((key) => (e as any)[key] || e.code === key);\n if (hotkeyPressed) setExpanded(true);\n if (e.code === \"Escape\") setExpanded(false);\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const offsetStyle = (position: Position) =>\n resolveOffsetStyle(position, merged.offset, merged.mobileOffset);\n\n return (\n <Portal>\n <div\n data-slot=\"toaster\"\n dir={merged.dir === \"auto\" ? getDocumentDirection() : merged.dir}\n >\n <For each={possiblePositions()}>\n {(position) => (\n <Show when={visibleToastsForPosition(position).length > 0}>\n <ol\n data-slot=\"toaster-viewport\"\n data-position={position}\n aria-live=\"polite\"\n aria-relevant=\"additions text\"\n aria-atomic=\"false\"\n aria-label={merged.customAriaLabel ?? merged.containerAriaLabel}\n tabIndex={-1}\n class={clsx(\n toasterContainerClass,\n getPositionClass(position),\n expanded()\n ? position.startsWith(\"top\")\n ? \"flex flex-col\"\n : \"flex flex-col-reverse\"\n : \"grid\",\n )}\n style={{\n gap: `${merged.gap}px`,\n ...offsetStyle(position),\n ...(merged.style as Record<string, string | number>),\n }}\n onMouseEnter={() => setExpanded(true)}\n onMouseLeave={() => setExpanded(false)}\n >\n <For each={visibleToastsForPosition(position)}>\n {(toast: ToastT, index) => (\n <Toast\n toast={toast}\n index={index()}\n total={visibleToastsForPosition(position).length}\n expanded={expanded()}\n position={position}\n gap={merged.gap}\n closeButton={\n toast.closeButton ??\n merged.toastOptions?.closeButton ??\n merged.closeButton ??\n false\n }\n duration={\n merged.toastOptions?.duration ?? merged.duration\n }\n class={merged.toastOptions?.class}\n icons={merged.icons}\n closeButtonAriaLabel={\n merged.toastOptions?.closeButtonAriaLabel\n }\n defaultRichColors={merged.richColors}\n onRemove={removeToast}\n />\n )}\n </For>\n </ol>\n </Show>\n )}\n </For>\n </div>\n </Portal>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const toasterContainerClass = "fixed z-100 w-[356px] max-w-[calc(100vw-2rem)]";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toaster.styles.js","names":[],"sources":["../../../../src/components/toast/Toaster/Toaster.styles.ts"],"sourcesContent":["export const toasterContainerClass =\n \"fixed z-100 w-[356px] max-w-[calc(100vw-2rem)]\";\n"],"mappings":";AAAA,IAAa,IACX"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { Position, SwipeDirection, ToastIcons, ToastClassnames } from '../Toast/Toast.types';
|
|
3
|
+
export type Offset = {
|
|
4
|
+
top?: string | number;
|
|
5
|
+
right?: string | number;
|
|
6
|
+
bottom?: string | number;
|
|
7
|
+
left?: string | number;
|
|
8
|
+
} | string | number;
|
|
9
|
+
export interface ToastOptions {
|
|
10
|
+
class?: string;
|
|
11
|
+
closeButton?: boolean;
|
|
12
|
+
descriptionClass?: string;
|
|
13
|
+
style?: JSX.CSSProperties;
|
|
14
|
+
cancelButtonStyle?: JSX.CSSProperties;
|
|
15
|
+
actionButtonStyle?: JSX.CSSProperties;
|
|
16
|
+
duration?: number;
|
|
17
|
+
classes?: ToastClassnames;
|
|
18
|
+
closeButtonAriaLabel?: string;
|
|
19
|
+
toasterId?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ToasterProps {
|
|
22
|
+
id?: string;
|
|
23
|
+
invert?: boolean;
|
|
24
|
+
/** @deprecated Toast 不再自行设置明暗主题,请直接设置 <html data-theme="..."> */
|
|
25
|
+
theme?: "light" | "dark" | "system";
|
|
26
|
+
position?: Position;
|
|
27
|
+
hotkey?: string[];
|
|
28
|
+
richColors?: boolean;
|
|
29
|
+
expand?: boolean;
|
|
30
|
+
duration?: number;
|
|
31
|
+
gap?: number;
|
|
32
|
+
visibleToasts?: number;
|
|
33
|
+
closeButton?: boolean;
|
|
34
|
+
toastOptions?: ToastOptions;
|
|
35
|
+
class?: string;
|
|
36
|
+
style?: JSX.CSSProperties;
|
|
37
|
+
offset?: Offset;
|
|
38
|
+
mobileOffset?: Offset;
|
|
39
|
+
dir?: "rtl" | "ltr" | "auto";
|
|
40
|
+
swipeDirections?: SwipeDirection[];
|
|
41
|
+
icons?: ToastIcons;
|
|
42
|
+
customAriaLabel?: string;
|
|
43
|
+
containerAriaLabel?: string;
|
|
44
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { Position, SwipeDirection } from '../Toast/Toast.types';
|
|
3
|
+
import { Offset } from './Toaster.types';
|
|
4
|
+
export declare function getPositionClass(position: Position): string;
|
|
5
|
+
export declare function resolveOffsetStyle(position: Position, offset?: Offset, mobileOffset?: Offset): JSX.CSSProperties;
|
|
6
|
+
export declare function getDefaultSwipeDirections(position: Position): SwipeDirection[];
|
|
7
|
+
export declare function getDocumentDirection(): "rtl" | "ltr" | "auto";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region src/components/toast/Toaster/Toaster.utils.ts
|
|
2
|
+
var e = "24px", t = "16px";
|
|
3
|
+
function n(e) {
|
|
4
|
+
switch (e) {
|
|
5
|
+
case "top-left": return "top-0 left-0";
|
|
6
|
+
case "top-right": return "top-0 right-0";
|
|
7
|
+
case "top-center": return "top-0 left-1/2 -translate-x-1/2";
|
|
8
|
+
case "bottom-left": return "bottom-0 left-0";
|
|
9
|
+
case "bottom-right": return "bottom-0 right-0";
|
|
10
|
+
case "bottom-center": return "bottom-0 left-1/2 -translate-x-1/2";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function r(e) {
|
|
14
|
+
return typeof e == "number" ? `${e}px` : e;
|
|
15
|
+
}
|
|
16
|
+
function i(n, i, a) {
|
|
17
|
+
let o = {}, [s, c] = n.split("-"), l = (e, t) => typeof e == "object" && e ? e : {
|
|
18
|
+
top: e ?? t,
|
|
19
|
+
right: e ?? t,
|
|
20
|
+
bottom: e ?? t,
|
|
21
|
+
left: e ?? t
|
|
22
|
+
}, u = l(i, e), d = l(a, t);
|
|
23
|
+
return s === "top" ? (o.top = r(u.top ?? e), o["--mobile-offset-top"] = r(d.top ?? t)) : (o.bottom = r(u.bottom ?? e), o["--mobile-offset-bottom"] = r(d.bottom ?? t)), c === "left" ? (o.left = r(u.left ?? e), o["--mobile-offset-left"] = r(d.left ?? t)) : c === "right" && (o.right = r(u.right ?? e), o["--mobile-offset-right"] = r(d.right ?? t)), o;
|
|
24
|
+
}
|
|
25
|
+
function a() {
|
|
26
|
+
if (typeof document > "u") return "ltr";
|
|
27
|
+
let e = document.documentElement.getAttribute("dir");
|
|
28
|
+
return e === "auto" || !e ? getComputedStyle(document.documentElement).direction : e;
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { a as getDocumentDirection, n as getPositionClass, i as resolveOffsetStyle };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=Toaster.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toaster.utils.js","names":[],"sources":["../../../../src/components/toast/Toaster/Toaster.utils.ts"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport type { Position, SwipeDirection } from \"../Toast/Toast.types\";\nimport type { Offset } from \"./Toaster.types\";\n\nconst VIEWPORT_OFFSET = \"24px\";\nconst MOBILE_VIEWPORT_OFFSET = \"16px\";\n\nexport function getPositionClass(position: Position): string {\n switch (position) {\n case \"top-left\":\n return \"top-0 left-0\";\n case \"top-right\":\n return \"top-0 right-0\";\n case \"top-center\":\n return \"top-0 left-1/2 -translate-x-1/2\";\n case \"bottom-left\":\n return \"bottom-0 left-0\";\n case \"bottom-right\":\n return \"bottom-0 right-0\";\n case \"bottom-center\":\n return \"bottom-0 left-1/2 -translate-x-1/2\";\n }\n}\n\nfunction toPx(value: string | number): string {\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nexport function resolveOffsetStyle(\n position: Position,\n offset?: Offset,\n mobileOffset?: Offset,\n): JSX.CSSProperties {\n const style: JSX.CSSProperties = {};\n const [y, x] = position.split(\"-\");\n\n const normalize = (value: Offset | undefined, fallback: string) =>\n typeof value === \"object\" && value !== null\n ? value\n : {\n top: value ?? fallback,\n right: value ?? fallback,\n bottom: value ?? fallback,\n left: value ?? fallback,\n };\n\n const desktop = normalize(offset, VIEWPORT_OFFSET);\n const mobile = normalize(mobileOffset, MOBILE_VIEWPORT_OFFSET);\n\n if (y === \"top\") {\n style.top = toPx(desktop.top ?? VIEWPORT_OFFSET);\n style[\"--mobile-offset-top\"] = toPx(mobile.top ?? MOBILE_VIEWPORT_OFFSET);\n } else {\n style.bottom = toPx(desktop.bottom ?? VIEWPORT_OFFSET);\n style[\"--mobile-offset-bottom\"] = toPx(\n mobile.bottom ?? MOBILE_VIEWPORT_OFFSET,\n );\n }\n\n if (x === \"left\") {\n style.left = toPx(desktop.left ?? VIEWPORT_OFFSET);\n style[\"--mobile-offset-left\"] = toPx(mobile.left ?? MOBILE_VIEWPORT_OFFSET);\n } else if (x === \"right\") {\n style.right = toPx(desktop.right ?? VIEWPORT_OFFSET);\n style[\"--mobile-offset-right\"] = toPx(\n mobile.right ?? MOBILE_VIEWPORT_OFFSET,\n );\n }\n\n return style;\n}\n\nexport function getDefaultSwipeDirections(\n position: Position,\n): SwipeDirection[] {\n const [y, x] = position.split(\"-\");\n const directions: SwipeDirection[] = [];\n if (y) directions.push(y as SwipeDirection);\n if (x) directions.push(x as SwipeDirection);\n return directions;\n}\n\nexport function getDocumentDirection(): \"rtl\" | \"ltr\" | \"auto\" {\n if (typeof document === \"undefined\") return \"ltr\";\n const dir = document.documentElement.getAttribute(\"dir\");\n if (dir === \"auto\" || !dir) {\n return getComputedStyle(document.documentElement).direction as\n | \"rtl\"\n | \"ltr\"\n | \"auto\";\n }\n return dir as \"rtl\" | \"ltr\" | \"auto\";\n}\n"],"mappings":";AAIA,IAAM,IAAkB,QAClB,IAAyB;AAE/B,SAAgB,EAAiB,GAA4B;CAC3D,QAAQ,GAAR;EACE,KAAK,YACH,OAAO;EACT,KAAK,aACH,OAAO;EACT,KAAK,cACH,OAAO;EACT,KAAK,eACH,OAAO;EACT,KAAK,gBACH,OAAO;EACT,KAAK,iBACH,OAAO;CACX;AACF;AAEA,SAAS,EAAK,GAAgC;CAC5C,OAAO,OAAO,KAAU,WAAW,GAAG,EAAM,MAAM;AACpD;AAEA,SAAgB,EACd,GACA,GACA,GACmB;CACnB,IAAM,IAA2B,CAAC,GAC5B,CAAC,GAAG,KAAK,EAAS,MAAM,GAAG,GAE3B,KAAa,GAA2B,MAC5C,OAAO,KAAU,YAAY,IACzB,IACA;EACE,KAAK,KAAS;EACd,OAAO,KAAS;EAChB,QAAQ,KAAS;EACjB,MAAM,KAAS;CACjB,GAEA,IAAU,EAAU,GAAQ,CAAe,GAC3C,IAAS,EAAU,GAAc,CAAsB;CAsB7D,OApBI,MAAM,SACR,EAAM,MAAM,EAAK,EAAQ,OAAO,CAAe,GAC/C,EAAM,yBAAyB,EAAK,EAAO,OAAO,CAAsB,MAExE,EAAM,SAAS,EAAK,EAAQ,UAAU,CAAe,GACrD,EAAM,4BAA4B,EAChC,EAAO,UAAU,CACnB,IAGE,MAAM,UACR,EAAM,OAAO,EAAK,EAAQ,QAAQ,CAAe,GACjD,EAAM,0BAA0B,EAAK,EAAO,QAAQ,CAAsB,KACjE,MAAM,YACf,EAAM,QAAQ,EAAK,EAAQ,SAAS,CAAe,GACnD,EAAM,2BAA2B,EAC/B,EAAO,SAAS,CAClB,IAGK;AACT;AAYA,SAAgB,IAA+C;CAC7D,IAAI,OAAO,WAAa,KAAa,OAAO;CAC5C,IAAM,IAAM,SAAS,gBAAgB,aAAa,KAAK;CAOvD,OANI,MAAQ,UAAU,CAAC,IACd,iBAAiB,SAAS,eAAe,CAAC,CAAC,YAK7C;AACT"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export { toast } from './state';
|
|
7
|
-
export { Toaster } from './components/Toaster';
|
|
8
|
-
export { Toast } from './components/Toast';
|
|
9
|
-
export { useSonner } from './hooks';
|
|
10
|
-
export type { Action, ExternalToast, ToasterProps, ToastClassnames, ToastT, ToastToDismiss, } from './types';
|
|
1
|
+
export { Toaster } from './Toaster';
|
|
2
|
+
export type { Offset, ToastOptions, ToasterProps } from './Toaster';
|
|
3
|
+
export { Toast } from './Toast';
|
|
4
|
+
export type { Action, ExternalToast, Position, PromiseData, PromiseT, PromiseTResult, SwipeDirection, Theme, ToastClassnames, ToastIcons, ToastProps, ToastT, ToastTypes, isAction, } from './Toast';
|
|
5
|
+
export { getHistory, getToasts, toast, useSonner } from './state';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export { n as Toast, r as Toaster, e as toast, t as useSonner };
|
|
1
|
+
import { Toast as e } from "./Toast/Toast.js";
|
|
2
|
+
import { getHistory as t, getToasts as n, toast as r, useSonner as i } from "./state/toast.js";
|
|
3
|
+
import { Toaster as a } from "./Toaster/Toaster.js";
|
|
4
|
+
export { e as Toast, a as Toaster, t as getHistory, n as getToasts, r as toast, i as useSonner };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getHistory, getToasts, toast, useSonner } from './toast';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { JSXElement } from 'solid-js';
|
|
2
|
+
import { ExternalToast, PromiseData, PromiseT, ToastT } from '../Toast/Toast.types';
|
|
3
|
+
export declare function useSonner(): {
|
|
4
|
+
toasts: ToastT[];
|
|
5
|
+
};
|
|
6
|
+
export declare function getToasts(): ToastT[];
|
|
7
|
+
export declare function getHistory(): ToastT[];
|
|
8
|
+
declare function dismissToast(id?: string): string | undefined;
|
|
9
|
+
declare function removeToast(id: string): void;
|
|
10
|
+
export declare const toast: ((message: JSXElement, data?: ExternalToast) => string) & {
|
|
11
|
+
success: (message: JSXElement, data?: ExternalToast) => string;
|
|
12
|
+
info: (message: JSXElement, data?: ExternalToast) => string;
|
|
13
|
+
warning: (message: JSXElement, data?: ExternalToast) => string;
|
|
14
|
+
error: (message: JSXElement, data?: ExternalToast) => string;
|
|
15
|
+
loading: (message: JSXElement, data?: ExternalToast) => string;
|
|
16
|
+
message: (message: JSXElement, data?: ExternalToast) => string;
|
|
17
|
+
custom: (jsx: (id: string) => JSXElement, data?: ExternalToast) => string;
|
|
18
|
+
dismiss: typeof dismissToast;
|
|
19
|
+
promise: <Data = any>(promise: PromiseT<Data>, data?: PromiseData<Data>) => string | undefined;
|
|
20
|
+
getToasts: typeof getToasts;
|
|
21
|
+
getHistory: typeof getHistory;
|
|
22
|
+
remove: typeof removeToast;
|
|
23
|
+
};
|
|
24
|
+
export { dismissToast, removeToast };
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { createUniqueId as e } from "solid-js";
|
|
2
|
+
import { createStore as t, produce as n } from "solid-js/store";
|
|
3
|
+
//#region src/components/toast/state/toast.ts
|
|
4
|
+
var [r, i] = t([]);
|
|
5
|
+
function a() {
|
|
6
|
+
return { toasts: r };
|
|
7
|
+
}
|
|
8
|
+
function o() {
|
|
9
|
+
return r;
|
|
10
|
+
}
|
|
11
|
+
function s() {
|
|
12
|
+
return r;
|
|
13
|
+
}
|
|
14
|
+
function c(t) {
|
|
15
|
+
let r = t.id ?? e();
|
|
16
|
+
return i(n((e) => {
|
|
17
|
+
let n = e.find((e) => e.id === r), i = {
|
|
18
|
+
...t,
|
|
19
|
+
id: r,
|
|
20
|
+
title: t.message,
|
|
21
|
+
dismissible: t.dismissible ?? !0
|
|
22
|
+
};
|
|
23
|
+
n ? Object.assign(n, i, { title: t.message ?? n.title }) : e.unshift(i);
|
|
24
|
+
})), r;
|
|
25
|
+
}
|
|
26
|
+
function l(e) {
|
|
27
|
+
return i(n(e === void 0 ? (e) => {
|
|
28
|
+
for (let t of e) t.delete = !0;
|
|
29
|
+
} : (t) => {
|
|
30
|
+
let n = t.find((t) => t.id === e);
|
|
31
|
+
n && (n.delete = !0);
|
|
32
|
+
})), e;
|
|
33
|
+
}
|
|
34
|
+
function u(e) {
|
|
35
|
+
i(n((t) => {
|
|
36
|
+
let n = t.findIndex((t) => t.id === e);
|
|
37
|
+
n !== -1 && t.splice(n, 1);
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
var d = Object.assign((e, t) => c({
|
|
41
|
+
...t,
|
|
42
|
+
message: e
|
|
43
|
+
}), {
|
|
44
|
+
success: (e, t) => c({
|
|
45
|
+
...t,
|
|
46
|
+
type: "success",
|
|
47
|
+
message: e
|
|
48
|
+
}),
|
|
49
|
+
info: (e, t) => c({
|
|
50
|
+
...t,
|
|
51
|
+
type: "info",
|
|
52
|
+
message: e
|
|
53
|
+
}),
|
|
54
|
+
warning: (e, t) => c({
|
|
55
|
+
...t,
|
|
56
|
+
type: "warning",
|
|
57
|
+
message: e
|
|
58
|
+
}),
|
|
59
|
+
error: (e, t) => c({
|
|
60
|
+
...t,
|
|
61
|
+
type: "error",
|
|
62
|
+
message: e
|
|
63
|
+
}),
|
|
64
|
+
loading: (e, t) => c({
|
|
65
|
+
...t,
|
|
66
|
+
type: "loading",
|
|
67
|
+
message: e
|
|
68
|
+
}),
|
|
69
|
+
message: (e, t) => c({
|
|
70
|
+
...t,
|
|
71
|
+
message: e
|
|
72
|
+
}),
|
|
73
|
+
custom: (t, n) => {
|
|
74
|
+
let r = n?.id ?? e();
|
|
75
|
+
return c({
|
|
76
|
+
...n,
|
|
77
|
+
id: r,
|
|
78
|
+
jsx: t(r)
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
dismiss: l,
|
|
82
|
+
promise: (e, t) => {
|
|
83
|
+
if (!t) return;
|
|
84
|
+
let n;
|
|
85
|
+
return t.loading !== void 0 && (n = c({
|
|
86
|
+
...t,
|
|
87
|
+
type: "loading",
|
|
88
|
+
message: t.loading
|
|
89
|
+
})), Promise.resolve(typeof e == "function" ? e() : e).then(async (e) => {
|
|
90
|
+
let r = typeof t.success == "function" ? await t.success(e) : t.success;
|
|
91
|
+
r === void 0 ? n !== void 0 && l(n) : c({
|
|
92
|
+
id: n,
|
|
93
|
+
type: "success",
|
|
94
|
+
message: r,
|
|
95
|
+
description: typeof t.description == "function" ? await t.description(e) : t.description
|
|
96
|
+
});
|
|
97
|
+
}).catch(async (e) => {
|
|
98
|
+
let r = typeof t.error == "function" ? await t.error(e) : t.error;
|
|
99
|
+
r === void 0 ? n !== void 0 && l(n) : c({
|
|
100
|
+
id: n,
|
|
101
|
+
type: "error",
|
|
102
|
+
message: r,
|
|
103
|
+
description: typeof t.description == "function" ? await t.description(e) : t.description
|
|
104
|
+
});
|
|
105
|
+
}).finally(() => {
|
|
106
|
+
t.finally?.();
|
|
107
|
+
}), n;
|
|
108
|
+
},
|
|
109
|
+
getToasts: o,
|
|
110
|
+
getHistory: s,
|
|
111
|
+
remove: u
|
|
112
|
+
});
|
|
113
|
+
//#endregion
|
|
114
|
+
export { l as dismissToast, s as getHistory, o as getToasts, u as removeToast, d as toast, a as useSonner };
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.js","names":[],"sources":["../../../../src/components/toast/state/toast.ts"],"sourcesContent":["import { createUniqueId, type JSXElement } from \"solid-js\";\nimport { createStore, produce } from \"solid-js/store\";\nimport type {\n ExternalToast,\n PromiseData,\n PromiseT,\n ToastT,\n ToastTypes,\n} from \"../Toast/Toast.types\";\n\nconst [toasts, setToasts] = createStore<ToastT[]>([]);\n\nexport function useSonner() {\n return { toasts };\n}\n\nexport function getToasts() {\n return toasts;\n}\n\nexport function getHistory() {\n return toasts;\n}\n\nfunction createToast(\n data: ExternalToast & {\n message?: JSXElement;\n type?: ToastTypes;\n jsx?: JSXElement;\n promise?: PromiseT;\n },\n): string {\n const id = data.id ?? createUniqueId();\n\n setToasts(\n produce((list) => {\n const existing = list.find((toast) => toast.id === id);\n const next: ToastT = {\n ...data,\n id,\n title: data.message,\n dismissible: data.dismissible ?? true,\n } as ToastT;\n\n if (existing) {\n Object.assign(existing, next, {\n title: data.message ?? existing.title,\n });\n } else {\n list.unshift(next);\n }\n }),\n );\n\n return id;\n}\n\nfunction dismissToast(id?: string) {\n if (id !== undefined) {\n setToasts(\n produce((list) => {\n const toast = list.find((item) => item.id === id);\n if (toast) toast.delete = true;\n }),\n );\n } else {\n setToasts(\n produce((list) => {\n for (const toast of list) toast.delete = true;\n }),\n );\n }\n return id;\n}\n\nfunction removeToast(id: string) {\n setToasts(\n produce((list) => {\n const index = list.findIndex((toast) => toast.id === id);\n if (index !== -1) list.splice(index, 1);\n }),\n );\n}\n\nconst toastFunction = (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, message });\n\nexport const toast = Object.assign(toastFunction, {\n success: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"success\", message }),\n info: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"info\", message }),\n warning: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"warning\", message }),\n error: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"error\", message }),\n loading: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"loading\", message }),\n message: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, message }),\n custom: (jsx: (id: string) => JSXElement, data?: ExternalToast) => {\n const id = data?.id ?? createUniqueId();\n return createToast({ ...data, id, jsx: jsx(id) });\n },\n dismiss: dismissToast,\n promise: <Data = any>(promise: PromiseT<Data>, data?: PromiseData<Data>) => {\n if (!data) return;\n\n let id: string | undefined;\n if (data.loading !== undefined) {\n id = createToast({\n ...data,\n type: \"loading\",\n message: data.loading,\n } as any);\n }\n\n Promise.resolve(typeof promise === \"function\" ? promise() : promise)\n .then(async (result) => {\n const message =\n typeof data.success === \"function\"\n ? await data.success(result)\n : data.success;\n\n if (message !== undefined) {\n createToast({\n id,\n type: \"success\",\n message: message as JSXElement,\n description:\n typeof data.description === \"function\"\n ? await data.description(result)\n : data.description,\n } as any);\n } else if (id !== undefined) {\n dismissToast(id);\n }\n })\n .catch(async (error) => {\n const message =\n typeof data.error === \"function\"\n ? await data.error(error)\n : data.error;\n\n if (message !== undefined) {\n createToast({\n id,\n type: \"error\",\n message: message as JSXElement,\n description:\n typeof data.description === \"function\"\n ? await data.description(error)\n : data.description,\n } as any);\n } else if (id !== undefined) {\n dismissToast(id);\n }\n })\n .finally(() => {\n data.finally?.();\n });\n\n return id as string;\n },\n getToasts,\n getHistory,\n remove: removeToast,\n});\n\nexport { dismissToast, removeToast };\n"],"mappings":";;;AAUA,IAAM,CAAC,GAAQ,KAAa,EAAsB,CAAC,CAAC;AAEpD,SAAgB,IAAY;CAC1B,OAAO,EAAE,UAAO;AAClB;AAEA,SAAgB,IAAY;CAC1B,OAAO;AACT;AAEA,SAAgB,IAAa;CAC3B,OAAO;AACT;AAEA,SAAS,EACP,GAMQ;CACR,IAAM,IAAK,EAAK,MAAM,EAAe;CAsBrC,OApBA,EACE,GAAS,MAAS;EAChB,IAAM,IAAW,EAAK,MAAM,MAAU,EAAM,OAAO,CAAE,GAC/C,IAAe;GACnB,GAAG;GACH;GACA,OAAO,EAAK;GACZ,aAAa,EAAK,eAAe;EACnC;EAEA,AAAI,IACF,OAAO,OAAO,GAAU,GAAM,EAC5B,OAAO,EAAK,WAAW,EAAS,MAClC,CAAC,IAED,EAAK,QAAQ,CAAI;CAErB,CAAC,CACH,GAEO;AACT;AAEA,SAAS,EAAa,GAAa;CAejC,OANE,EACE,EATA,MAAO,KAAA,KASE,MAAS;EAChB,KAAK,IAAM,KAAS,GAAM,EAAM,SAAS;CAC3C,KATS,MAAS;EAChB,IAAM,IAAQ,EAAK,MAAM,MAAS,EAAK,OAAO,CAAE;EAChD,AAAI,MAAO,EAAM,SAAS;CAC5B,CALO,CAYT,GAEK;AACT;AAEA,SAAS,EAAY,GAAY;CAC/B,EACE,GAAS,MAAS;EAChB,IAAM,IAAQ,EAAK,WAAW,MAAU,EAAM,OAAO,CAAE;EACvD,AAAI,MAAU,MAAI,EAAK,OAAO,GAAO,CAAC;CACxC,CAAC,CACH;AACF;AAKA,IAAa,IAAQ,OAAO,QAHL,GAAqB,MAC1C,EAAY;CAAE,GAAG;CAAM;AAAQ,CAAC,GAEgB;CAChD,UAAU,GAAqB,MAC7B,EAAY;EAAE,GAAG;EAAM,MAAM;EAAW;CAAQ,CAAC;CACnD,OAAO,GAAqB,MAC1B,EAAY;EAAE,GAAG;EAAM,MAAM;EAAQ;CAAQ,CAAC;CAChD,UAAU,GAAqB,MAC7B,EAAY;EAAE,GAAG;EAAM,MAAM;EAAW;CAAQ,CAAC;CACnD,QAAQ,GAAqB,MAC3B,EAAY;EAAE,GAAG;EAAM,MAAM;EAAS;CAAQ,CAAC;CACjD,UAAU,GAAqB,MAC7B,EAAY;EAAE,GAAG;EAAM,MAAM;EAAW;CAAQ,CAAC;CACnD,UAAU,GAAqB,MAC7B,EAAY;EAAE,GAAG;EAAM;CAAQ,CAAC;CAClC,SAAS,GAAiC,MAAyB;EACjE,IAAM,IAAK,GAAM,MAAM,EAAe;EACtC,OAAO,EAAY;GAAE,GAAG;GAAM;GAAI,KAAK,EAAI,CAAE;EAAE,CAAC;CAClD;CACA,SAAS;CACT,UAAsB,GAAyB,MAA6B;EAC1E,IAAI,CAAC,GAAM;EAEX,IAAI;EAsDJ,OArDI,EAAK,YAAY,KAAA,MACnB,IAAK,EAAY;GACf,GAAG;GACH,MAAM;GACN,SAAS,EAAK;EAChB,CAAQ,IAGV,QAAQ,QAAQ,OAAO,KAAY,aAAa,EAAQ,IAAI,CAAO,CAAC,CACjE,KAAK,OAAO,MAAW;GACtB,IAAM,IACJ,OAAO,EAAK,WAAY,aACpB,MAAM,EAAK,QAAQ,CAAM,IACzB,EAAK;GAEX,AAAI,MAAY,KAAA,IAUL,MAAO,KAAA,KAChB,EAAa,CAAE,IAVf,EAAY;IACV;IACA,MAAM;IACG;IACT,aACE,OAAO,EAAK,eAAgB,aACxB,MAAM,EAAK,YAAY,CAAM,IAC7B,EAAK;GACb,CAAQ;EAIZ,CAAC,CAAC,CACD,MAAM,OAAO,MAAU;GACtB,IAAM,IACJ,OAAO,EAAK,SAAU,aAClB,MAAM,EAAK,MAAM,CAAK,IACtB,EAAK;GAEX,AAAI,MAAY,KAAA,IAUL,MAAO,KAAA,KAChB,EAAa,CAAE,IAVf,EAAY;IACV;IACA,MAAM;IACG;IACT,aACE,OAAO,EAAK,eAAgB,aACxB,MAAM,EAAK,YAAY,CAAK,IAC5B,EAAK;GACb,CAAQ;EAIZ,CAAC,CAAC,CACD,cAAc;GACb,EAAK,UAAU;EACjB,CAAC,GAEI;CACT;CACA;CACA;CACA,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { toggleVariants as t } from "./Toggle.styles.js";
|
|
3
|
+
import { delegateEvents as n, mergeProps as r, spread as i, template as a } from "solid-js/web";
|
|
4
|
+
import { createMemo as o, createSignal as s, mergeProps as c, splitProps as l } from "solid-js";
|
|
5
|
+
//#region src/components/toggle/Toggle/Toggle.tsx
|
|
6
|
+
var u = /*#__PURE__*/ a("<button data-slot=toggle>");
|
|
7
|
+
function d(n) {
|
|
8
|
+
let a = c({ type: "button" }, n), [d, f] = l(a, [
|
|
9
|
+
"pressed",
|
|
10
|
+
"defaultPressed",
|
|
11
|
+
"onPressedChange",
|
|
12
|
+
"variant",
|
|
13
|
+
"size",
|
|
14
|
+
"class",
|
|
15
|
+
"value",
|
|
16
|
+
"type",
|
|
17
|
+
"onClick"
|
|
18
|
+
]), [p, m] = s(d.defaultPressed ?? !1), h = o(() => d.pressed === void 0 ? p() : d.pressed), g = (e) => {
|
|
19
|
+
d.pressed === void 0 && m(e), d.onPressedChange?.(e);
|
|
20
|
+
};
|
|
21
|
+
return (() => {
|
|
22
|
+
var n = u();
|
|
23
|
+
return n.$$click = (e) => {
|
|
24
|
+
d.onClick?.(e), e.defaultPrevented || g(!h());
|
|
25
|
+
}, i(n, r({
|
|
26
|
+
get type() {
|
|
27
|
+
return d.type;
|
|
28
|
+
},
|
|
29
|
+
get "data-state"() {
|
|
30
|
+
return h() ? "on" : "off";
|
|
31
|
+
},
|
|
32
|
+
get "aria-pressed"() {
|
|
33
|
+
return h();
|
|
34
|
+
},
|
|
35
|
+
get class() {
|
|
36
|
+
return e(t({
|
|
37
|
+
variant: d.variant,
|
|
38
|
+
size: d.size,
|
|
39
|
+
class: d.class
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
}, f), !1, !1), n;
|
|
43
|
+
})();
|
|
44
|
+
}
|
|
45
|
+
n(["click"]);
|
|
46
|
+
//#endregion
|
|
47
|
+
export { d as Toggle };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=Toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggle.js","names":["createMemo","createSignal","mergeProps","splitProps","JSX","clsx","toggleVariants","ToggleProps","Toggle","props","Element","merged","type","const","local","rest","internalPressed","setInternalPressed","defaultPressed","pressed","undefined","setPressed","next","onPressedChange","_el$","_tmpl$","$$click","e","onClick","defaultPrevented","_$spread","_$mergeProps","data-state","aria-pressed","class","variant","size","_$delegateEvents"],"sources":["../../../../src/components/toggle/Toggle/Toggle.tsx"],"sourcesContent":["import {\n createMemo,\n createSignal,\n mergeProps,\n splitProps,\n type JSX,\n} from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { toggleVariants } from \"./Toggle.styles\";\nimport type { ToggleProps } from \"./Toggle.types\";\n\nexport function Toggle(props: ToggleProps): JSX.Element {\n const merged = mergeProps({ type: \"button\" as const }, props);\n\n const [local, rest] = splitProps(merged, [\n \"pressed\",\n \"defaultPressed\",\n \"onPressedChange\",\n \"variant\",\n \"size\",\n \"class\",\n \"value\",\n \"type\",\n \"onClick\",\n ]);\n\n const [internalPressed, setInternalPressed] = createSignal(\n local.defaultPressed ?? false,\n );\n const pressed = createMemo(() =>\n local.pressed !== undefined ? local.pressed : internalPressed(),\n );\n\n const setPressed = (next: boolean) => {\n if (local.pressed === undefined) setInternalPressed(next);\n local.onPressedChange?.(next);\n };\n\n return (\n <button\n type={local.type as \"button\"}\n data-slot=\"toggle\"\n data-state={pressed() ? \"on\" : \"off\"}\n aria-pressed={pressed()}\n class={clsx(\n toggleVariants({\n variant: local.variant,\n size: local.size,\n class: local.class,\n }),\n )}\n onClick={(e) => {\n (local.onClick as any)?.(e);\n if (!e.defaultPrevented) setPressed(!pressed());\n }}\n {...rest}\n />\n );\n}\n"],"mappings":";;;;;;AAWA,SAAgBQ,EAAOC,GAAiC;CACtD,IAAME,IAAST,EAAW,EAAEU,MAAM,SAAkB,GAAGH,CAAK,GAEtD,CAACK,GAAOC,KAAQZ,EAAWQ,GAAQ;EACvC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAS,CACV,GAEK,CAACK,GAAiBC,KAAsBhB,EAC5Ca,EAAMI,kBAAkB,EAC1B,GACMC,IAAUnB,QACdc,EAAMK,YAAYC,KAAAA,IAA4BJ,EAAgB,IAAhCF,EAAMK,OACtC,GAEME,KAAcC,MAAkB;EAEpCR,AADIA,EAAMK,YAAYC,KAAAA,KAAWH,EAAmBK,CAAI,GACxDR,EAAMS,kBAAkBD,CAAI;CAC9B;CAEA,cAAA;EAAA,IAAAE,IAAAC,EAAA;EAiBY,OAjBZD,EAAAE,WAacC,MAAM;GAEd,AADA,EAAOC,UAAkBD,CAAC,GACrBA,EAAEE,oBAAkBR,EAAW,CAACF,EAAQ,CAAC;EAChD,GAACW,EAAAN,GAAAO,EAAA;GAAA,IAdDnB,OAAI;IAAA,OAAEE,EAAMF;GAAgB;GAAA,IAAA,eAAA;IAAA,OAEhBO,EAAQ,IAAI,OAAO;GAAK;GAAA,IAAA,iBAAA;IAAA,OACtBA,EAAQ;GAAC;GAAA,IAAA,QAAA;IAAA,OAChBd,EACLC,EAAe;KACb6B,SAASrB,EAAMqB;KACfC,MAAMtB,EAAMsB;KACZF,OAAOpB,EAAMoB;IACf,CAAC,CACH;GAAC;EAAA,GAKGnB,CAAI,GAAA,IAAA,EAAA,GAAAS;CAAA,EAAA,CAAA;AAGd;AAACa,EAAA,CAAA,OAAA,CAAA"}
|