@nectary/components 4.12.1 → 5.0.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/global/index.d.ts +1 -0
- package/accordion/global/index.js +2 -0
- package/accordion/index.d.ts +1 -22
- package/accordion/index.js +41 -39
- package/accordion/types.d.ts +21 -1
- package/accordion/types.js +1 -1
- package/accordion-item/global/index.d.ts +1 -0
- package/accordion-item/global/index.js +2 -0
- package/accordion-item/index.d.ts +2 -22
- package/accordion-item/index.js +53 -49
- package/accordion-item/types.d.ts +21 -1
- package/accordion-item/types.js +1 -1
- package/accordion-item/utils.js +4 -1
- package/action-menu/global/index.d.ts +1 -0
- package/action-menu/global/index.js +2 -0
- package/action-menu/index.d.ts +1 -22
- package/action-menu/index.js +62 -77
- package/action-menu/types.d.ts +21 -1
- package/action-menu/types.js +1 -1
- package/action-menu-option/global/index.d.ts +1 -0
- package/action-menu-option/global/index.js +2 -0
- package/action-menu-option/index.d.ts +1 -22
- package/action-menu-option/index.js +39 -41
- package/action-menu-option/types.d.ts +21 -1
- package/action-menu-option/types.js +1 -1
- package/action-menu-option/utils.js +6 -3
- package/alert/global/index.d.ts +1 -0
- package/alert/global/index.js +2 -0
- package/alert/index.d.ts +2 -22
- package/alert/index.js +24 -21
- package/alert/types.d.ts +21 -1
- package/alert/types.js +1 -1
- package/alert/utils.js +4 -1
- package/avatar/colors.js +1 -1
- package/avatar/global/index.d.ts +1 -0
- package/avatar/global/index.js +2 -0
- package/avatar/index.d.ts +2 -22
- package/avatar/index.js +42 -41
- package/avatar/types.d.ts +21 -1
- package/avatar/types.js +1 -1
- package/avatar/utils.js +9 -4
- package/badge/global/index.d.ts +1 -0
- package/badge/global/index.js +2 -0
- package/badge/index.d.ts +3 -22
- package/badge/index.js +52 -51
- package/badge/types.d.ts +21 -1
- package/badge/types.js +1 -1
- package/badge/utils.js +4 -1
- package/bundle.d.ts +78 -0
- package/bundle.js +13069 -0
- package/bundle.ts +80 -0
- package/button/global/index.d.ts +1 -0
- package/button/global/index.js +2 -0
- package/button/index.d.ts +2 -22
- package/button/index.js +101 -111
- package/button/types.d.ts +21 -1
- package/button/types.js +1 -1
- package/button/utils.js +18 -2
- package/button-group/global/index.d.ts +1 -0
- package/button-group/global/index.js +2 -0
- package/button-group/index.d.ts +1 -22
- package/button-group/index.js +20 -18
- package/button-group/types.d.ts +22 -3
- package/button-group/types.js +1 -1
- package/button-group-item/global/index.d.ts +1 -0
- package/button-group-item/global/index.js +2 -0
- package/button-group-item/index.d.ts +2 -22
- package/button-group-item/index.js +31 -42
- package/button-group-item/types.d.ts +22 -3
- package/button-group-item/types.js +1 -1
- package/card-container/global/index.d.ts +1 -0
- package/card-container/global/index.js +2 -0
- package/card-container/index.d.ts +1 -21
- package/card-container/index.js +8 -5
- package/card-container/types.d.ts +21 -1
- package/card-container/types.js +1 -1
- package/card-v2/global/index.d.ts +1 -0
- package/card-v2/global/index.js +2 -0
- package/card-v2/index.d.ts +1 -22
- package/card-v2/index.js +59 -57
- package/card-v2/types.d.ts +21 -1
- package/card-v2/types.js +1 -1
- package/card-v2-title/global/index.d.ts +1 -0
- package/card-v2-title/global/index.js +2 -0
- package/card-v2-title/index.d.ts +2 -22
- package/card-v2-title/index.js +28 -26
- package/card-v2-title/types.d.ts +21 -1
- package/card-v2-title/types.js +1 -1
- package/checkbox/global/index.d.ts +1 -0
- package/checkbox/global/index.js +2 -0
- package/checkbox/index.d.ts +1 -22
- package/checkbox/index.js +90 -81
- package/checkbox/types.d.ts +21 -1
- package/checkbox/types.js +1 -1
- package/chip/colors.js +1 -1
- package/chip/global/index.d.ts +1 -0
- package/chip/global/index.js +2 -0
- package/chip/index.d.ts +1 -22
- package/chip/index.js +64 -75
- package/chip/types.d.ts +21 -1
- package/chip/types.js +1 -1
- package/chip/utils.js +7 -3
- package/code-tag/global/index.d.ts +1 -0
- package/code-tag/global/index.js +2 -0
- package/code-tag/index.d.ts +1 -22
- package/code-tag/index.js +17 -14
- package/code-tag/types.d.ts +21 -1
- package/code-tag/types.js +1 -1
- package/color-menu/global/index.d.ts +1 -0
- package/color-menu/global/index.js +2 -0
- package/color-menu/index.d.ts +2 -22
- package/color-menu/index.js +115 -115
- package/color-menu/types.d.ts +21 -1
- package/color-menu/types.js +1 -1
- package/color-menu/utils.js +6 -3
- package/color-menu-option/global/index.d.ts +1 -0
- package/color-menu-option/global/index.js +2 -0
- package/color-menu-option/index.d.ts +1 -22
- package/color-menu-option/index.js +30 -26
- package/color-menu-option/types.d.ts +21 -1
- package/color-menu-option/types.js +1 -1
- package/color-menu-option/utils.js +6 -3
- package/color-swatch/global/index.d.ts +1 -0
- package/color-swatch/global/index.js +2 -0
- package/color-swatch/index.d.ts +1 -22
- package/color-swatch/index.js +23 -20
- package/color-swatch/types.d.ts +21 -1
- package/color-swatch/types.js +1 -1
- package/color-swatch/utils.js +7 -3
- package/date-picker/global/index.d.ts +1 -0
- package/date-picker/global/index.js +2 -0
- package/date-picker/index.d.ts +2 -22
- package/date-picker/index.js +157 -150
- package/date-picker/types.d.ts +21 -1
- package/date-picker/types.js +1 -1
- package/date-picker/utils.js +59 -42
- package/dialog/global/index.d.ts +1 -0
- package/dialog/global/index.js +2 -0
- package/dialog/index.d.ts +1 -22
- package/dialog/index.js +71 -58
- package/dialog/types.d.ts +21 -1
- package/dialog/types.js +1 -1
- package/dialog/utils.js +11 -7
- package/emoji/global/index.d.ts +1 -0
- package/emoji/global/index.js +2 -0
- package/emoji/index.d.ts +1 -22
- package/emoji/index.js +19 -16
- package/emoji/types.d.ts +21 -1
- package/emoji/types.js +1 -1
- package/emoji/utils.js +22 -17
- package/emoji-picker/global/index.d.ts +1 -0
- package/emoji-picker/global/index.js +2 -0
- package/emoji-picker/index.d.ts +2 -22
- package/emoji-picker/index.js +138 -118
- package/emoji-picker/types.d.ts +21 -1
- package/emoji-picker/types.js +1 -1
- package/field/global/index.d.ts +1 -0
- package/field/global/index.js +2 -0
- package/field/index.d.ts +1 -22
- package/field/index.js +63 -60
- package/field/types.d.ts +21 -1
- package/field/types.js +1 -1
- package/file-drop/global/index.d.ts +1 -0
- package/file-drop/global/index.js +2 -0
- package/file-drop/index.d.ts +1 -22
- package/file-drop/index.js +103 -98
- package/file-drop/types.d.ts +21 -1
- package/file-drop/types.js +1 -1
- package/file-drop/utils.js +27 -22
- package/file-picker/global/index.d.ts +1 -0
- package/file-picker/global/index.js +2 -0
- package/file-picker/index.d.ts +1 -22
- package/file-picker/index.js +53 -48
- package/file-picker/types.d.ts +21 -1
- package/file-picker/types.js +1 -1
- package/file-picker/utils.js +6 -3
- package/file-status/global/index.d.ts +1 -0
- package/file-status/global/index.js +2 -0
- package/file-status/index.d.ts +2 -22
- package/file-status/index.js +33 -22
- package/file-status/types.d.ts +21 -1
- package/file-status/types.js +1 -1
- package/file-status/utils.js +4 -1
- package/flag/global/index.d.ts +1 -0
- package/flag/global/index.js +2 -0
- package/flag/index.d.ts +1 -22
- package/flag/index.js +19 -16
- package/flag/types.d.ts +21 -1
- package/flag/types.js +1 -1
- package/flag/utils.js +11 -8
- package/grid/global/index.d.ts +1 -0
- package/grid/global/index.js +2 -0
- package/grid/index.d.ts +1 -22
- package/grid/index.js +8 -5
- package/grid/types.d.ts +21 -1
- package/grid/types.js +1 -1
- package/grid-item/global/index.d.ts +1 -0
- package/grid-item/global/index.js +2 -0
- package/grid-item/index.d.ts +1 -22
- package/grid-item/index.js +17 -13
- package/grid-item/types.d.ts +21 -1
- package/grid-item/types.js +1 -1
- package/help-tooltip/global/index.d.ts +1 -0
- package/help-tooltip/global/index.js +2 -0
- package/help-tooltip/index.d.ts +1 -22
- package/help-tooltip/index.js +29 -26
- package/help-tooltip/types.d.ts +21 -1
- package/help-tooltip/types.js +1 -1
- package/icon/generated-icon-type.js +1 -1
- package/icon/global/index.d.ts +1 -0
- package/icon/global/index.js +2 -0
- package/icon/index.d.ts +1 -22
- package/icon/index.js +30 -28
- package/icon/types.d.ts +21 -1
- package/icon/types.js +1 -1
- package/inline-alert/global/index.d.ts +1 -0
- package/inline-alert/global/index.js +2 -0
- package/inline-alert/index.d.ts +2 -22
- package/inline-alert/index.js +58 -39
- package/inline-alert/types.d.ts +21 -1
- package/inline-alert/types.js +1 -1
- package/inline-alert/utils.js +4 -1
- package/input/global/index.d.ts +1 -0
- package/input/global/index.js +2 -0
- package/input/index.d.ts +2 -22
- package/input/index.js +295 -317
- package/input/types.d.ts +21 -1
- package/input/types.js +1 -1
- package/input/utils.js +56 -46
- package/link/global/index.d.ts +1 -0
- package/link/global/index.js +2 -0
- package/link/index.d.ts +1 -22
- package/link/index.js +88 -79
- package/link/types.d.ts +21 -1
- package/link/types.js +1 -1
- package/list/global/index.d.ts +1 -0
- package/list/global/index.js +2 -0
- package/list/index.d.ts +1 -21
- package/list/index.js +9 -6
- package/list/types.d.ts +21 -1
- package/list/types.js +1 -1
- package/list-item/global/index.d.ts +1 -0
- package/list-item/global/index.js +2 -0
- package/list-item/index.d.ts +1 -22
- package/list-item/index.js +9 -6
- package/list-item/types.d.ts +21 -1
- package/list-item/types.js +1 -1
- package/package.json +11 -5
- package/pagination/global/index.d.ts +1 -0
- package/pagination/global/index.js +2 -0
- package/pagination/index.d.ts +2 -22
- package/pagination/index.js +64 -46
- package/pagination/types.d.ts +21 -1
- package/pagination/types.js +1 -1
- package/persistent-overlay/global/index.d.ts +1 -0
- package/persistent-overlay/global/index.js +2 -0
- package/persistent-overlay/index.d.ts +1 -22
- package/persistent-overlay/index.js +42 -44
- package/persistent-overlay/types.d.ts +21 -1
- package/persistent-overlay/types.js +1 -1
- package/pop/global/index.d.ts +1 -0
- package/pop/global/index.js +2 -0
- package/pop/index.d.ts +3 -22
- package/pop/index.js +149 -150
- package/pop/types.d.ts +21 -1
- package/pop/types.js +1 -1
- package/pop/utils.js +24 -8
- package/popover/global/index.d.ts +1 -0
- package/popover/global/index.js +2 -0
- package/popover/index.d.ts +2 -22
- package/popover/index.js +104 -67
- package/popover/types.d.ts +21 -1
- package/popover/types.js +1 -1
- package/popover/utils.js +18 -7
- package/progress/global/index.d.ts +1 -0
- package/progress/global/index.js +2 -0
- package/progress/index.d.ts +1 -22
- package/progress/index.js +31 -33
- package/progress/types.d.ts +21 -1
- package/progress/types.js +1 -1
- package/progress-stepper/global/index.d.ts +1 -0
- package/progress-stepper/global/index.js +2 -0
- package/progress-stepper/index.d.ts +2 -22
- package/progress-stepper/index.js +64 -66
- package/progress-stepper/types.d.ts +21 -1
- package/progress-stepper/types.js +1 -1
- package/progress-stepper-item/global/index.d.ts +1 -0
- package/progress-stepper-item/global/index.js +2 -0
- package/progress-stepper-item/index.d.ts +1 -22
- package/progress-stepper-item/index.js +58 -50
- package/progress-stepper-item/types.d.ts +21 -1
- package/progress-stepper-item/types.js +1 -1
- package/progress-stepper-item/utils.js +22 -11
- package/radio/global/index.d.ts +1 -0
- package/radio/global/index.js +2 -0
- package/radio/index.d.ts +1 -22
- package/radio/index.js +79 -83
- package/radio/types.d.ts +21 -1
- package/radio/types.js +1 -1
- package/radio-option/global/index.d.ts +1 -0
- package/radio-option/global/index.js +2 -0
- package/radio-option/index.d.ts +1 -22
- package/radio-option/index.js +47 -41
- package/radio-option/types.d.ts +21 -1
- package/radio-option/types.js +1 -1
- package/rich-text/global/index.d.ts +1 -0
- package/rich-text/global/index.js +2 -0
- package/rich-text/index.d.ts +1 -22
- package/rich-text/index.js +45 -46
- package/rich-text/types.d.ts +21 -1
- package/rich-text/types.js +1 -1
- package/rich-text/utils.js +31 -33
- package/rich-textarea/global/index.d.ts +1 -0
- package/rich-textarea/global/index.js +2 -0
- package/rich-textarea/index.d.ts +1 -22
- package/rich-textarea/index.js +201 -194
- package/rich-textarea/types.d.ts +21 -1
- package/rich-textarea/types.js +1 -1
- package/rich-textarea/utils.js +313 -340
- package/segment-collapse/global/index.d.ts +1 -0
- package/segment-collapse/global/index.js +2 -0
- package/segment-collapse/index.d.ts +1 -22
- package/segment-collapse/index.js +31 -25
- package/segment-collapse/types.d.ts +21 -1
- package/segment-collapse/types.js +1 -1
- package/segmented-control/global/index.d.ts +1 -0
- package/segmented-control/global/index.js +2 -0
- package/segmented-control/index.d.ts +1 -22
- package/segmented-control/index.js +45 -45
- package/segmented-control/types.d.ts +21 -1
- package/segmented-control/types.js +1 -1
- package/segmented-control-option/global/index.d.ts +1 -0
- package/segmented-control-option/global/index.js +2 -0
- package/segmented-control-option/index.d.ts +1 -22
- package/segmented-control-option/index.js +44 -46
- package/segmented-control-option/types.d.ts +21 -1
- package/segmented-control-option/types.js +1 -1
- package/segmented-icon-control/global/index.d.ts +1 -0
- package/segmented-icon-control/global/index.js +2 -0
- package/segmented-icon-control/index.d.ts +1 -22
- package/segmented-icon-control/index.js +51 -50
- package/segmented-icon-control/types.d.ts +21 -1
- package/segmented-icon-control/types.js +1 -1
- package/segmented-icon-control-option/global/index.d.ts +1 -0
- package/segmented-icon-control-option/global/index.js +2 -0
- package/segmented-icon-control-option/index.d.ts +1 -22
- package/segmented-icon-control-option/index.js +36 -37
- package/segmented-icon-control-option/types.d.ts +21 -1
- package/segmented-icon-control-option/types.js +1 -1
- package/select-button/global/index.d.ts +1 -0
- package/select-button/global/index.js +2 -0
- package/select-button/index.d.ts +1 -26
- package/select-button/index.js +104 -112
- package/select-button/types.d.ts +25 -1
- package/select-button/types.js +1 -1
- package/select-menu/global/index.d.ts +1 -0
- package/select-menu/global/index.js +2 -0
- package/select-menu/index.d.ts +1 -22
- package/select-menu/index.js +201 -164
- package/select-menu/types.d.ts +21 -1
- package/select-menu/types.js +1 -1
- package/select-menu-option/global/index.d.ts +1 -0
- package/select-menu-option/global/index.js +2 -0
- package/select-menu-option/index.d.ts +1 -22
- package/select-menu-option/index.js +42 -33
- package/select-menu-option/types.d.ts +21 -1
- package/select-menu-option/types.js +1 -1
- package/select-menu-option/utils.js +4 -1
- package/skeleton/global/index.d.ts +1 -0
- package/skeleton/global/index.js +2 -0
- package/skeleton/index.d.ts +1 -22
- package/skeleton/index.js +35 -38
- package/skeleton/types.d.ts +21 -1
- package/skeleton/types.js +1 -1
- package/skeleton-item/global/index.d.ts +1 -0
- package/skeleton-item/global/index.js +2 -0
- package/skeleton-item/index.d.ts +1 -22
- package/skeleton-item/index.js +8 -5
- package/skeleton-item/types.d.ts +21 -1
- package/skeleton-item/types.js +1 -1
- package/spinner/global/index.d.ts +1 -0
- package/spinner/global/index.js +2 -0
- package/spinner/index.d.ts +1 -22
- package/spinner/index.js +31 -29
- package/spinner/types.d.ts +21 -1
- package/spinner/types.js +1 -1
- package/standalone.d.ts +0 -8
- package/standalone.js +79 -87
- package/standalone.ts +0 -8
- package/stop-events/index.js +12 -12
- package/table/global/index.d.ts +1 -0
- package/table/global/index.js +2 -0
- package/table/index.d.ts +1 -21
- package/table/index.js +9 -6
- package/table/types.d.ts +21 -1
- package/table/types.js +1 -1
- package/table-body/global/index.d.ts +1 -0
- package/table-body/global/index.js +2 -0
- package/table-body/index.d.ts +1 -21
- package/table-body/index.js +9 -6
- package/table-body/types.d.ts +21 -1
- package/table-body/types.js +1 -1
- package/table-cell/global/index.d.ts +1 -0
- package/table-cell/global/index.js +2 -0
- package/table-cell/index.d.ts +2 -22
- package/table-cell/index.js +13 -9
- package/table-cell/types.d.ts +21 -1
- package/table-cell/types.js +1 -1
- package/table-cell/utils.js +4 -1
- package/table-head/global/index.d.ts +1 -0
- package/table-head/global/index.js +2 -0
- package/table-head/index.d.ts +1 -21
- package/table-head/index.js +9 -6
- package/table-head/types.d.ts +21 -1
- package/table-head/types.js +1 -1
- package/table-head-cell/global/index.d.ts +1 -0
- package/table-head-cell/global/index.js +2 -0
- package/table-head-cell/index.d.ts +1 -22
- package/table-head-cell/index.js +29 -27
- package/table-head-cell/types.d.ts +21 -1
- package/table-head-cell/types.js +1 -1
- package/table-row/global/index.d.ts +1 -0
- package/table-row/global/index.js +2 -0
- package/table-row/index.d.ts +1 -22
- package/table-row/index.js +20 -17
- package/table-row/types.d.ts +21 -1
- package/table-row/types.js +1 -1
- package/tabs/global/index.d.ts +1 -0
- package/tabs/global/index.js +2 -0
- package/tabs/index.d.ts +2 -22
- package/tabs/index.js +32 -35
- package/tabs/types.d.ts +21 -1
- package/tabs/types.js +1 -1
- package/tabs-icon-option/global/index.d.ts +1 -0
- package/tabs-icon-option/global/index.js +2 -0
- package/tabs-icon-option/index.d.ts +1 -22
- package/tabs-icon-option/index.js +38 -40
- package/tabs-icon-option/types.d.ts +21 -1
- package/tabs-icon-option/types.js +1 -1
- package/tabs-option/global/index.d.ts +1 -0
- package/tabs-option/global/index.js +2 -0
- package/tabs-option/index.d.ts +1 -22
- package/tabs-option/index.js +41 -43
- package/tabs-option/types.d.ts +21 -1
- package/tabs-option/types.js +1 -1
- package/tag/colors.js +1 -1
- package/tag/global/index.d.ts +1 -0
- package/tag/global/index.js +2 -0
- package/tag/index.d.ts +1 -22
- package/tag/index.js +45 -44
- package/tag/types.d.ts +21 -1
- package/tag/types.js +1 -1
- package/tag/utils.js +7 -3
- package/text/global/index.d.ts +1 -0
- package/text/global/index.js +2 -0
- package/text/index.d.ts +2 -22
- package/text/index.js +33 -28
- package/text/types.d.ts +21 -1
- package/text/types.js +1 -1
- package/text/utils.js +4 -1
- package/textarea/global/index.d.ts +1 -0
- package/textarea/global/index.js +2 -0
- package/textarea/index.d.ts +1 -22
- package/textarea/index.js +147 -152
- package/textarea/types.d.ts +21 -1
- package/textarea/types.js +1 -1
- package/time-picker/global/index.d.ts +1 -0
- package/time-picker/global/index.js +2 -0
- package/time-picker/index.d.ts +2 -22
- package/time-picker/index.js +119 -123
- package/time-picker/types.d.ts +21 -1
- package/time-picker/types.js +1 -1
- package/time-picker/utils.js +31 -33
- package/title/global/index.d.ts +1 -0
- package/title/global/index.js +2 -0
- package/title/index.d.ts +2 -22
- package/title/index.js +32 -31
- package/title/types.d.ts +21 -1
- package/title/types.js +1 -1
- package/title/utils.js +18 -14
- package/toast/global/index.d.ts +1 -0
- package/toast/global/index.js +2 -0
- package/toast/index.d.ts +2 -22
- package/toast/index.js +37 -34
- package/toast/types.d.ts +21 -1
- package/toast/types.js +1 -1
- package/toast/utils.js +4 -1
- package/toast-manager/global/index.d.ts +1 -0
- package/toast-manager/global/index.js +2 -0
- package/toast-manager/index.d.ts +3 -22
- package/toast-manager/index.js +77 -63
- package/toast-manager/types.d.ts +21 -1
- package/toast-manager/types.js +1 -1
- package/toast-manager/utils.js +4 -1
- package/toggle/global/index.d.ts +1 -0
- package/toggle/global/index.js +2 -0
- package/toggle/index.d.ts +1 -22
- package/toggle/index.js +81 -75
- package/toggle/types.d.ts +21 -1
- package/toggle/types.js +1 -1
- package/tooltip/global/index.d.ts +1 -0
- package/tooltip/global/index.js +2 -0
- package/tooltip/index.d.ts +3 -22
- package/tooltip/index.js +105 -93
- package/tooltip/tooltip-state.js +56 -64
- package/tooltip/types.d.ts +21 -1
- package/tooltip/types.js +1 -1
- package/tooltip/utils.js +32 -13
- package/types.d.ts +12 -29
- package/utils/adapters.js +1 -1
- package/utils/component-names.d.ts +3 -0
- package/utils/component-names.js +85 -0
- package/utils/context.js +32 -42
- package/utils/countries.js +490 -2
- package/utils/csv.js +13 -6
- package/utils/debounce.js +10 -3
- package/utils/dom.js +60 -53
- package/utils/element.d.ts +107 -15
- package/utils/element.js +100 -19
- package/utils/event-target.js +11 -5
- package/utils/form.js +17 -12
- package/utils/get-react-event-handler.js +6 -3
- package/utils/global-components-constants.d.ts +3 -0
- package/utils/global-components-constants.js +8 -0
- package/utils/global-components-manager.d.ts +71 -0
- package/utils/global-components-manager.js +24 -0
- package/utils/index.js +65 -12
- package/utils/markdown.js +56 -43
- package/utils/rect.js +13 -18
- package/utils/shared/global-elements-manager.d.js +1 -0
- package/utils/shared/global-elements-manager.d.ts +62 -0
- package/utils/shared/global-elements-manager.js +163 -0
- package/utils/shared/global-elements-store.d.js +1 -0
- package/utils/shared/global-elements-store.d.ts +12 -0
- package/utils/shared/global-elements-store.js +31 -0
- package/utils/shared/index.d.js +11 -0
- package/utils/shared/index.d.ts +3 -0
- package/utils/shared/index.js +11 -0
- package/utils/shared/nectary-element-base.d.js +1 -0
- package/utils/shared/nectary-element-base.d.ts +9 -0
- package/utils/shared/nectary-element-base.js +25 -0
- package/utils/shared/package.json +9 -0
- package/utils/shared/tsconfig.json +20 -0
- package/utils/size.js +8 -3
- package/utils/slot.js +13 -9
- package/utils/throttle.js +5 -2
- package/utils/uid.js +5 -2
- package/card/index.d.ts +0 -40
- package/card/index.js +0 -134
- package/card/types.d.ts +0 -17
- package/card/types.js +0 -1
- package/horizontal-stepper/index.d.ts +0 -33
- package/horizontal-stepper/index.js +0 -62
- package/horizontal-stepper/types.d.ts +0 -42
- package/horizontal-stepper/types.js +0 -1
- package/horizontal-stepper-item/index.d.ts +0 -38
- package/horizontal-stepper-item/index.js +0 -62
- package/horizontal-stepper-item/types.d.ts +0 -38
- package/horizontal-stepper-item/types.js +0 -1
- package/horizontal-stepper-item/utils.d.ts +0 -2
- package/horizontal-stepper-item/utils.js +0 -1
- package/segment/index.d.ts +0 -40
- package/segment/index.js +0 -110
- package/segment/types.d.ts +0 -23
- package/segment/types.js +0 -1
- package/segment/utils.d.ts +0 -3
- package/segment/utils.js +0 -16
- package/tile-control/index.d.ts +0 -39
- package/tile-control/index.js +0 -111
- package/tile-control/types.d.ts +0 -29
- package/tile-control/types.js +0 -1
- package/tile-control-option/index.d.ts +0 -40
- package/tile-control-option/index.js +0 -99
- package/tile-control-option/types.d.ts +0 -52
- package/tile-control-option/types.js +0 -1
- package/vertical-stepper/index.d.ts +0 -33
- package/vertical-stepper/index.js +0 -58
- package/vertical-stepper/types.d.ts +0 -34
- package/vertical-stepper/types.js +0 -1
- package/vertical-stepper-item/index.d.ts +0 -38
- package/vertical-stepper-item/index.js +0 -62
- package/vertical-stepper-item/types.d.ts +0 -42
- package/vertical-stepper-item/types.js +0 -1
- package/vertical-stepper-item/utils.d.ts +0 -2
- package/vertical-stepper-item/utils.js +0 -1
package/input/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NectaryComponentReactByType, NectaryComponentVanillaByType, NectaryComponentVanilla } from '../types';
|
|
1
|
+
import type { NectaryComponentReactByType, NectaryComponentVanillaByType, NectaryComponentVanilla, NectaryComponentReact } from '../types';
|
|
2
2
|
import type { TSinchSize } from '../utils/size';
|
|
3
3
|
export type TSinchInputType = 'text' | 'password' | 'number';
|
|
4
4
|
export type TSinchInputClipboardEvent = CustomEvent<{
|
|
@@ -83,3 +83,23 @@ export type TSinchInput = {
|
|
|
83
83
|
};
|
|
84
84
|
export type TSinchInputElement = NectaryComponentVanillaByType<TSinchInput>;
|
|
85
85
|
export type TSinchInputReact = NectaryComponentReactByType<TSinchInput>;
|
|
86
|
+
declare global {
|
|
87
|
+
interface NectaryComponentMap {
|
|
88
|
+
'sinch-input': TSinchInput;
|
|
89
|
+
}
|
|
90
|
+
interface HTMLElementTagNameMap {
|
|
91
|
+
'sinch-input': NectaryComponentVanilla<'sinch-input'>;
|
|
92
|
+
}
|
|
93
|
+
namespace JSX {
|
|
94
|
+
interface IntrinsicElements {
|
|
95
|
+
'sinch-input': NectaryComponentReact<'sinch-input'>;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
declare module 'react' {
|
|
100
|
+
namespace JSX {
|
|
101
|
+
interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
|
|
102
|
+
'sinch-input': NectaryComponentReact<'sinch-input'>;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
package/input/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
|
package/input/utils.js
CHANGED
|
@@ -1,34 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
const MASK_SYMBOL_LETTER =
|
|
3
|
-
const MASK_SYMBOL_DIGIT =
|
|
4
|
-
const EMPTY_CHAR =
|
|
1
|
+
const inputTypes = ["text", "password", "number"];
|
|
2
|
+
const MASK_SYMBOL_LETTER = "A";
|
|
3
|
+
const MASK_SYMBOL_DIGIT = "0";
|
|
4
|
+
const EMPTY_CHAR = " ";
|
|
5
5
|
const MASK_MODE_DIGIT = 0;
|
|
6
6
|
const MASK_MODE_LETTER = 1;
|
|
7
7
|
const MASK_MODE_EXACT = 2;
|
|
8
|
-
const MASK_PLACEHOLDER_DELIMITER =
|
|
9
|
-
const MASK_PLACEHOLDER =
|
|
8
|
+
const MASK_PLACEHOLDER_DELIMITER = "@@";
|
|
9
|
+
const MASK_PLACEHOLDER = "_";
|
|
10
10
|
const testMaskedValue = (maskSymbol, inputChar) => {
|
|
11
11
|
switch (maskSymbol.mode) {
|
|
12
|
-
case MASK_MODE_DIGIT:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return /\p{Letter}/u.test(inputChar);
|
|
19
|
-
}
|
|
12
|
+
case MASK_MODE_DIGIT: {
|
|
13
|
+
return /\d/.test(inputChar);
|
|
14
|
+
}
|
|
15
|
+
case MASK_MODE_LETTER: {
|
|
16
|
+
return new RegExp("\\p{Letter}", "u").test(inputChar);
|
|
17
|
+
}
|
|
20
18
|
}
|
|
21
19
|
return false;
|
|
22
20
|
};
|
|
23
|
-
const isExactMode = maskSymbol => maskSymbol.mode === MASK_MODE_EXACT;
|
|
24
|
-
const isEmptyChar = char => char === EMPTY_CHAR;
|
|
25
|
-
|
|
21
|
+
const isExactMode = (maskSymbol) => maskSymbol.mode === MASK_MODE_EXACT;
|
|
22
|
+
const isEmptyChar = (char) => char === EMPTY_CHAR;
|
|
23
|
+
const getMaskSymbols = (maskValue) => {
|
|
26
24
|
const res = [];
|
|
27
25
|
const [mask, placeholder] = maskValue.split(MASK_PLACEHOLDER_DELIMITER);
|
|
28
26
|
const maskSymbols = [...mask];
|
|
29
27
|
const placeholderChars = placeholder != null ? [...placeholder] : [];
|
|
30
28
|
for (let maskIndex = 0, placeholderIndex = 0; maskIndex < maskSymbols.length; maskIndex++, placeholderIndex++) {
|
|
31
|
-
if (maskSymbols[maskIndex] ===
|
|
29
|
+
if (maskSymbols[maskIndex] === "\\") {
|
|
32
30
|
maskIndex += 1;
|
|
33
31
|
res.push({
|
|
34
32
|
value: maskSymbols[maskIndex],
|
|
@@ -63,11 +61,11 @@ const getPlaceholder = (chars, maskSymbols) => {
|
|
|
63
61
|
for (let i = 0; i < maskSymbols.length; i++) {
|
|
64
62
|
res[i] = i >= chars.length || isEmptyChar(chars[i]) || isExactMode(maskSymbols[i]) ? maskSymbols[i].placeholder : EMPTY_CHAR;
|
|
65
63
|
}
|
|
66
|
-
return res.join(
|
|
64
|
+
return res.join("");
|
|
67
65
|
};
|
|
68
66
|
const isMaskedInputComplete = (chars, maskSymbols) => {
|
|
69
67
|
if (chars.length > maskSymbols.length) {
|
|
70
|
-
throw new Error(
|
|
68
|
+
throw new Error("chars.length > maskSymbols.length");
|
|
71
69
|
}
|
|
72
70
|
if (chars.length < maskSymbols.length) {
|
|
73
71
|
return false;
|
|
@@ -101,15 +99,15 @@ const isCursorAtTheBeginning = (maskSymbols, selectoinStart) => {
|
|
|
101
99
|
};
|
|
102
100
|
const getMergedValue = (chars, maskSymbols) => {
|
|
103
101
|
if (!isMaskedInputComplete(chars, maskSymbols)) {
|
|
104
|
-
return
|
|
102
|
+
return "";
|
|
105
103
|
}
|
|
106
104
|
const res = new Array(chars.length);
|
|
107
105
|
for (let i = 0; i < chars.length; i++) {
|
|
108
106
|
res[i] = isExactMode(maskSymbols[i]) ? maskSymbols[i].value : chars[i];
|
|
109
107
|
}
|
|
110
|
-
return res.join(
|
|
108
|
+
return res.join("");
|
|
111
109
|
};
|
|
112
|
-
const findLastNonEmptyCharIndex = chars => {
|
|
110
|
+
const findLastNonEmptyCharIndex = (chars) => {
|
|
113
111
|
for (let i = chars.length - 1; i >= 0; i--) {
|
|
114
112
|
if (!isEmptyChar(chars[i])) {
|
|
115
113
|
return i;
|
|
@@ -129,13 +127,13 @@ const compileResult = (chars, maskSymbols, cursorPos) => {
|
|
|
129
127
|
chars.length = lastEmptyPos;
|
|
130
128
|
}
|
|
131
129
|
return {
|
|
132
|
-
value: chars.join(
|
|
130
|
+
value: chars.join(""),
|
|
133
131
|
placeholder: getPlaceholder(chars, maskSymbols),
|
|
134
132
|
cursorPos: Math.min(cursorPos, chars.length),
|
|
135
133
|
mergedValue: getMergedValue(chars, maskSymbols)
|
|
136
134
|
};
|
|
137
135
|
};
|
|
138
|
-
|
|
136
|
+
const deleteContentBackward = (inputValue, maskSymbols, selectionStart, selectionEnd) => {
|
|
139
137
|
if (selectionEnd === 0) {
|
|
140
138
|
return null;
|
|
141
139
|
}
|
|
@@ -156,7 +154,7 @@ export const deleteContentBackward = (inputValue, maskSymbols, selectionStart, s
|
|
|
156
154
|
}
|
|
157
155
|
return compileResult(chars, maskSymbols, cusrsorPos);
|
|
158
156
|
};
|
|
159
|
-
|
|
157
|
+
const deleteContentForward = (inputValue, maskSymbols, selectionStart, selectionEnd) => {
|
|
160
158
|
if (selectionStart >= maskSymbols.length) {
|
|
161
159
|
return null;
|
|
162
160
|
}
|
|
@@ -174,7 +172,7 @@ export const deleteContentForward = (inputValue, maskSymbols, selectionStart, se
|
|
|
174
172
|
}
|
|
175
173
|
return compileResult(chars, maskSymbols, cursorPos + 1);
|
|
176
174
|
};
|
|
177
|
-
|
|
175
|
+
const beginMaskedComposition = (inputValue, maskSymbols, selectionStart) => {
|
|
178
176
|
const chars = getCharsFromInputValue(inputValue, maskSymbols);
|
|
179
177
|
const placeholder = new Array(chars.length);
|
|
180
178
|
for (let i = 0; i < maskSymbols.length; i++) {
|
|
@@ -183,11 +181,11 @@ export const beginMaskedComposition = (inputValue, maskSymbols, selectionStart)
|
|
|
183
181
|
placeholder[selectionStart] = EMPTY_CHAR;
|
|
184
182
|
chars.splice(selectionStart, 1);
|
|
185
183
|
return {
|
|
186
|
-
value: chars.join(
|
|
187
|
-
placeholder: placeholder.join(
|
|
184
|
+
value: chars.join(""),
|
|
185
|
+
placeholder: placeholder.join("")
|
|
188
186
|
};
|
|
189
187
|
};
|
|
190
|
-
|
|
188
|
+
const endMaskedComposition = (inputValue, data, maskSymbols, selectionStart, wasValueInserted) => {
|
|
191
189
|
let cursorPos = selectionStart;
|
|
192
190
|
const chars = getCharsFromInputValue(inputValue, maskSymbols);
|
|
193
191
|
const dataChars = [...data];
|
|
@@ -205,9 +203,9 @@ export const endMaskedComposition = (inputValue, data, maskSymbols, selectionSta
|
|
|
205
203
|
return compileResult(chars, maskSymbols, cursorPos);
|
|
206
204
|
}
|
|
207
205
|
for (let dataPos = 0; dataPos < dataChars.length && cursorPos < maskSymbols.length; ++dataPos, ++cursorPos) {
|
|
208
|
-
const
|
|
209
|
-
if (isEmptyChar(chars[cursorPos]) && testMaskedValue(maskSymbols[cursorPos],
|
|
210
|
-
chars[cursorPos] =
|
|
206
|
+
const data2 = dataChars[dataPos];
|
|
207
|
+
if (isEmptyChar(chars[cursorPos]) && testMaskedValue(maskSymbols[cursorPos], data2)) {
|
|
208
|
+
chars[cursorPos] = data2;
|
|
211
209
|
}
|
|
212
210
|
}
|
|
213
211
|
while (cursorPos < maskSymbols.length && isExactMode(maskSymbols[cursorPos])) {
|
|
@@ -215,7 +213,7 @@ export const endMaskedComposition = (inputValue, data, maskSymbols, selectionSta
|
|
|
215
213
|
}
|
|
216
214
|
return compileResult(chars, maskSymbols, cursorPos);
|
|
217
215
|
};
|
|
218
|
-
|
|
216
|
+
const insertText = (inputValue, data, maskSymbols, selectionStart, selectionEnd) => {
|
|
219
217
|
const chars = getCharsFromInputValue(inputValue, maskSymbols);
|
|
220
218
|
let cursorPos = selectionStart;
|
|
221
219
|
clearCharsSelection(chars, selectionStart, selectionEnd);
|
|
@@ -236,7 +234,7 @@ export const insertText = (inputValue, data, maskSymbols, selectionStart, select
|
|
|
236
234
|
}
|
|
237
235
|
return compileResult(chars, maskSymbols, cursorPos);
|
|
238
236
|
};
|
|
239
|
-
|
|
237
|
+
const insertFromPaste = (inputValue, data, maskSymbols, selectionStart, selectionEnd) => {
|
|
240
238
|
const chars = getCharsFromInputValue(inputValue, maskSymbols);
|
|
241
239
|
let cursorPos = selectionStart;
|
|
242
240
|
clearCharsSelection(chars, selectionStart, selectionEnd);
|
|
@@ -251,17 +249,17 @@ export const insertFromPaste = (inputValue, data, maskSymbols, selectionStart, s
|
|
|
251
249
|
return compileResult(chars, maskSymbols, cursorPos);
|
|
252
250
|
}
|
|
253
251
|
const dataChars = [...data];
|
|
254
|
-
for (let dataPos = 0; dataPos < dataChars.length && cursorPos < maskSymbols.length;) {
|
|
255
|
-
const
|
|
252
|
+
for (let dataPos = 0; dataPos < dataChars.length && cursorPos < maskSymbols.length; ) {
|
|
253
|
+
const data2 = dataChars[dataPos];
|
|
256
254
|
const maskSymbol = maskSymbols[cursorPos];
|
|
257
255
|
if (isExactMode(maskSymbol)) {
|
|
258
|
-
if (maskSymbol.value ===
|
|
256
|
+
if (maskSymbol.value === data2) {
|
|
259
257
|
++dataPos;
|
|
260
258
|
}
|
|
261
259
|
++cursorPos;
|
|
262
260
|
} else {
|
|
263
|
-
if (testMaskedValue(maskSymbol,
|
|
264
|
-
chars[cursorPos] =
|
|
261
|
+
if (testMaskedValue(maskSymbol, data2)) {
|
|
262
|
+
chars[cursorPos] = data2;
|
|
265
263
|
++cursorPos;
|
|
266
264
|
}
|
|
267
265
|
++dataPos;
|
|
@@ -269,11 +267,11 @@ export const insertFromPaste = (inputValue, data, maskSymbols, selectionStart, s
|
|
|
269
267
|
}
|
|
270
268
|
return compileResult(chars, maskSymbols, cursorPos);
|
|
271
269
|
};
|
|
272
|
-
|
|
273
|
-
const chars = getCharsFromInputValue(
|
|
270
|
+
const splitValueAndMask = (inputValue, maskSymbols) => {
|
|
271
|
+
const chars = getCharsFromInputValue("", maskSymbols);
|
|
274
272
|
const dataChars = getCharsFromInputValue(inputValue, maskSymbols);
|
|
275
273
|
let cursorPos = 0;
|
|
276
|
-
for (let dataPos = 0; dataPos < dataChars.length && cursorPos < maskSymbols.length;) {
|
|
274
|
+
for (let dataPos = 0; dataPos < dataChars.length && cursorPos < maskSymbols.length; ) {
|
|
277
275
|
const data = dataChars[dataPos];
|
|
278
276
|
const maskSymbol = maskSymbols[cursorPos];
|
|
279
277
|
if (isExactMode(maskSymbol)) {
|
|
@@ -291,12 +289,24 @@ export const splitValueAndMask = (inputValue, maskSymbols) => {
|
|
|
291
289
|
}
|
|
292
290
|
return compileResult(chars, maskSymbols, chars.length);
|
|
293
291
|
};
|
|
294
|
-
|
|
292
|
+
const getMergedValueSliced = (inputValue, maskSymbols, selectionStart, selectionEnd) => {
|
|
295
293
|
const chars = getCharsFromInputValue(inputValue, maskSymbols);
|
|
296
294
|
for (let i = selectionStart; i < selectionEnd && i < maskSymbols.length; i++) {
|
|
297
295
|
if (isExactMode(maskSymbols[i])) {
|
|
298
296
|
chars[i] = maskSymbols[i].value;
|
|
299
297
|
}
|
|
300
298
|
}
|
|
301
|
-
return chars.slice(selectionStart, selectionEnd).join(
|
|
302
|
-
};
|
|
299
|
+
return chars.slice(selectionStart, selectionEnd).join("");
|
|
300
|
+
};
|
|
301
|
+
export {
|
|
302
|
+
beginMaskedComposition,
|
|
303
|
+
deleteContentBackward,
|
|
304
|
+
deleteContentForward,
|
|
305
|
+
endMaskedComposition,
|
|
306
|
+
getMaskSymbols,
|
|
307
|
+
getMergedValueSliced,
|
|
308
|
+
inputTypes,
|
|
309
|
+
insertFromPaste,
|
|
310
|
+
insertText,
|
|
311
|
+
splitValueAndMask
|
|
312
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../types';
|
package/link/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import '../icon';
|
|
2
2
|
import { NectaryElement } from '../utils';
|
|
3
|
-
|
|
4
|
-
import type { NectaryComponentReact, NectaryComponentVanilla } from '../types';
|
|
3
|
+
export * from './types';
|
|
5
4
|
export declare class Link extends NectaryElement {
|
|
6
5
|
#private;
|
|
7
6
|
constructor();
|
|
@@ -27,23 +26,3 @@ export declare class Link extends NectaryElement {
|
|
|
27
26
|
focus(): void;
|
|
28
27
|
blur(): void;
|
|
29
28
|
}
|
|
30
|
-
declare global {
|
|
31
|
-
interface NectaryComponentMap {
|
|
32
|
-
'sinch-link': TSinchLink;
|
|
33
|
-
}
|
|
34
|
-
interface HTMLElementTagNameMap {
|
|
35
|
-
'sinch-link': NectaryComponentVanilla<'sinch-link'>;
|
|
36
|
-
}
|
|
37
|
-
namespace JSX {
|
|
38
|
-
interface IntrinsicElements {
|
|
39
|
-
'sinch-link': NectaryComponentReact<'sinch-link'>;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
declare module 'react' {
|
|
44
|
-
namespace JSX {
|
|
45
|
-
interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
|
|
46
|
-
'sinch-link': NectaryComponentReact<'sinch-link'>;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
package/link/index.js
CHANGED
|
@@ -1,118 +1,122 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import "../icon/index.js";
|
|
2
|
+
import { isAttrEqual, updateAttribute, updateBooleanAttribute, isAttrTrue, getAttribute, getBooleanAttribute } from "../utils/dom.js";
|
|
3
|
+
import { defineCustomElement, NectaryElement } from "../utils/element.js";
|
|
4
|
+
import { getReactEventHandler } from "../utils/get-react-event-handler.js";
|
|
5
|
+
const templateHTML = '<style>\n :host {\n display: inline;\n }\n\n a {\n font: var(--sinch-comp-link-default-font-initial);\n font-size: inherit;\n line-height: inherit;\n text-decoration: var(--sinch-comp-link-default-text-decoration-initial);\n color: var(--sinch-comp-link-color-default-text-initial);\n border-radius: 0.5em;\n white-space: nowrap;\n\n --sinch-global-color-icon: var(--sinch-comp-link-color-default-icon-initial);\n }\n\n a:hover {\n text-decoration: var(--sinch-comp-link-default-text-decoration-hover);\n color: var(--sinch-comp-link-color-default-text-hover);\n\n --sinch-global-color-icon: var(--sinch-comp-link-color-default-icon-hover);\n }\n\n a:focus-visible {\n outline: 2px solid var(--sinch-comp-link-color-default-outline-focus);\n outline-offset: 2px;\n }\n\n :host([standalone]) {\n display: block;\n }\n\n :host([standalone]) a {\n display: block;\n font: var(--sinch-comp-link-standalone-font-initial);\n font-size: inherit;\n line-height: inherit;\n text-decoration: none;\n width: fit-content;\n }\n\n #external-icon,\n #standalone-icon {\n display: none;\n height: 1em;\n }\n\n #icon-prefix {\n display: none;\n margin-left: -0.25em;\n }\n\n :host([external]:not([standalone])) #external-icon {\n display: inline-block;\n margin-left: 0.25em;\n vertical-align: -0.2em;\n\n --sinch-global-size-icon: 1em;\n }\n\n :host([standalone][external]) #external-icon {\n display: inline-block;\n vertical-align: -0.4em;\n\n --sinch-global-size-icon: 1.5em;\n }\n\n :host([standalone]) #icon-prefix {\n display: inline;\n }\n\n :host([standalone]:not([external])) #standalone-icon {\n display: inline-block;\n vertical-align: -0.4em;\n\n --sinch-global-size-icon: 1.5em;\n }\n\n :host([disabled]) a {\n color: var(--sinch-comp-link-color-disabled-text-initial);\n pointer-events: none;\n cursor: initial;\n text-decoration: var(--sinch-comp-link-default-text-decoration-disabled);\n\n --sinch-global-color-icon: var(--sinch-comp-link-color-disabled-icon-initial);\n }\n\n #content {\n white-space: var(--sinch-global-text-white-space, normal);\n }\n</style>\n\n<a referrerpolicy="no-referer" aria-hidden="true">\n <span id="content"></span>\n <span id="icon-prefix"> </span>\n <sinch-icon icons-version="2" name="fa-arrow-up-right" id="external-icon"></sinch-icon>\n <sinch-icon icons-version="2" name="fa-arrow-right" id="standalone-icon"></sinch-icon>\n</a>\n';
|
|
6
|
+
const template = document.createElement("template");
|
|
5
7
|
template.innerHTML = templateHTML;
|
|
6
|
-
|
|
8
|
+
class Link extends NectaryElement {
|
|
7
9
|
#$anchor;
|
|
8
10
|
#$text;
|
|
9
11
|
constructor() {
|
|
10
12
|
super();
|
|
11
13
|
const shadowRoot = this.attachShadow();
|
|
12
14
|
shadowRoot.appendChild(template.content.cloneNode(true));
|
|
13
|
-
this.#$anchor = shadowRoot.querySelector(
|
|
14
|
-
this.#$text = shadowRoot.querySelector(
|
|
15
|
+
this.#$anchor = shadowRoot.querySelector("a");
|
|
16
|
+
this.#$text = shadowRoot.querySelector("#content");
|
|
15
17
|
}
|
|
16
18
|
connectedCallback() {
|
|
17
|
-
this.setAttribute(
|
|
18
|
-
this.#$anchor.addEventListener(
|
|
19
|
-
this.#$anchor.addEventListener(
|
|
20
|
-
this.#$anchor.addEventListener(
|
|
21
|
-
this.addEventListener(
|
|
22
|
-
this.addEventListener(
|
|
23
|
-
this.addEventListener(
|
|
19
|
+
this.setAttribute("role", "link");
|
|
20
|
+
this.#$anchor.addEventListener("click", this.#onAnchorClick);
|
|
21
|
+
this.#$anchor.addEventListener("focus", this.#onAnchorFocus);
|
|
22
|
+
this.#$anchor.addEventListener("blur", this.#onAnchorBlur);
|
|
23
|
+
this.addEventListener("-click", this.#onClickReactHandler);
|
|
24
|
+
this.addEventListener("-focus", this.#onFocusReactHandler);
|
|
25
|
+
this.addEventListener("-blur", this.#onBlurReactHandler);
|
|
24
26
|
}
|
|
25
27
|
disconnectedCallback() {
|
|
26
|
-
this.#$anchor.removeEventListener(
|
|
27
|
-
this.#$anchor.removeEventListener(
|
|
28
|
-
this.#$anchor.removeEventListener(
|
|
29
|
-
this.removeEventListener(
|
|
30
|
-
this.removeEventListener(
|
|
31
|
-
this.removeEventListener(
|
|
28
|
+
this.#$anchor.removeEventListener("click", this.#onAnchorClick);
|
|
29
|
+
this.#$anchor.removeEventListener("focus", this.#onAnchorFocus);
|
|
30
|
+
this.#$anchor.removeEventListener("blur", this.#onAnchorBlur);
|
|
31
|
+
this.removeEventListener("-click", this.#onClickReactHandler);
|
|
32
|
+
this.removeEventListener("-focus", this.#onFocusReactHandler);
|
|
33
|
+
this.removeEventListener("-blur", this.#onBlurReactHandler);
|
|
32
34
|
}
|
|
33
35
|
static get observedAttributes() {
|
|
34
|
-
return [
|
|
36
|
+
return [
|
|
37
|
+
"text",
|
|
38
|
+
"href",
|
|
39
|
+
"use-history",
|
|
40
|
+
"external",
|
|
41
|
+
"standalone",
|
|
42
|
+
"disabled"
|
|
43
|
+
];
|
|
35
44
|
}
|
|
36
45
|
attributeChangedCallback(name, oldVal, newVal) {
|
|
37
46
|
if (isAttrEqual(oldVal, newVal)) {
|
|
38
47
|
return;
|
|
39
48
|
}
|
|
40
49
|
switch (name) {
|
|
41
|
-
case
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const shouldUseHistory = isAttrTrue(newVal);
|
|
54
|
-
if (shouldUseHistory) {
|
|
55
|
-
updateBooleanAttribute(this, 'preventdefault', true);
|
|
56
|
-
}
|
|
57
|
-
updateBooleanAttribute(this, name, shouldUseHistory);
|
|
58
|
-
break;
|
|
59
|
-
}
|
|
60
|
-
case 'standalone':
|
|
61
|
-
case 'disabled':
|
|
62
|
-
{
|
|
63
|
-
updateBooleanAttribute(this, name, isAttrTrue(newVal));
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
66
|
-
case 'external':
|
|
67
|
-
{
|
|
68
|
-
const isExternal = isAttrTrue(newVal);
|
|
69
|
-
updateAttribute(this.#$anchor, 'target', isExternal ? '_blank' : null);
|
|
70
|
-
updateBooleanAttribute(this, name, isExternal);
|
|
71
|
-
break;
|
|
50
|
+
case "text": {
|
|
51
|
+
this.#$text.textContent = newVal;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
case "href": {
|
|
55
|
+
updateAttribute(this.#$anchor, "href", newVal);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case "use-history": {
|
|
59
|
+
const shouldUseHistory = isAttrTrue(newVal);
|
|
60
|
+
if (shouldUseHistory) {
|
|
61
|
+
updateBooleanAttribute(this, "preventdefault", true);
|
|
72
62
|
}
|
|
63
|
+
updateBooleanAttribute(this, name, shouldUseHistory);
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
case "standalone":
|
|
67
|
+
case "disabled": {
|
|
68
|
+
updateBooleanAttribute(this, name, isAttrTrue(newVal));
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
case "external": {
|
|
72
|
+
const isExternal = isAttrTrue(newVal);
|
|
73
|
+
updateAttribute(this.#$anchor, "target", isExternal ? "_blank" : null);
|
|
74
|
+
updateBooleanAttribute(this, name, isExternal);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
get text() {
|
|
76
|
-
return getAttribute(this,
|
|
80
|
+
return getAttribute(this, "text", "");
|
|
77
81
|
}
|
|
78
82
|
set text(value) {
|
|
79
|
-
updateAttribute(this,
|
|
83
|
+
updateAttribute(this, "text", value);
|
|
80
84
|
}
|
|
81
85
|
get href() {
|
|
82
|
-
return getAttribute(this,
|
|
86
|
+
return getAttribute(this, "href", "");
|
|
83
87
|
}
|
|
84
88
|
set href(value) {
|
|
85
|
-
updateAttribute(this,
|
|
89
|
+
updateAttribute(this, "href", value);
|
|
86
90
|
}
|
|
87
|
-
set
|
|
88
|
-
updateBooleanAttribute(this,
|
|
91
|
+
set "use-history"(value) {
|
|
92
|
+
updateBooleanAttribute(this, "use-history", value);
|
|
89
93
|
}
|
|
90
|
-
get
|
|
91
|
-
return getBooleanAttribute(this,
|
|
94
|
+
get "use-history"() {
|
|
95
|
+
return getBooleanAttribute(this, "use-history");
|
|
92
96
|
}
|
|
93
97
|
set disabled(isDisabled) {
|
|
94
|
-
updateBooleanAttribute(this,
|
|
98
|
+
updateBooleanAttribute(this, "disabled", isDisabled);
|
|
95
99
|
}
|
|
96
100
|
get disabled() {
|
|
97
|
-
return getBooleanAttribute(this,
|
|
101
|
+
return getBooleanAttribute(this, "disabled");
|
|
98
102
|
}
|
|
99
103
|
set external(isExternal) {
|
|
100
|
-
updateBooleanAttribute(this,
|
|
104
|
+
updateBooleanAttribute(this, "external", isExternal);
|
|
101
105
|
}
|
|
102
106
|
get external() {
|
|
103
|
-
return getBooleanAttribute(this,
|
|
107
|
+
return getBooleanAttribute(this, "external");
|
|
104
108
|
}
|
|
105
109
|
set standalone(isstandalone) {
|
|
106
|
-
updateBooleanAttribute(this,
|
|
110
|
+
updateBooleanAttribute(this, "standalone", isstandalone);
|
|
107
111
|
}
|
|
108
112
|
get standalone() {
|
|
109
|
-
return getBooleanAttribute(this,
|
|
113
|
+
return getBooleanAttribute(this, "standalone");
|
|
110
114
|
}
|
|
111
115
|
set preventDefault(isPrevented) {
|
|
112
|
-
updateBooleanAttribute(this,
|
|
116
|
+
updateBooleanAttribute(this, "preventdefault", isPrevented);
|
|
113
117
|
}
|
|
114
118
|
get preventDefault() {
|
|
115
|
-
return getBooleanAttribute(this,
|
|
119
|
+
return getBooleanAttribute(this, "preventdefault");
|
|
116
120
|
}
|
|
117
121
|
get focusable() {
|
|
118
122
|
return true;
|
|
@@ -123,29 +127,34 @@ export class Link extends NectaryElement {
|
|
|
123
127
|
blur() {
|
|
124
128
|
this.#$anchor.blur();
|
|
125
129
|
}
|
|
126
|
-
#onAnchorClick = e => {
|
|
130
|
+
#onAnchorClick = (e) => {
|
|
127
131
|
if (this.preventDefault) {
|
|
128
132
|
e.preventDefault();
|
|
129
|
-
if (this[
|
|
130
|
-
history.pushState({},
|
|
133
|
+
if (this["use-history"]) {
|
|
134
|
+
history.pushState({}, "", this.href);
|
|
131
135
|
}
|
|
132
136
|
}
|
|
133
|
-
this.dispatchEvent(
|
|
137
|
+
this.dispatchEvent(
|
|
138
|
+
new CustomEvent("-click")
|
|
139
|
+
);
|
|
134
140
|
};
|
|
135
141
|
#onAnchorFocus = () => {
|
|
136
|
-
this.dispatchEvent(new CustomEvent(
|
|
142
|
+
this.dispatchEvent(new CustomEvent("-focus"));
|
|
137
143
|
};
|
|
138
144
|
#onAnchorBlur = () => {
|
|
139
|
-
this.dispatchEvent(new CustomEvent(
|
|
145
|
+
this.dispatchEvent(new CustomEvent("-blur"));
|
|
140
146
|
};
|
|
141
147
|
#onFocusReactHandler = () => {
|
|
142
|
-
getReactEventHandler(this,
|
|
148
|
+
getReactEventHandler(this, "on-focus")?.();
|
|
143
149
|
};
|
|
144
150
|
#onBlurReactHandler = () => {
|
|
145
|
-
getReactEventHandler(this,
|
|
151
|
+
getReactEventHandler(this, "on-blur")?.();
|
|
146
152
|
};
|
|
147
|
-
#onClickReactHandler = e => {
|
|
148
|
-
getReactEventHandler(this,
|
|
153
|
+
#onClickReactHandler = (e) => {
|
|
154
|
+
getReactEventHandler(this, "on-click")?.(e);
|
|
149
155
|
};
|
|
150
156
|
}
|
|
151
|
-
defineCustomElement(
|
|
157
|
+
defineCustomElement("sinch-link", Link);
|
|
158
|
+
export {
|
|
159
|
+
Link
|
|
160
|
+
};
|
package/link/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NectaryComponentReactByType, NectaryComponentVanillaByType } from '../types';
|
|
1
|
+
import type { NectaryComponentReactByType, NectaryComponentVanillaByType, NectaryComponentReact, NectaryComponentVanilla } from '../types';
|
|
2
2
|
export type TSinchLinkProps = {
|
|
3
3
|
/** Text content of hyperlink */
|
|
4
4
|
text: string;
|
|
@@ -49,3 +49,23 @@ export type TSinchLink = {
|
|
|
49
49
|
};
|
|
50
50
|
export type TSinchLinkElement = NectaryComponentVanillaByType<TSinchLink>;
|
|
51
51
|
export type TSinchLinkReact = NectaryComponentReactByType<TSinchLink>;
|
|
52
|
+
declare global {
|
|
53
|
+
interface NectaryComponentMap {
|
|
54
|
+
'sinch-link': TSinchLink;
|
|
55
|
+
}
|
|
56
|
+
interface HTMLElementTagNameMap {
|
|
57
|
+
'sinch-link': NectaryComponentVanilla<'sinch-link'>;
|
|
58
|
+
}
|
|
59
|
+
namespace JSX {
|
|
60
|
+
interface IntrinsicElements {
|
|
61
|
+
'sinch-link': NectaryComponentReact<'sinch-link'>;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
declare module 'react' {
|
|
66
|
+
namespace JSX {
|
|
67
|
+
interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
|
|
68
|
+
'sinch-link': NectaryComponentReact<'sinch-link'>;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
package/link/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../types';
|
package/list/index.d.ts
CHANGED
|
@@ -1,26 +1,6 @@
|
|
|
1
1
|
import { NectaryElement } from '../utils';
|
|
2
|
-
|
|
2
|
+
export * from './types';
|
|
3
3
|
export declare class List extends NectaryElement {
|
|
4
4
|
constructor();
|
|
5
5
|
connectedCallback(): void;
|
|
6
6
|
}
|
|
7
|
-
declare global {
|
|
8
|
-
interface NectaryComponentMap {
|
|
9
|
-
'sinch-list': {};
|
|
10
|
-
}
|
|
11
|
-
interface HTMLElementTagNameMap {
|
|
12
|
-
'sinch-list': NectaryComponentVanilla<'sinch-list'>;
|
|
13
|
-
}
|
|
14
|
-
namespace JSX {
|
|
15
|
-
interface IntrinsicElements {
|
|
16
|
-
'sinch-list': NectaryComponentReact<'sinch-list'>;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
declare module 'react' {
|
|
21
|
-
namespace JSX {
|
|
22
|
-
interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
|
|
23
|
-
'sinch-list': NectaryComponentReact<'sinch-list'>;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
package/list/index.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { defineCustomElement, NectaryElement } from
|
|
2
|
-
const templateHTML = '<style
|
|
3
|
-
const template = document.createElement(
|
|
1
|
+
import { defineCustomElement, NectaryElement } from "../utils/element.js";
|
|
2
|
+
const templateHTML = '<style>\n:host {\n display: block;\n height: 100%;\n}\n\n#wrapper {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n}\n</style>\n\n<div id="wrapper">\n <slot></slot>\n</div>\n';
|
|
3
|
+
const template = document.createElement("template");
|
|
4
4
|
template.innerHTML = templateHTML;
|
|
5
|
-
|
|
5
|
+
class List extends NectaryElement {
|
|
6
6
|
constructor() {
|
|
7
7
|
super();
|
|
8
8
|
const shadowRoot = this.attachShadow();
|
|
9
9
|
shadowRoot.appendChild(template.content.cloneNode(true));
|
|
10
10
|
}
|
|
11
11
|
connectedCallback() {
|
|
12
|
-
this.setAttribute(
|
|
12
|
+
this.setAttribute("role", "list");
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
defineCustomElement(
|
|
15
|
+
defineCustomElement("sinch-list", List);
|
|
16
|
+
export {
|
|
17
|
+
List
|
|
18
|
+
};
|