@nectary/components 4.12.0 → 4.12.1
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/accordion/index.d.ts +22 -1
- package/accordion/index.js +39 -41
- package/accordion/types.d.ts +1 -21
- package/accordion/types.js +1 -1
- package/accordion-item/index.d.ts +22 -2
- package/accordion-item/index.js +49 -53
- package/accordion-item/types.d.ts +1 -21
- package/accordion-item/types.js +1 -1
- package/accordion-item/utils.js +1 -4
- package/action-menu/index.d.ts +22 -1
- package/action-menu/index.js +77 -62
- package/action-menu/types.d.ts +1 -21
- package/action-menu/types.js +1 -1
- package/action-menu-option/index.d.ts +22 -1
- package/action-menu-option/index.js +41 -39
- package/action-menu-option/types.d.ts +1 -21
- package/action-menu-option/types.js +1 -1
- package/action-menu-option/utils.js +3 -6
- package/alert/index.d.ts +22 -2
- package/alert/index.js +21 -24
- package/alert/types.d.ts +1 -21
- package/alert/types.js +1 -1
- package/alert/utils.js +1 -4
- package/avatar/colors.js +1 -1
- package/avatar/index.d.ts +22 -2
- package/avatar/index.js +41 -42
- package/avatar/types.d.ts +1 -21
- package/avatar/types.js +1 -1
- package/avatar/utils.js +4 -9
- package/badge/index.d.ts +22 -3
- package/badge/index.js +51 -52
- package/badge/types.d.ts +1 -21
- package/badge/types.js +1 -1
- package/badge/utils.js +1 -4
- package/button/index.d.ts +22 -2
- package/button/index.js +111 -101
- package/button/types.d.ts +1 -21
- package/button/types.js +1 -1
- package/button/utils.js +2 -18
- package/button-group/index.d.ts +22 -1
- package/button-group/index.js +18 -20
- package/button-group/types.d.ts +3 -22
- package/button-group/types.js +1 -1
- package/button-group-item/index.d.ts +22 -2
- package/button-group-item/index.js +42 -31
- package/button-group-item/types.d.ts +3 -22
- package/button-group-item/types.js +1 -1
- package/card/index.d.ts +40 -0
- package/card/index.js +134 -0
- package/card/types.d.ts +17 -0
- package/card/types.js +1 -0
- package/card-container/index.d.ts +21 -1
- package/card-container/index.js +5 -8
- package/card-container/types.d.ts +1 -21
- package/card-container/types.js +1 -1
- package/card-v2/index.d.ts +22 -1
- package/card-v2/index.js +57 -59
- package/card-v2/types.d.ts +1 -21
- package/card-v2/types.js +1 -1
- package/card-v2-title/index.d.ts +22 -2
- package/card-v2-title/index.js +26 -28
- package/card-v2-title/types.d.ts +1 -21
- package/card-v2-title/types.js +1 -1
- package/checkbox/index.d.ts +22 -1
- package/checkbox/index.js +81 -88
- package/checkbox/types.d.ts +1 -21
- package/checkbox/types.js +1 -1
- package/chip/colors.js +1 -1
- package/chip/index.d.ts +22 -1
- package/chip/index.js +75 -62
- package/chip/types.d.ts +1 -21
- package/chip/types.js +1 -1
- package/chip/utils.js +3 -7
- package/code-tag/index.d.ts +22 -1
- package/code-tag/index.js +14 -17
- package/code-tag/types.d.ts +1 -21
- package/code-tag/types.js +1 -1
- package/color-menu/index.d.ts +22 -2
- package/color-menu/index.js +115 -115
- package/color-menu/types.d.ts +1 -21
- package/color-menu/types.js +1 -1
- package/color-menu/utils.js +3 -6
- package/color-menu-option/index.d.ts +22 -1
- package/color-menu-option/index.js +26 -30
- package/color-menu-option/types.d.ts +1 -21
- package/color-menu-option/types.js +1 -1
- package/color-menu-option/utils.js +3 -6
- package/color-swatch/index.d.ts +22 -1
- package/color-swatch/index.js +20 -23
- package/color-swatch/types.d.ts +1 -21
- package/color-swatch/types.js +1 -1
- package/color-swatch/utils.js +3 -7
- package/date-picker/index.d.ts +22 -2
- package/date-picker/index.js +150 -157
- package/date-picker/types.d.ts +1 -21
- package/date-picker/types.js +1 -1
- package/date-picker/utils.js +42 -59
- package/dialog/index.d.ts +22 -1
- package/dialog/index.js +58 -71
- package/dialog/types.d.ts +1 -21
- package/dialog/types.js +1 -1
- package/dialog/utils.js +7 -11
- package/emoji/index.d.ts +22 -1
- package/emoji/index.js +16 -19
- package/emoji/types.d.ts +1 -21
- package/emoji/types.js +1 -1
- package/emoji/utils.js +17 -22
- package/emoji-picker/index.d.ts +22 -2
- package/emoji-picker/index.js +118 -138
- package/emoji-picker/types.d.ts +1 -21
- package/emoji-picker/types.js +1 -1
- package/field/index.d.ts +22 -1
- package/field/index.js +60 -63
- package/field/types.d.ts +1 -21
- package/field/types.js +1 -1
- package/file-drop/index.d.ts +22 -1
- package/file-drop/index.js +98 -103
- package/file-drop/types.d.ts +1 -21
- package/file-drop/types.js +1 -1
- package/file-drop/utils.js +22 -27
- package/file-picker/index.d.ts +22 -1
- package/file-picker/index.js +48 -53
- package/file-picker/types.d.ts +1 -21
- package/file-picker/types.js +1 -1
- package/file-picker/utils.js +3 -6
- package/file-status/index.d.ts +22 -2
- package/file-status/index.js +22 -33
- package/file-status/types.d.ts +1 -21
- package/file-status/types.js +1 -1
- package/file-status/utils.js +1 -4
- package/flag/index.d.ts +22 -1
- package/flag/index.js +16 -19
- package/flag/types.d.ts +1 -21
- package/flag/types.js +1 -1
- package/flag/utils.js +8 -11
- package/grid/index.d.ts +22 -1
- package/grid/index.js +5 -8
- package/grid/types.d.ts +1 -21
- package/grid/types.js +1 -1
- package/grid-item/index.d.ts +22 -1
- package/grid-item/index.js +13 -17
- package/grid-item/types.d.ts +1 -21
- package/grid-item/types.js +1 -1
- package/help-tooltip/index.d.ts +22 -1
- package/help-tooltip/index.js +26 -29
- package/help-tooltip/types.d.ts +1 -21
- package/help-tooltip/types.js +1 -1
- package/horizontal-stepper/index.d.ts +33 -0
- package/horizontal-stepper/index.js +62 -0
- package/horizontal-stepper/types.d.ts +42 -0
- package/horizontal-stepper/types.js +1 -0
- package/horizontal-stepper-item/index.d.ts +38 -0
- package/horizontal-stepper-item/index.js +62 -0
- package/horizontal-stepper-item/types.d.ts +38 -0
- package/horizontal-stepper-item/types.js +1 -0
- package/horizontal-stepper-item/utils.d.ts +2 -0
- package/horizontal-stepper-item/utils.js +1 -0
- package/icon/generated-icon-type.js +1 -1
- package/icon/index.d.ts +22 -1
- package/icon/index.js +28 -30
- package/icon/types.d.ts +1 -21
- package/icon/types.js +1 -1
- package/inline-alert/index.d.ts +22 -2
- package/inline-alert/index.js +39 -58
- package/inline-alert/types.d.ts +1 -21
- package/inline-alert/types.js +1 -1
- package/inline-alert/utils.js +1 -4
- package/input/index.d.ts +22 -2
- package/input/index.js +317 -295
- package/input/types.d.ts +1 -21
- package/input/types.js +1 -1
- package/input/utils.js +46 -56
- package/link/index.d.ts +22 -1
- package/link/index.js +79 -88
- package/link/types.d.ts +1 -21
- package/link/types.js +1 -1
- package/list/index.d.ts +21 -1
- package/list/index.js +6 -9
- package/list/types.d.ts +1 -21
- package/list/types.js +1 -1
- package/list-item/index.d.ts +22 -1
- package/list-item/index.js +6 -9
- package/list-item/types.d.ts +1 -21
- package/list-item/types.js +1 -1
- package/package.json +5 -11
- package/pagination/index.d.ts +22 -2
- package/pagination/index.js +46 -64
- package/pagination/types.d.ts +1 -21
- package/pagination/types.js +1 -1
- package/persistent-overlay/index.d.ts +22 -1
- package/persistent-overlay/index.js +44 -42
- package/persistent-overlay/types.d.ts +1 -21
- package/persistent-overlay/types.js +1 -1
- package/pop/index.d.ts +22 -3
- package/pop/index.js +150 -149
- package/pop/types.d.ts +1 -21
- package/pop/types.js +1 -1
- package/pop/utils.js +8 -24
- package/popover/index.d.ts +22 -2
- package/popover/index.js +68 -75
- package/popover/types.d.ts +1 -21
- package/popover/types.js +1 -1
- package/popover/utils.js +7 -18
- package/progress/index.d.ts +22 -1
- package/progress/index.js +33 -30
- package/progress/types.d.ts +1 -21
- package/progress/types.js +1 -1
- package/progress-stepper/index.d.ts +22 -2
- package/progress-stepper/index.js +66 -64
- package/progress-stepper/types.d.ts +1 -21
- package/progress-stepper/types.js +1 -1
- package/progress-stepper-item/index.d.ts +22 -1
- package/progress-stepper-item/index.js +50 -58
- package/progress-stepper-item/types.d.ts +1 -21
- package/progress-stepper-item/types.js +1 -1
- package/progress-stepper-item/utils.js +11 -22
- package/radio/index.d.ts +22 -1
- package/radio/index.js +83 -79
- package/radio/types.d.ts +1 -21
- package/radio/types.js +1 -1
- package/radio-option/index.d.ts +22 -1
- package/radio-option/index.js +41 -47
- package/radio-option/types.d.ts +1 -21
- package/radio-option/types.js +1 -1
- package/rich-text/index.d.ts +22 -1
- package/rich-text/index.js +46 -45
- package/rich-text/types.d.ts +1 -21
- package/rich-text/types.js +1 -1
- package/rich-text/utils.js +33 -31
- package/rich-textarea/index.d.ts +22 -1
- package/rich-textarea/index.js +194 -201
- package/rich-textarea/types.d.ts +1 -21
- package/rich-textarea/types.js +1 -1
- package/rich-textarea/utils.js +340 -313
- package/segment/index.d.ts +40 -0
- package/segment/index.js +110 -0
- package/segment/types.d.ts +23 -0
- package/segment/types.js +1 -0
- package/segment/utils.d.ts +3 -0
- package/segment/utils.js +16 -0
- package/segment-collapse/index.d.ts +22 -1
- package/segment-collapse/index.js +25 -31
- package/segment-collapse/types.d.ts +1 -21
- package/segment-collapse/types.js +1 -1
- package/segmented-control/index.d.ts +22 -1
- package/segmented-control/index.js +45 -45
- package/segmented-control/types.d.ts +1 -21
- package/segmented-control/types.js +1 -1
- package/segmented-control-option/index.d.ts +22 -1
- package/segmented-control-option/index.js +46 -44
- package/segmented-control-option/types.d.ts +1 -21
- package/segmented-control-option/types.js +1 -1
- package/segmented-icon-control/index.d.ts +22 -1
- package/segmented-icon-control/index.js +50 -51
- package/segmented-icon-control/types.d.ts +1 -21
- package/segmented-icon-control/types.js +1 -1
- package/segmented-icon-control-option/index.d.ts +22 -1
- package/segmented-icon-control-option/index.js +37 -36
- package/segmented-icon-control-option/types.d.ts +1 -21
- package/segmented-icon-control-option/types.js +1 -1
- package/select-button/index.d.ts +26 -1
- package/select-button/index.js +112 -104
- package/select-button/types.d.ts +1 -25
- package/select-button/types.js +1 -1
- package/select-menu/index.d.ts +22 -1
- package/select-menu/index.js +164 -201
- package/select-menu/types.d.ts +1 -21
- package/select-menu/types.js +1 -1
- package/select-menu-option/index.d.ts +22 -1
- package/select-menu-option/index.js +33 -41
- package/select-menu-option/types.d.ts +1 -21
- package/select-menu-option/types.js +1 -1
- package/select-menu-option/utils.js +1 -4
- package/skeleton/index.d.ts +22 -1
- package/skeleton/index.js +38 -35
- package/skeleton/types.d.ts +1 -21
- package/skeleton/types.js +1 -1
- package/skeleton-item/index.d.ts +22 -1
- package/skeleton-item/index.js +5 -8
- package/skeleton-item/types.d.ts +1 -21
- package/skeleton-item/types.js +1 -1
- package/spinner/index.d.ts +22 -1
- package/spinner/index.js +29 -31
- package/spinner/types.d.ts +1 -21
- package/spinner/types.js +1 -1
- package/standalone.d.ts +8 -0
- package/standalone.js +87 -79
- package/standalone.ts +8 -0
- package/stop-events/index.js +12 -12
- package/table/index.d.ts +21 -1
- package/table/index.js +6 -9
- package/table/types.d.ts +1 -21
- package/table/types.js +1 -1
- package/table-body/index.d.ts +21 -1
- package/table-body/index.js +6 -9
- package/table-body/types.d.ts +1 -21
- package/table-body/types.js +1 -1
- package/table-cell/index.d.ts +22 -2
- package/table-cell/index.js +9 -13
- package/table-cell/types.d.ts +1 -21
- package/table-cell/types.js +1 -1
- package/table-cell/utils.js +1 -4
- package/table-head/index.d.ts +21 -1
- package/table-head/index.js +6 -9
- package/table-head/types.d.ts +1 -21
- package/table-head/types.js +1 -1
- package/table-head-cell/index.d.ts +22 -1
- package/table-head-cell/index.js +27 -29
- package/table-head-cell/types.d.ts +1 -21
- package/table-head-cell/types.js +1 -1
- package/table-row/index.d.ts +22 -1
- package/table-row/index.js +17 -20
- package/table-row/types.d.ts +1 -21
- package/table-row/types.js +1 -1
- package/tabs/index.d.ts +22 -2
- package/tabs/index.js +35 -32
- package/tabs/types.d.ts +1 -21
- package/tabs/types.js +1 -1
- package/tabs-icon-option/index.d.ts +22 -1
- package/tabs-icon-option/index.js +40 -38
- package/tabs-icon-option/types.d.ts +1 -21
- package/tabs-icon-option/types.js +1 -1
- package/tabs-option/index.d.ts +22 -1
- package/tabs-option/index.js +43 -41
- package/tabs-option/types.d.ts +1 -21
- package/tabs-option/types.js +1 -1
- package/tag/colors.js +1 -1
- package/tag/index.d.ts +22 -1
- package/tag/index.js +44 -45
- package/tag/types.d.ts +1 -21
- package/tag/types.js +1 -1
- package/tag/utils.js +3 -7
- package/text/index.d.ts +22 -2
- package/text/index.js +28 -33
- package/text/types.d.ts +1 -21
- package/text/types.js +1 -1
- package/text/utils.js +1 -4
- package/textarea/index.d.ts +22 -1
- package/textarea/index.js +152 -147
- package/textarea/types.d.ts +1 -21
- package/textarea/types.js +1 -1
- package/tile-control/index.d.ts +39 -0
- package/tile-control/index.js +111 -0
- package/tile-control/types.d.ts +29 -0
- package/tile-control/types.js +1 -0
- package/tile-control-option/index.d.ts +40 -0
- package/tile-control-option/index.js +99 -0
- package/tile-control-option/types.d.ts +52 -0
- package/tile-control-option/types.js +1 -0
- package/time-picker/index.d.ts +22 -2
- package/time-picker/index.js +123 -119
- package/time-picker/types.d.ts +1 -21
- package/time-picker/types.js +1 -1
- package/time-picker/utils.js +33 -31
- package/title/index.d.ts +22 -2
- package/title/index.js +31 -32
- package/title/types.d.ts +1 -21
- package/title/types.js +1 -1
- package/title/utils.js +14 -18
- package/toast/index.d.ts +22 -2
- package/toast/index.js +34 -37
- package/toast/types.d.ts +1 -21
- package/toast/types.js +1 -1
- package/toast/utils.js +1 -4
- package/toast-manager/index.d.ts +22 -3
- package/toast-manager/index.js +63 -77
- package/toast-manager/types.d.ts +1 -21
- package/toast-manager/types.js +1 -1
- package/toast-manager/utils.js +1 -4
- package/toggle/index.d.ts +22 -1
- package/toggle/index.js +75 -81
- package/toggle/types.d.ts +1 -21
- package/toggle/types.js +1 -1
- package/tooltip/index.d.ts +22 -3
- package/tooltip/index.js +93 -105
- package/tooltip/tooltip-state.js +64 -56
- package/tooltip/types.d.ts +1 -21
- package/tooltip/types.js +1 -1
- package/tooltip/utils.js +13 -32
- package/types.d.ts +29 -12
- package/utils/adapters.js +1 -1
- package/utils/context.js +42 -32
- package/utils/countries.js +2 -490
- package/utils/csv.js +6 -13
- package/utils/debounce.js +3 -10
- package/utils/dom.js +53 -60
- package/utils/element.d.ts +15 -107
- package/utils/element.js +19 -100
- package/utils/event-target.js +5 -11
- package/utils/form.js +12 -17
- package/utils/get-react-event-handler.js +3 -6
- package/utils/index.js +12 -65
- package/utils/markdown.js +43 -56
- package/utils/rect.js +18 -13
- package/utils/size.js +3 -8
- package/utils/slot.js +9 -13
- package/utils/throttle.js +2 -5
- package/utils/uid.js +2 -5
- package/vertical-stepper/index.d.ts +33 -0
- package/vertical-stepper/index.js +58 -0
- package/vertical-stepper/types.d.ts +34 -0
- package/vertical-stepper/types.js +1 -0
- package/vertical-stepper-item/index.d.ts +38 -0
- package/vertical-stepper-item/index.js +62 -0
- package/vertical-stepper-item/types.d.ts +42 -0
- package/vertical-stepper-item/types.js +1 -0
- package/vertical-stepper-item/utils.d.ts +2 -0
- package/vertical-stepper-item/utils.js +1 -0
- package/accordion/global/index.d.ts +0 -1
- package/accordion/global/index.js +0 -2
- package/accordion-item/global/index.d.ts +0 -1
- package/accordion-item/global/index.js +0 -2
- package/action-menu/global/index.d.ts +0 -1
- package/action-menu/global/index.js +0 -2
- package/action-menu-option/global/index.d.ts +0 -1
- package/action-menu-option/global/index.js +0 -2
- package/alert/global/index.d.ts +0 -1
- package/alert/global/index.js +0 -2
- package/avatar/global/index.d.ts +0 -1
- package/avatar/global/index.js +0 -2
- package/badge/global/index.d.ts +0 -1
- package/badge/global/index.js +0 -2
- package/bundle.d.ts +0 -78
- package/bundle.js +0 -13033
- package/bundle.ts +0 -80
- package/button/global/index.d.ts +0 -1
- package/button/global/index.js +0 -2
- package/button-group/global/index.d.ts +0 -1
- package/button-group/global/index.js +0 -2
- package/button-group-item/global/index.d.ts +0 -1
- package/button-group-item/global/index.js +0 -2
- package/card-container/global/index.d.ts +0 -1
- package/card-container/global/index.js +0 -2
- package/card-v2/global/index.d.ts +0 -1
- package/card-v2/global/index.js +0 -2
- package/card-v2-title/global/index.d.ts +0 -1
- package/card-v2-title/global/index.js +0 -2
- package/checkbox/global/index.d.ts +0 -1
- package/checkbox/global/index.js +0 -2
- package/chip/global/index.d.ts +0 -1
- package/chip/global/index.js +0 -2
- package/code-tag/global/index.d.ts +0 -1
- package/code-tag/global/index.js +0 -2
- package/color-menu/global/index.d.ts +0 -1
- package/color-menu/global/index.js +0 -2
- package/color-menu-option/global/index.d.ts +0 -1
- package/color-menu-option/global/index.js +0 -2
- package/color-swatch/global/index.d.ts +0 -1
- package/color-swatch/global/index.js +0 -2
- package/date-picker/global/index.d.ts +0 -1
- package/date-picker/global/index.js +0 -2
- package/dialog/global/index.d.ts +0 -1
- package/dialog/global/index.js +0 -2
- package/emoji/global/index.d.ts +0 -1
- package/emoji/global/index.js +0 -2
- package/emoji-picker/global/index.d.ts +0 -1
- package/emoji-picker/global/index.js +0 -2
- package/field/global/index.d.ts +0 -1
- package/field/global/index.js +0 -2
- package/file-drop/global/index.d.ts +0 -1
- package/file-drop/global/index.js +0 -2
- package/file-picker/global/index.d.ts +0 -1
- package/file-picker/global/index.js +0 -2
- package/file-status/global/index.d.ts +0 -1
- package/file-status/global/index.js +0 -2
- package/flag/global/index.d.ts +0 -1
- package/flag/global/index.js +0 -2
- package/grid/global/index.d.ts +0 -1
- package/grid/global/index.js +0 -2
- package/grid-item/global/index.d.ts +0 -1
- package/grid-item/global/index.js +0 -2
- package/help-tooltip/global/index.d.ts +0 -1
- package/help-tooltip/global/index.js +0 -2
- package/icon/global/index.d.ts +0 -1
- package/icon/global/index.js +0 -2
- package/inline-alert/global/index.d.ts +0 -1
- package/inline-alert/global/index.js +0 -2
- package/input/global/index.d.ts +0 -1
- package/input/global/index.js +0 -2
- package/link/global/index.d.ts +0 -1
- package/link/global/index.js +0 -2
- package/list/global/index.d.ts +0 -1
- package/list/global/index.js +0 -2
- package/list-item/global/index.d.ts +0 -1
- package/list-item/global/index.js +0 -2
- package/pagination/global/index.d.ts +0 -1
- package/pagination/global/index.js +0 -2
- package/persistent-overlay/global/index.d.ts +0 -1
- package/persistent-overlay/global/index.js +0 -2
- package/pop/global/index.d.ts +0 -1
- package/pop/global/index.js +0 -2
- package/popover/global/index.d.ts +0 -1
- package/popover/global/index.js +0 -2
- package/progress/global/index.d.ts +0 -1
- package/progress/global/index.js +0 -2
- package/progress-stepper/global/index.d.ts +0 -1
- package/progress-stepper/global/index.js +0 -2
- package/progress-stepper-item/global/index.d.ts +0 -1
- package/progress-stepper-item/global/index.js +0 -2
- package/radio/global/index.d.ts +0 -1
- package/radio/global/index.js +0 -2
- package/radio-option/global/index.d.ts +0 -1
- package/radio-option/global/index.js +0 -2
- package/rich-text/global/index.d.ts +0 -1
- package/rich-text/global/index.js +0 -2
- package/rich-textarea/global/index.d.ts +0 -1
- package/rich-textarea/global/index.js +0 -2
- package/segment-collapse/global/index.d.ts +0 -1
- package/segment-collapse/global/index.js +0 -2
- package/segmented-control/global/index.d.ts +0 -1
- package/segmented-control/global/index.js +0 -2
- package/segmented-control-option/global/index.d.ts +0 -1
- package/segmented-control-option/global/index.js +0 -2
- package/segmented-icon-control/global/index.d.ts +0 -1
- package/segmented-icon-control/global/index.js +0 -2
- package/segmented-icon-control-option/global/index.d.ts +0 -1
- package/segmented-icon-control-option/global/index.js +0 -2
- package/select-button/global/index.d.ts +0 -1
- package/select-button/global/index.js +0 -2
- package/select-menu/global/index.d.ts +0 -1
- package/select-menu/global/index.js +0 -2
- package/select-menu-option/global/index.d.ts +0 -1
- package/select-menu-option/global/index.js +0 -2
- package/skeleton/global/index.d.ts +0 -1
- package/skeleton/global/index.js +0 -2
- package/skeleton-item/global/index.d.ts +0 -1
- package/skeleton-item/global/index.js +0 -2
- package/spinner/global/index.d.ts +0 -1
- package/spinner/global/index.js +0 -2
- package/table/global/index.d.ts +0 -1
- package/table/global/index.js +0 -2
- package/table-body/global/index.d.ts +0 -1
- package/table-body/global/index.js +0 -2
- package/table-cell/global/index.d.ts +0 -1
- package/table-cell/global/index.js +0 -2
- package/table-head/global/index.d.ts +0 -1
- package/table-head/global/index.js +0 -2
- package/table-head-cell/global/index.d.ts +0 -1
- package/table-head-cell/global/index.js +0 -2
- package/table-row/global/index.d.ts +0 -1
- package/table-row/global/index.js +0 -2
- package/tabs/global/index.d.ts +0 -1
- package/tabs/global/index.js +0 -2
- package/tabs-icon-option/global/index.d.ts +0 -1
- package/tabs-icon-option/global/index.js +0 -2
- package/tabs-option/global/index.d.ts +0 -1
- package/tabs-option/global/index.js +0 -2
- package/tag/global/index.d.ts +0 -1
- package/tag/global/index.js +0 -2
- package/text/global/index.d.ts +0 -1
- package/text/global/index.js +0 -2
- package/textarea/global/index.d.ts +0 -1
- package/textarea/global/index.js +0 -2
- package/time-picker/global/index.d.ts +0 -1
- package/time-picker/global/index.js +0 -2
- package/title/global/index.d.ts +0 -1
- package/title/global/index.js +0 -2
- package/toast/global/index.d.ts +0 -1
- package/toast/global/index.js +0 -2
- package/toast-manager/global/index.d.ts +0 -1
- package/toast-manager/global/index.js +0 -2
- package/toggle/global/index.d.ts +0 -1
- package/toggle/global/index.js +0 -2
- package/tooltip/global/index.d.ts +0 -1
- package/tooltip/global/index.js +0 -2
- package/utils/component-names.d.ts +0 -3
- package/utils/component-names.js +0 -85
- package/utils/global-components-constants.d.ts +0 -3
- package/utils/global-components-constants.js +0 -8
- package/utils/global-components-manager.d.ts +0 -71
- package/utils/global-components-manager.js +0 -24
- package/utils/shared/global-elements-manager.d.js +0 -1
- package/utils/shared/global-elements-manager.d.ts +0 -62
- package/utils/shared/global-elements-manager.js +0 -163
- package/utils/shared/global-elements-store.d.js +0 -1
- package/utils/shared/global-elements-store.d.ts +0 -12
- package/utils/shared/global-elements-store.js +0 -31
- package/utils/shared/index.d.js +0 -11
- package/utils/shared/index.d.ts +0 -3
- package/utils/shared/index.js +0 -11
- package/utils/shared/nectary-element-base.d.js +0 -1
- package/utils/shared/nectary-element-base.d.ts +0 -9
- package/utils/shared/nectary-element-base.js +0 -25
- package/utils/shared/package.json +0 -9
- package/utils/shared/tsconfig.json +0 -20
package/date-picker/utils.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
const DAYS_IN_WEEK = 7;
|
|
2
|
-
const pad =
|
|
3
|
-
return value.toString().padStart(2,
|
|
2
|
+
const pad = value => {
|
|
3
|
+
return value.toString().padStart(2, '0');
|
|
4
4
|
};
|
|
5
|
-
const getCalendarMonth = (date, options) => {
|
|
6
|
-
const {
|
|
5
|
+
export const getCalendarMonth = (date, options) => {
|
|
6
|
+
const {
|
|
7
|
+
firstDayOfWeek
|
|
8
|
+
} = {
|
|
7
9
|
firstDayOfWeek: 1,
|
|
8
10
|
...options
|
|
9
11
|
};
|
|
@@ -31,129 +33,110 @@ const getCalendarMonth = (date, options) => {
|
|
|
31
33
|
}
|
|
32
34
|
return month;
|
|
33
35
|
};
|
|
34
|
-
const dateToIso =
|
|
36
|
+
export const dateToIso = date => {
|
|
35
37
|
return `${date.getUTCFullYear()}-${pad(date.getUTCMonth() + 1)}-${pad(date.getUTCDate())}`;
|
|
36
38
|
};
|
|
37
|
-
const isoToDate =
|
|
38
|
-
return
|
|
39
|
+
export const isoToDate = value => {
|
|
40
|
+
return new Date(`${value.substring(0, 10)}T00:00:00Z`);
|
|
39
41
|
};
|
|
40
|
-
const today = () => {
|
|
41
|
-
const
|
|
42
|
-
return new Date(Date.UTC(
|
|
42
|
+
export const today = () => {
|
|
43
|
+
const today = new Date();
|
|
44
|
+
return new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate()));
|
|
43
45
|
};
|
|
44
|
-
const getDayNames =
|
|
45
|
-
const formatter = new Intl.DateTimeFormat(locale, {
|
|
46
|
-
|
|
46
|
+
export const getDayNames = locale => {
|
|
47
|
+
const formatter = new Intl.DateTimeFormat(locale, {
|
|
48
|
+
weekday: 'narrow',
|
|
49
|
+
timeZone: 'UTC'
|
|
50
|
+
});
|
|
51
|
+
return [1, 2, 3, 4, 5, 6, 7].map(dd => {
|
|
47
52
|
const date = new Date(Date.UTC(2018, 0, dd));
|
|
48
53
|
return formatter.format(date);
|
|
49
54
|
});
|
|
50
55
|
};
|
|
51
|
-
const getMonthNames =
|
|
52
|
-
const formatter = new Intl.DateTimeFormat(locale, {
|
|
53
|
-
|
|
56
|
+
export const getMonthNames = locale => {
|
|
57
|
+
const formatter = new Intl.DateTimeFormat(locale, {
|
|
58
|
+
month: 'short',
|
|
59
|
+
timeZone: 'UTC'
|
|
60
|
+
});
|
|
61
|
+
return [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(mm => {
|
|
54
62
|
const date = new Date(Date.UTC(2018, mm, 1));
|
|
55
63
|
return formatter.format(date);
|
|
56
64
|
});
|
|
57
65
|
};
|
|
58
|
-
const isValidDate =
|
|
66
|
+
export const isValidDate = value => {
|
|
59
67
|
return value instanceof Date && !isNaN(value);
|
|
60
68
|
};
|
|
61
|
-
const compareDates = (a, b) => {
|
|
69
|
+
export const compareDates = (a, b) => {
|
|
62
70
|
return a.getTime() - b.getTime();
|
|
63
71
|
};
|
|
64
|
-
const clampMinDate = (date, min) => {
|
|
72
|
+
export const clampMinDate = (date, min) => {
|
|
65
73
|
if (compareDates(min, date) > 0) {
|
|
66
74
|
date.setTime(min.getTime());
|
|
67
75
|
}
|
|
68
76
|
};
|
|
69
|
-
const clampMaxDate = (date, max) => {
|
|
77
|
+
export const clampMaxDate = (date, max) => {
|
|
70
78
|
if (compareDates(date, max) > 0) {
|
|
71
79
|
date.setTime(max.getTime());
|
|
72
80
|
}
|
|
73
81
|
};
|
|
74
|
-
const incMonth = (date, max) => {
|
|
82
|
+
export const incMonth = (date, max) => {
|
|
75
83
|
date.setUTCMonth(date.getUTCMonth() + 1);
|
|
76
84
|
clampMaxDate(date, max);
|
|
77
85
|
};
|
|
78
|
-
const decMonth = (date, min) => {
|
|
86
|
+
export const decMonth = (date, min) => {
|
|
79
87
|
date.setUTCMonth(date.getUTCMonth() - 1);
|
|
80
88
|
clampMinDate(date, min);
|
|
81
89
|
};
|
|
82
|
-
const incYear = (date, max) => {
|
|
90
|
+
export const incYear = (date, max) => {
|
|
83
91
|
date.setUTCFullYear(date.getUTCFullYear() + 1);
|
|
84
92
|
clampMaxDate(date, max);
|
|
85
93
|
};
|
|
86
|
-
const decYear = (date, min) => {
|
|
94
|
+
export const decYear = (date, min) => {
|
|
87
95
|
date.setUTCFullYear(date.getUTCFullYear() - 1);
|
|
88
96
|
clampMinDate(date, min);
|
|
89
97
|
};
|
|
90
|
-
const canGoPrevMonth = (date, min) => {
|
|
98
|
+
export const canGoPrevMonth = (date, min) => {
|
|
91
99
|
const prevMonth = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 0));
|
|
92
100
|
return compareDates(prevMonth, min) >= 0;
|
|
93
101
|
};
|
|
94
|
-
const canGoNextMonth = (date, max) => {
|
|
102
|
+
export const canGoNextMonth = (date, max) => {
|
|
95
103
|
const nextMonth = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth() + 1, 1));
|
|
96
104
|
return compareDates(max, nextMonth) >= 0;
|
|
97
105
|
};
|
|
98
|
-
const canGoNextYear = (date, max) => {
|
|
106
|
+
export const canGoNextYear = (date, max) => {
|
|
99
107
|
const nextYear = new Date(Date.UTC(date.getUTCFullYear() + 1, 0, 1));
|
|
100
108
|
return compareDates(max, nextYear) >= 0;
|
|
101
109
|
};
|
|
102
|
-
const canGoPrevYear = (date, min) => {
|
|
110
|
+
export const canGoPrevYear = (date, min) => {
|
|
103
111
|
const prevYear = new Date(Date.UTC(date.getUTCFullYear(), 0, 0));
|
|
104
112
|
return compareDates(prevYear, min) >= 0;
|
|
105
113
|
};
|
|
106
|
-
const isDateBetween = (date, min, max) => {
|
|
114
|
+
export const isDateBetween = (date, min, max) => {
|
|
107
115
|
if (min === null || max === null) {
|
|
108
116
|
return false;
|
|
109
117
|
}
|
|
110
118
|
return compareDates(date, min) >= 0 && compareDates(max, date) >= 0;
|
|
111
119
|
};
|
|
112
|
-
const areDatesEqual = (a, b) => {
|
|
120
|
+
export const areDatesEqual = (a, b) => {
|
|
113
121
|
if (b === null) {
|
|
114
122
|
return false;
|
|
115
123
|
}
|
|
116
124
|
return compareDates(a, b) === 0;
|
|
117
125
|
};
|
|
118
|
-
const cloneDate =
|
|
126
|
+
export const cloneDate = date => {
|
|
119
127
|
return new Date(date.getTime());
|
|
120
128
|
};
|
|
121
|
-
const sortDates =
|
|
129
|
+
export const sortDates = dateTuple => {
|
|
122
130
|
if (compareDates(dateTuple[0], dateTuple[1]) > 0) {
|
|
123
131
|
return [dateTuple[1], dateTuple[0]];
|
|
124
132
|
}
|
|
125
133
|
return dateTuple;
|
|
126
134
|
};
|
|
127
|
-
const isDateOnScreen = (uiDate, date) => {
|
|
135
|
+
export const isDateOnScreen = (uiDate, date) => {
|
|
128
136
|
if (uiDate === null || date === null) {
|
|
129
137
|
return false;
|
|
130
138
|
}
|
|
131
139
|
const firstDateOfMonth = new Date(Date.UTC(uiDate.getUTCFullYear(), uiDate.getUTCMonth(), 1));
|
|
132
140
|
const lastDateOfMonth = new Date(Date.UTC(uiDate.getUTCFullYear(), uiDate.getUTCMonth() + 1, 0));
|
|
133
141
|
return isDateBetween(date, firstDateOfMonth, lastDateOfMonth);
|
|
134
|
-
};
|
|
135
|
-
export {
|
|
136
|
-
areDatesEqual,
|
|
137
|
-
canGoNextMonth,
|
|
138
|
-
canGoNextYear,
|
|
139
|
-
canGoPrevMonth,
|
|
140
|
-
canGoPrevYear,
|
|
141
|
-
clampMaxDate,
|
|
142
|
-
clampMinDate,
|
|
143
|
-
cloneDate,
|
|
144
|
-
compareDates,
|
|
145
|
-
dateToIso,
|
|
146
|
-
decMonth,
|
|
147
|
-
decYear,
|
|
148
|
-
getCalendarMonth,
|
|
149
|
-
getDayNames,
|
|
150
|
-
getMonthNames,
|
|
151
|
-
incMonth,
|
|
152
|
-
incYear,
|
|
153
|
-
isDateBetween,
|
|
154
|
-
isDateOnScreen,
|
|
155
|
-
isValidDate,
|
|
156
|
-
isoToDate,
|
|
157
|
-
sortDates,
|
|
158
|
-
today
|
|
159
|
-
};
|
|
142
|
+
};
|
package/dialog/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ import '../icon';
|
|
|
2
2
|
import '../stop-events';
|
|
3
3
|
import '../title';
|
|
4
4
|
import { NectaryElement } from '../utils';
|
|
5
|
-
|
|
5
|
+
import type { TSinchDialog } from './types';
|
|
6
|
+
import type { NectaryComponentReact, NectaryComponentVanilla } from '../types';
|
|
6
7
|
export declare class Dialog extends NectaryElement {
|
|
7
8
|
#private;
|
|
8
9
|
constructor();
|
|
@@ -17,3 +18,23 @@ export declare class Dialog extends NectaryElement {
|
|
|
17
18
|
get dialogRect(): import("../types").TRect;
|
|
18
19
|
get closeButtonRect(): import("../types").TRect;
|
|
19
20
|
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface NectaryComponentMap {
|
|
23
|
+
'sinch-dialog': TSinchDialog;
|
|
24
|
+
}
|
|
25
|
+
interface HTMLElementTagNameMap {
|
|
26
|
+
'sinch-dialog': NectaryComponentVanilla<'sinch-dialog'>;
|
|
27
|
+
}
|
|
28
|
+
namespace JSX {
|
|
29
|
+
interface IntrinsicElements {
|
|
30
|
+
'sinch-dialog': NectaryComponentReact<'sinch-dialog'>;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
declare module 'react' {
|
|
35
|
+
namespace JSX {
|
|
36
|
+
interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
|
|
37
|
+
'sinch-dialog': NectaryComponentReact<'sinch-dialog'>;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/dialog/index.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
import { isTargetEqual } from "../utils/event-target.js";
|
|
9
|
-
import { disableScroll, enableScroll } from "./utils.js";
|
|
10
|
-
const templateHTML = '<style>\n :host {\n display: contents;\n\n --sinch-comp-dialog-max-width: 512px;\n --sinch-comp-dialog-max-height: 90vh;\n --sinch-comp-dialog-width: fit-content;\n --sinch-dialog-close-button-display: unset;\n }\n\n #dialog {\n position: fixed;\n left: 0;\n right: 0;\n margin: auto;\n display: flex;\n flex-direction: column;\n padding: 24px 0;\n width: var(--sinch-comp-dialog-width);\n max-width: var(--sinch-comp-dialog-max-width);\n max-height: var(--sinch-comp-dialog-max-height);\n border-radius: var(--sinch-comp-dialog-shape-radius);\n box-sizing: border-box;\n contain: content;\n background-color: var(--sinch-comp-dialog-color-default-background-initial);\n border: none;\n box-shadow: var(--sinch-comp-dialog-shadow);\n outline: none;\n }\n\n #dialog:not([open]) {\n display: none;\n }\n\n dialog::backdrop {\n background-color: black;\n opacity: 0.55;\n }\n\n #header {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n margin-bottom: 12px;\n padding: 0 24px;\n gap: 8px;\n\n --sinch-global-size-icon: 24px;\n --sinch-global-color-icon:\n var(\n --sinch-comp-dialog-color-default-icon-initial\n );\n }\n\n #caption {\n --sinch-global-color-text:\n var(\n --sinch-comp-dialog-color-default-title-initial\n );\n --sinch-comp-title-font: var(--sinch-comp-dialog-font-title);\n }\n\n #content {\n min-height: 0;\n overflow: auto;\n padding: 4px 24px;\n }\n\n #action {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n gap: 16px;\n margin-top: 20px;\n padding: 0 24px;\n }\n\n #action.empty {\n display: none;\n }\n\n #close {\n display: var(--sinch-dialog-close-button-display, initial);\n position: relative;\n left: 4px;\n top: -4px;\n margin-left: auto;\n }\n</style>\n\n<dialog id="dialog">\n <div id="header">\n <slot id="icon" name="icon"></slot>\n <sinch-title id="caption" type="m" level="3"></sinch-title>\n <sinch-button id="close" size="s">\n <sinch-icon icons-version="2" name="fa-xmark" id="icon-close" slot="icon"></sinch-icon>\n </sinch-button>\n </div>\n <div id="content">\n <sinch-stop-events events="close">\n <slot name="content"></slot>\n </sinch-stop-events>\n </div>\n <div id="action">\n <sinch-stop-events events="close">\n <slot name="buttons"></slot>\n </sinch-stop-events>\n </div>\n</dialog>\n';
|
|
11
|
-
const template = document.createElement("template");
|
|
1
|
+
import '../icon';
|
|
2
|
+
import '../stop-events';
|
|
3
|
+
import '../title';
|
|
4
|
+
import { defineCustomElement, getAttribute, getBooleanAttribute, getRect, isAttrTrue, updateAttribute, getReactEventHandler, NectaryElement, updateBooleanAttribute, setClass, isTargetEqual, isAttrEqual } from '../utils';
|
|
5
|
+
const templateHTML = '<style>:host{display:contents;--sinch-comp-dialog-max-width:512px;--sinch-comp-dialog-max-height:90vh;--sinch-comp-dialog-width:fit-content;--sinch-dialog-close-button-display:unset}#dialog{position:fixed;left:0;right:0;margin:auto;display:flex;flex-direction:column;padding:24px 0;width:var(--sinch-comp-dialog-width);max-width:var(--sinch-comp-dialog-max-width);max-height:var(--sinch-comp-dialog-max-height);border-radius:var(--sinch-comp-dialog-shape-radius);box-sizing:border-box;contain:content;background-color:var(--sinch-comp-dialog-color-default-background-initial);border:none;box-shadow:var(--sinch-comp-dialog-shadow);outline:0}#dialog:not([open]){display:none}dialog::backdrop{background-color:#000;opacity:.55}#header{display:flex;flex-direction:row;align-items:flex-start;margin-bottom:12px;padding:0 24px;gap:8px;--sinch-global-size-icon:24px;--sinch-global-color-icon:var(--sinch-comp-dialog-color-default-icon-initial)}#caption{--sinch-global-color-text:var(--sinch-comp-dialog-color-default-title-initial);--sinch-comp-title-font:var(--sinch-comp-dialog-font-title)}#content{min-height:0;overflow:auto;padding:4px 24px}#action{display:flex;flex-direction:row;justify-content:flex-end;gap:16px;margin-top:20px;padding:0 24px}#action.empty{display:none}#close{display:var(--sinch-dialog-close-button-display,initial);position:relative;left:4px;top:-4px;margin-left:auto}</style><dialog id="dialog"><div id="header"><slot id="icon" name="icon"></slot><sinch-title id="caption" type="m" level="3"></sinch-title><sinch-button id="close" size="s"><sinch-icon icons-version="2" name="fa-xmark" id="icon-close" slot="icon"></sinch-icon></sinch-button></div><div id="content"><sinch-stop-events events="close"><slot name="content"></slot></sinch-stop-events></div><div id="action"><sinch-stop-events events="close"><slot name="buttons"></slot></sinch-stop-events></div></dialog>';
|
|
6
|
+
import { disableScroll, enableScroll } from './utils';
|
|
7
|
+
const template = document.createElement('template');
|
|
12
8
|
template.innerHTML = templateHTML;
|
|
13
|
-
class Dialog extends NectaryElement {
|
|
9
|
+
export class Dialog extends NectaryElement {
|
|
14
10
|
#$dialog;
|
|
15
11
|
#$closeButton;
|
|
16
12
|
#$caption;
|
|
@@ -21,10 +17,10 @@ class Dialog extends NectaryElement {
|
|
|
21
17
|
super();
|
|
22
18
|
const shadowRoot = this.attachShadow();
|
|
23
19
|
shadowRoot.appendChild(template.content.cloneNode(true));
|
|
24
|
-
this.#$dialog = shadowRoot.querySelector(
|
|
25
|
-
this.#$closeButton = shadowRoot.querySelector(
|
|
26
|
-
this.#$caption = shadowRoot.querySelector(
|
|
27
|
-
this.#$actionWrapper = shadowRoot.querySelector(
|
|
20
|
+
this.#$dialog = shadowRoot.querySelector('#dialog');
|
|
21
|
+
this.#$closeButton = shadowRoot.querySelector('#close');
|
|
22
|
+
this.#$caption = shadowRoot.querySelector('#caption');
|
|
23
|
+
this.#$actionWrapper = shadowRoot.querySelector('#action');
|
|
28
24
|
this.#$actionSlot = shadowRoot.querySelector('slot[name="buttons"]');
|
|
29
25
|
}
|
|
30
26
|
connectedCallback() {
|
|
@@ -33,20 +29,12 @@ class Dialog extends NectaryElement {
|
|
|
33
29
|
const options = {
|
|
34
30
|
signal: this.#controller.signal
|
|
35
31
|
};
|
|
36
|
-
this.setAttribute(
|
|
37
|
-
this.#$closeButton.addEventListener(
|
|
38
|
-
this.#$dialog.addEventListener(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
);
|
|
43
|
-
this.#$dialog.addEventListener("cancel", this.#onCancel, options);
|
|
44
|
-
this.#$actionSlot.addEventListener(
|
|
45
|
-
"slotchange",
|
|
46
|
-
this.#onActionSlotChange,
|
|
47
|
-
options
|
|
48
|
-
);
|
|
49
|
-
this.addEventListener("-close", this.#onCloseReactHandler, options);
|
|
32
|
+
this.setAttribute('role', 'dialog');
|
|
33
|
+
this.#$closeButton.addEventListener('click', this.#onCloseClick, options);
|
|
34
|
+
this.#$dialog.addEventListener('mousedown', this.#onBackdropMouseDown, options);
|
|
35
|
+
this.#$dialog.addEventListener('cancel', this.#onCancel, options);
|
|
36
|
+
this.#$actionSlot.addEventListener('slotchange', this.#onActionSlotChange, options);
|
|
37
|
+
this.addEventListener('-close', this.#onCloseReactHandler, options);
|
|
50
38
|
this.#onActionSlotChange();
|
|
51
39
|
if (this.open) {
|
|
52
40
|
this.#onExpand();
|
|
@@ -59,46 +47,49 @@ class Dialog extends NectaryElement {
|
|
|
59
47
|
this.#controller = null;
|
|
60
48
|
}
|
|
61
49
|
static get observedAttributes() {
|
|
62
|
-
return [
|
|
50
|
+
return ['caption', 'open', 'close-aria-label'];
|
|
63
51
|
}
|
|
64
52
|
attributeChangedCallback(name, oldVal, newVal) {
|
|
65
53
|
if (isAttrEqual(oldVal, newVal)) {
|
|
66
54
|
return;
|
|
67
55
|
}
|
|
68
56
|
switch (name) {
|
|
69
|
-
case
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
57
|
+
case 'caption':
|
|
58
|
+
{
|
|
59
|
+
updateAttribute(this.#$caption, 'text', newVal);
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
case 'open':
|
|
63
|
+
{
|
|
64
|
+
const shouldOpen = isAttrTrue(newVal);
|
|
65
|
+
if (shouldOpen) {
|
|
66
|
+
requestAnimationFrame(() => {
|
|
67
|
+
this.#onExpand();
|
|
68
|
+
});
|
|
69
|
+
} else {
|
|
70
|
+
this.#onCollapse();
|
|
71
|
+
}
|
|
72
|
+
updateBooleanAttribute(this, 'open', shouldOpen);
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
case 'close-aria-label':
|
|
76
|
+
{
|
|
77
|
+
updateAttribute(this.#$closeButton, 'aria-label', newVal);
|
|
78
|
+
break;
|
|
81
79
|
}
|
|
82
|
-
updateBooleanAttribute(this, "open", shouldOpen);
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
case "close-aria-label": {
|
|
86
|
-
updateAttribute(this.#$closeButton, "aria-label", newVal);
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
80
|
}
|
|
90
81
|
}
|
|
91
82
|
set caption(caption) {
|
|
92
|
-
updateAttribute(this,
|
|
83
|
+
updateAttribute(this, 'caption', caption);
|
|
93
84
|
}
|
|
94
85
|
get caption() {
|
|
95
|
-
return getAttribute(this,
|
|
86
|
+
return getAttribute(this, 'caption', '');
|
|
96
87
|
}
|
|
97
88
|
set open(isOpen) {
|
|
98
|
-
updateBooleanAttribute(this,
|
|
89
|
+
updateBooleanAttribute(this, 'open', isOpen);
|
|
99
90
|
}
|
|
100
91
|
get open() {
|
|
101
|
-
return getBooleanAttribute(this,
|
|
92
|
+
return getBooleanAttribute(this, 'open');
|
|
102
93
|
}
|
|
103
94
|
get dialogRect() {
|
|
104
95
|
return getRect(this.#$dialog);
|
|
@@ -106,33 +97,36 @@ class Dialog extends NectaryElement {
|
|
|
106
97
|
get closeButtonRect() {
|
|
107
98
|
return getRect(this.#$closeButton);
|
|
108
99
|
}
|
|
109
|
-
#onCancel =
|
|
100
|
+
#onCancel = e => {
|
|
110
101
|
if (e.cancelable) {
|
|
111
102
|
e.preventDefault();
|
|
112
103
|
} else {
|
|
113
104
|
this.#onCollapse();
|
|
114
105
|
}
|
|
115
106
|
e.stopPropagation();
|
|
116
|
-
this.#dispatchCloseEvent(
|
|
107
|
+
this.#dispatchCloseEvent('escape', e.cancelable);
|
|
117
108
|
};
|
|
118
109
|
#onCloseClick = () => {
|
|
119
|
-
this.#dispatchCloseEvent(
|
|
110
|
+
this.#dispatchCloseEvent('close', true);
|
|
120
111
|
};
|
|
121
|
-
#onBackdropMouseDown =
|
|
112
|
+
#onBackdropMouseDown = e => {
|
|
122
113
|
if (isTargetEqual(e, this.#$dialog)) {
|
|
123
114
|
const rect = this.dialogRect;
|
|
124
115
|
const isInside = e.x >= rect.x && e.x < rect.x + rect.width && e.y >= rect.y && e.y < rect.y + rect.height;
|
|
125
116
|
if (!isInside) {
|
|
126
117
|
e.stopPropagation();
|
|
127
|
-
this.#dispatchCloseEvent(
|
|
118
|
+
this.#dispatchCloseEvent('backdrop', e.cancelable);
|
|
128
119
|
}
|
|
129
120
|
}
|
|
130
121
|
};
|
|
131
|
-
#onCloseReactHandler =
|
|
132
|
-
getReactEventHandler(this,
|
|
122
|
+
#onCloseReactHandler = e => {
|
|
123
|
+
getReactEventHandler(this, 'on-close')?.(e);
|
|
133
124
|
};
|
|
134
125
|
#dispatchCloseEvent(detail, cancelable) {
|
|
135
|
-
this.dispatchEvent(new CustomEvent(
|
|
126
|
+
this.dispatchEvent(new CustomEvent('-close', {
|
|
127
|
+
detail,
|
|
128
|
+
cancelable
|
|
129
|
+
}));
|
|
136
130
|
}
|
|
137
131
|
#onExpand() {
|
|
138
132
|
if (!this.isDomConnected || this.#$dialog.open || !this.open) {
|
|
@@ -149,14 +143,7 @@ class Dialog extends NectaryElement {
|
|
|
149
143
|
enableScroll();
|
|
150
144
|
}
|
|
151
145
|
#onActionSlotChange = () => {
|
|
152
|
-
setClass(
|
|
153
|
-
this.#$actionWrapper,
|
|
154
|
-
"empty",
|
|
155
|
-
this.#$actionSlot.assignedElements().length === 0
|
|
156
|
-
);
|
|
146
|
+
setClass(this.#$actionWrapper, 'empty', this.#$actionSlot.assignedElements().length === 0);
|
|
157
147
|
};
|
|
158
148
|
}
|
|
159
|
-
defineCustomElement(
|
|
160
|
-
export {
|
|
161
|
-
Dialog
|
|
162
|
-
};
|
|
149
|
+
defineCustomElement('sinch-dialog', Dialog);
|
package/dialog/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NectaryComponentReactByType, NectaryComponentVanillaByType, TRect
|
|
1
|
+
import type { NectaryComponentReactByType, NectaryComponentVanillaByType, TRect } from '../types';
|
|
2
2
|
export type TSinchDialogCloseDetail = 'close' | 'escape' | 'backdrop';
|
|
3
3
|
export type TSinchDialogProps = {
|
|
4
4
|
/** Controls whether the dialog should be open */
|
|
@@ -39,23 +39,3 @@ export type TSinchDialog = {
|
|
|
39
39
|
};
|
|
40
40
|
export type TSinchDialogElement = NectaryComponentVanillaByType<TSinchDialog>;
|
|
41
41
|
export type TSinchDialogReact = NectaryComponentReactByType<TSinchDialog>;
|
|
42
|
-
declare global {
|
|
43
|
-
interface NectaryComponentMap {
|
|
44
|
-
'sinch-dialog': TSinchDialog;
|
|
45
|
-
}
|
|
46
|
-
interface HTMLElementTagNameMap {
|
|
47
|
-
'sinch-dialog': NectaryComponentVanilla<'sinch-dialog'>;
|
|
48
|
-
}
|
|
49
|
-
namespace JSX {
|
|
50
|
-
interface IntrinsicElements {
|
|
51
|
-
'sinch-dialog': NectaryComponentReact<'sinch-dialog'>;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
declare module 'react' {
|
|
56
|
-
namespace JSX {
|
|
57
|
-
interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
|
|
58
|
-
'sinch-dialog': NectaryComponentReact<'sinch-dialog'>;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
package/dialog/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
package/dialog/utils.js
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
const bodyEl = document.body;
|
|
2
|
-
const disableScroll = () => {
|
|
2
|
+
export const disableScroll = () => {
|
|
3
3
|
bodyEl.__dialog_counter__ = (bodyEl.__dialog_counter__ ?? 0) + 1;
|
|
4
4
|
if (bodyEl.__dialog_counter__ === 1) {
|
|
5
5
|
const scrollWidth = window.innerWidth - document.documentElement.clientWidth;
|
|
6
|
-
bodyEl.style.overflow =
|
|
6
|
+
bodyEl.style.overflow = 'hidden';
|
|
7
7
|
if (scrollWidth > 0) {
|
|
8
|
-
bodyEl.style.setProperty(
|
|
8
|
+
bodyEl.style.setProperty('padding-right', `${scrollWidth}px`);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
};
|
|
12
|
-
const enableScroll = () => {
|
|
12
|
+
export const enableScroll = () => {
|
|
13
13
|
bodyEl.__dialog_counter__ = Math.max(0, (bodyEl.__dialog_counter__ ?? 0) - 1);
|
|
14
14
|
if (bodyEl.__dialog_counter__ === 0) {
|
|
15
|
-
bodyEl.style.overflow =
|
|
16
|
-
bodyEl.style.removeProperty(
|
|
15
|
+
bodyEl.style.overflow = '';
|
|
16
|
+
bodyEl.style.removeProperty('padding-right');
|
|
17
17
|
}
|
|
18
|
-
};
|
|
19
|
-
export {
|
|
20
|
-
disableScroll,
|
|
21
|
-
enableScroll
|
|
22
|
-
};
|
|
18
|
+
};
|
package/emoji/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NectaryElement } from '../utils';
|
|
2
|
-
|
|
2
|
+
import type { TSinchEmoji } from './types';
|
|
3
|
+
import type { NectaryComponentReact, NectaryComponentVanilla } from '../types';
|
|
3
4
|
export declare class Emoji extends NectaryElement {
|
|
4
5
|
#private;
|
|
5
6
|
constructor();
|
|
@@ -10,3 +11,23 @@ export declare class Emoji extends NectaryElement {
|
|
|
10
11
|
set char(value: string);
|
|
11
12
|
get char(): string;
|
|
12
13
|
}
|
|
14
|
+
declare global {
|
|
15
|
+
interface NectaryComponentMap {
|
|
16
|
+
'sinch-emoji': TSinchEmoji;
|
|
17
|
+
}
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
'sinch-emoji': NectaryComponentVanilla<'sinch-emoji'>;
|
|
20
|
+
}
|
|
21
|
+
namespace JSX {
|
|
22
|
+
interface IntrinsicElements {
|
|
23
|
+
'sinch-emoji': NectaryComponentReact<'sinch-emoji'>;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
declare module 'react' {
|
|
28
|
+
namespace JSX {
|
|
29
|
+
interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
|
|
30
|
+
'sinch-emoji': NectaryComponentReact<'sinch-emoji'>;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
package/emoji/index.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
const
|
|
5
|
-
const template = document.createElement("template");
|
|
1
|
+
import { defineCustomElement, getAttribute, NectaryElement, updateAttribute } from '../utils';
|
|
2
|
+
const templateHTML = '<style>:host{display:contents;--sinch-comp-emoji-vertical-align:initial}#image{vertical-align:var(--sinch-comp-emoji-vertical-align);pointer-events:none;width:var(--sinch-global-size-icon,48px);height:var(--sinch-global-size-icon,48px)}</style><img id="image" src="" alt="" loading="lazy"/>';
|
|
3
|
+
import { getEmojiBaseUrl, getEmojiUrl } from './utils';
|
|
4
|
+
const template = document.createElement('template');
|
|
6
5
|
template.innerHTML = templateHTML;
|
|
7
|
-
class Emoji extends NectaryElement {
|
|
6
|
+
export class Emoji extends NectaryElement {
|
|
8
7
|
#$img;
|
|
9
8
|
constructor() {
|
|
10
9
|
super();
|
|
11
10
|
const shadowRoot = this.attachShadow();
|
|
12
11
|
shadowRoot.appendChild(template.content.cloneNode(true));
|
|
13
|
-
this.#$img = shadowRoot.querySelector(
|
|
12
|
+
this.#$img = shadowRoot.querySelector('#image');
|
|
14
13
|
}
|
|
15
14
|
connectedCallback() {
|
|
16
15
|
super.connectedCallback();
|
|
@@ -20,22 +19,23 @@ class Emoji extends NectaryElement {
|
|
|
20
19
|
super.disconnectedCallback();
|
|
21
20
|
}
|
|
22
21
|
static get observedAttributes() {
|
|
23
|
-
return [
|
|
22
|
+
return ['char'];
|
|
24
23
|
}
|
|
25
24
|
attributeChangedCallback(name, _, newVal) {
|
|
26
25
|
switch (name) {
|
|
27
|
-
case
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
case 'char':
|
|
27
|
+
{
|
|
28
|
+
this.#$img.alt = newVal ?? '';
|
|
29
|
+
this.#updateChar();
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
set char(value) {
|
|
35
|
-
updateAttribute(this,
|
|
35
|
+
updateAttribute(this, 'char', value);
|
|
36
36
|
}
|
|
37
37
|
get char() {
|
|
38
|
-
return getAttribute(this,
|
|
38
|
+
return getAttribute(this, 'char', '');
|
|
39
39
|
}
|
|
40
40
|
#updateChar() {
|
|
41
41
|
if (!this.isDomConnected) {
|
|
@@ -44,7 +44,4 @@ class Emoji extends NectaryElement {
|
|
|
44
44
|
this.#$img.src = getEmojiUrl(getEmojiBaseUrl(this), this.char);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
defineCustomElement(
|
|
48
|
-
export {
|
|
49
|
-
Emoji
|
|
50
|
-
};
|
|
47
|
+
defineCustomElement('sinch-emoji', Emoji);
|
package/emoji/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NectaryComponentReactByType, NectaryComponentVanillaByType
|
|
1
|
+
import type { NectaryComponentReactByType, NectaryComponentVanillaByType } from '../types';
|
|
2
2
|
export type TSinchEmojiProps = {
|
|
3
3
|
/** Emoji character */
|
|
4
4
|
char: string;
|
|
@@ -13,23 +13,3 @@ export type TSinchEmoji = {
|
|
|
13
13
|
};
|
|
14
14
|
export type TSinchEmojiElement = NectaryComponentVanillaByType<TSinchEmoji>;
|
|
15
15
|
export type TSinchEmojiReact = NectaryComponentReactByType<TSinchEmoji>;
|
|
16
|
-
declare global {
|
|
17
|
-
interface NectaryComponentMap {
|
|
18
|
-
'sinch-emoji': TSinchEmoji;
|
|
19
|
-
}
|
|
20
|
-
interface HTMLElementTagNameMap {
|
|
21
|
-
'sinch-emoji': NectaryComponentVanilla<'sinch-emoji'>;
|
|
22
|
-
}
|
|
23
|
-
namespace JSX {
|
|
24
|
-
interface IntrinsicElements {
|
|
25
|
-
'sinch-emoji': NectaryComponentReact<'sinch-emoji'>;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
declare module 'react' {
|
|
30
|
-
namespace JSX {
|
|
31
|
-
interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
|
|
32
|
-
'sinch-emoji': NectaryComponentReact<'sinch-emoji'>;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
package/emoji/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|