@momentum-design/components 0.101.3 → 0.102.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +407 -382
- package/dist/browser/index.js.map +4 -4
- package/dist/components/card/card.styles.js +1 -1
- package/dist/components/typewriter/index.d.ts +7 -0
- package/dist/components/typewriter/index.js +4 -0
- package/dist/components/typewriter/typewriter.component.d.ts +192 -0
- package/dist/components/typewriter/typewriter.component.js +454 -0
- package/dist/components/typewriter/typewriter.constants.d.ts +20 -0
- package/dist/components/typewriter/typewriter.constants.js +22 -0
- package/dist/components/typewriter/typewriter.styles.d.ts +2 -0
- package/dist/components/typewriter/typewriter.styles.js +19 -0
- package/dist/components/typewriter/typewriter.types.d.ts +21 -0
- package/dist/components/typewriter/typewriter.types.js +1 -0
- package/dist/custom-elements.json +995 -659
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -1
- package/dist/react/index.d.ts +5 -4
- package/dist/react/index.js +5 -4
- package/dist/react/typewriter/index.d.ts +51 -0
- package/dist/react/typewriter/index.js +59 -0
- package/dist/utils/mixins/CardComponentMixin.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
@@ -67,6 +67,7 @@ import Tab from './components/tab';
|
|
67
67
|
import TabList from './components/tablist';
|
68
68
|
import Text from './components/text';
|
69
69
|
import Textarea from './components/textarea';
|
70
|
+
import Typewriter from './components/typewriter';
|
70
71
|
import ThemeProvider from './components/themeprovider';
|
71
72
|
import Toast from './components/toast';
|
72
73
|
import Toggle from './components/toggle';
|
@@ -79,12 +80,13 @@ import type { PopoverPlacement } from './components/popover/popover.types';
|
|
79
80
|
import type { SkeletonVariant } from './components/skeleton/skeleton.types';
|
80
81
|
import type { SpinnerSize, SpinnerVariant } from './components/spinner/spinner.types';
|
81
82
|
import type { TextType } from './components/text/text.types';
|
83
|
+
import type { TextType as TypewriterType } from './components/typewriter/typewriter.types';
|
82
84
|
import type { MenuPopoverActionEvent, MenuPopoverChangeEvent } from './components/menupopover/menupopover.types';
|
83
85
|
import type { SelectChangeEvent, SelectInputEvent } from './components/select/select.types';
|
84
86
|
import type { MenuSectionChangeEvent } from './components/menusection/menusection.types';
|
85
87
|
import { BUTTON_COLORS, BUTTON_VARIANTS, ICON_BUTTON_SIZES, PILL_BUTTON_SIZES } from './components/button/button.constants';
|
86
88
|
import { SKELETON_VARIANTS } from './components/skeleton/skeleton.constants';
|
87
89
|
import { inMemoryCache, webAPIIconsCache } from './utils/icon-cache';
|
88
|
-
export { Accordion, AccordionButton, AccordionGroup, AlertChip, Animation, Appheader, Avatar, AvatarButton, Badge, Brandvisual, Bullet, Button, ButtonGroup, ButtonLink, Card, CardButton, CardCheckbox, CardRadio, Checkbox, Chip, Coachmark, Dialog, Divider, FilterChip, FormfieldGroup, Icon, IconProvider, Input, InputChip, Link, LinkButton, Linksimple, List, Listheader, ListItem, Marker, MenuBar, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuPopover, MenuSection, NavMenuItem, OptGroup, Option, Password, Popover, Presence, Progressbar, Progressspinner, Radio, RadioGroup, ScreenreaderAnnouncer, Searchfield, Select, SelectListbox, SideNavigation, Skeleton, Spinner, StaticCheckbox, StaticRadio, StaticToggle, Stepper, StepperConnector, StepperItem, Tab, TabList, Text, Textarea, ThemeProvider, Toast, Toggle, ToggleTip, Tooltip, VirtualizedList, };
|
89
|
-
export type { BadgeType, ButtonColor, ButtonVariant, IconButtonSize, MenuPopoverActionEvent, MenuPopoverChangeEvent, MenuSectionChangeEvent, PillButtonSize, PopoverPlacement, SkeletonVariant, SelectChangeEvent, SelectInputEvent, SpinnerSize, SpinnerVariant, TextType, };
|
90
|
+
export { Accordion, AccordionButton, AccordionGroup, AlertChip, Animation, Appheader, Avatar, AvatarButton, Badge, Brandvisual, Bullet, Button, ButtonGroup, ButtonLink, Card, CardButton, CardCheckbox, CardRadio, Checkbox, Chip, Coachmark, Dialog, Divider, FilterChip, FormfieldGroup, Icon, IconProvider, Input, InputChip, Link, LinkButton, Linksimple, List, Listheader, ListItem, Marker, MenuBar, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuPopover, MenuSection, NavMenuItem, OptGroup, Option, Password, Popover, Presence, Progressbar, Progressspinner, Radio, RadioGroup, ScreenreaderAnnouncer, Searchfield, Select, SelectListbox, SideNavigation, Skeleton, Spinner, StaticCheckbox, StaticRadio, StaticToggle, Stepper, StepperConnector, StepperItem, Tab, TabList, Text, Textarea, ThemeProvider, Toast, Toggle, Typewriter, ToggleTip, Tooltip, VirtualizedList, };
|
91
|
+
export type { BadgeType, ButtonColor, ButtonVariant, IconButtonSize, MenuPopoverActionEvent, MenuPopoverChangeEvent, MenuSectionChangeEvent, PillButtonSize, PopoverPlacement, SkeletonVariant, SelectChangeEvent, SelectInputEvent, SpinnerSize, SpinnerVariant, TextType, TypewriterType, };
|
90
92
|
export { BUTTON_COLORS, BUTTON_VARIANTS, ICON_BUTTON_SIZES, inMemoryCache, PILL_BUTTON_SIZES, SKELETON_VARIANTS, webAPIIconsCache, };
|
package/dist/index.js
CHANGED
@@ -69,6 +69,7 @@ import Tab from './components/tab';
|
|
69
69
|
import TabList from './components/tablist';
|
70
70
|
import Text from './components/text';
|
71
71
|
import Textarea from './components/textarea';
|
72
|
+
import Typewriter from './components/typewriter';
|
72
73
|
import ThemeProvider from './components/themeprovider';
|
73
74
|
import Toast from './components/toast';
|
74
75
|
import Toggle from './components/toggle';
|
@@ -80,6 +81,6 @@ import { BUTTON_COLORS, BUTTON_VARIANTS, ICON_BUTTON_SIZES, PILL_BUTTON_SIZES, }
|
|
80
81
|
import { SKELETON_VARIANTS } from './components/skeleton/skeleton.constants';
|
81
82
|
import { inMemoryCache, webAPIIconsCache } from './utils/icon-cache';
|
82
83
|
// Components Exports
|
83
|
-
export { Accordion, AccordionButton, AccordionGroup, AlertChip, Animation, Appheader, Avatar, AvatarButton, Badge, Brandvisual, Bullet, Button, ButtonGroup, ButtonLink, Card, CardButton, CardCheckbox, CardRadio, Checkbox, Chip, Coachmark, Dialog, Divider, FilterChip, FormfieldGroup, Icon, IconProvider, Input, InputChip, Link, LinkButton, Linksimple, List, Listheader, ListItem, Marker, MenuBar, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuPopover, MenuSection, NavMenuItem, OptGroup, Option, Password, Popover, Presence, Progressbar, Progressspinner, Radio, RadioGroup, ScreenreaderAnnouncer, Searchfield, Select, SelectListbox, SideNavigation, Skeleton, Spinner, StaticCheckbox, StaticRadio, StaticToggle, Stepper, StepperConnector, StepperItem, Tab, TabList, Text, Textarea, ThemeProvider, Toast, Toggle, ToggleTip, Tooltip, VirtualizedList, };
|
84
|
+
export { Accordion, AccordionButton, AccordionGroup, AlertChip, Animation, Appheader, Avatar, AvatarButton, Badge, Brandvisual, Bullet, Button, ButtonGroup, ButtonLink, Card, CardButton, CardCheckbox, CardRadio, Checkbox, Chip, Coachmark, Dialog, Divider, FilterChip, FormfieldGroup, Icon, IconProvider, Input, InputChip, Link, LinkButton, Linksimple, List, Listheader, ListItem, Marker, MenuBar, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuPopover, MenuSection, NavMenuItem, OptGroup, Option, Password, Popover, Presence, Progressbar, Progressspinner, Radio, RadioGroup, ScreenreaderAnnouncer, Searchfield, Select, SelectListbox, SideNavigation, Skeleton, Spinner, StaticCheckbox, StaticRadio, StaticToggle, Stepper, StepperConnector, StepperItem, Tab, TabList, Text, Textarea, ThemeProvider, Toast, Toggle, Typewriter, ToggleTip, Tooltip, VirtualizedList, };
|
84
85
|
// Constants / Utils Exports
|
85
86
|
export { BUTTON_COLORS, BUTTON_VARIANTS, ICON_BUTTON_SIZES, inMemoryCache, PILL_BUTTON_SIZES, SKELETON_VARIANTS, webAPIIconsCache, };
|
package/dist/react/index.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
export { default as Accordion } from './accordion';
|
2
|
-
export { default as AccordionGroup } from './accordiongroup';
|
3
2
|
export { default as AccordionButton } from './accordionbutton';
|
3
|
+
export { default as AccordionGroup } from './accordiongroup';
|
4
4
|
export { default as AlertChip } from './alertchip';
|
5
5
|
export { default as Animation } from './animation';
|
6
6
|
export { default as Appheader } from './appheader';
|
@@ -37,11 +37,11 @@ export { default as Listheader } from './listheader';
|
|
37
37
|
export { default as ListItem } from './listitem';
|
38
38
|
export { default as Marker } from './marker';
|
39
39
|
export { default as MenuBar } from './menubar';
|
40
|
-
export { default as MenuItem } from './menuitem';
|
41
40
|
export { default as MenuItemCheckbox } from './menuitemcheckbox';
|
41
|
+
export { default as MenuItem } from './menuitem';
|
42
42
|
export { default as MenuItemRadio } from './menuitemradio';
|
43
|
-
export { default as MenuPopover } from './menupopover';
|
44
43
|
export { default as MenuSection } from './menusection';
|
44
|
+
export { default as MenuPopover } from './menupopover';
|
45
45
|
export { default as NavMenuItem } from './navmenuitem';
|
46
46
|
export { default as OptGroup } from './optgroup';
|
47
47
|
export { default as Option } from './option';
|
@@ -61,9 +61,9 @@ export { default as Skeleton } from './skeleton';
|
|
61
61
|
export { default as Spinner } from './spinner';
|
62
62
|
export { default as StaticCheckbox } from './staticcheckbox';
|
63
63
|
export { default as StaticRadio } from './staticradio';
|
64
|
-
export { default as StaticToggle } from './statictoggle';
|
65
64
|
export { default as Stepper } from './stepper';
|
66
65
|
export { default as StepperConnector } from './stepperconnector';
|
66
|
+
export { default as StaticToggle } from './statictoggle';
|
67
67
|
export { default as StepperItem } from './stepperitem';
|
68
68
|
export { default as Tab } from './tab';
|
69
69
|
export { default as TabList } from './tablist';
|
@@ -74,4 +74,5 @@ export { default as Toast } from './toast';
|
|
74
74
|
export { default as Toggle } from './toggle';
|
75
75
|
export { default as ToggleTip } from './toggletip';
|
76
76
|
export { default as Tooltip } from './tooltip';
|
77
|
+
export { default as Typewriter } from './typewriter';
|
77
78
|
export { default as VirtualizedList } from './virtualizedlist';
|
package/dist/react/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
export { default as Accordion } from './accordion';
|
2
|
-
export { default as AccordionGroup } from './accordiongroup';
|
3
2
|
export { default as AccordionButton } from './accordionbutton';
|
3
|
+
export { default as AccordionGroup } from './accordiongroup';
|
4
4
|
export { default as AlertChip } from './alertchip';
|
5
5
|
export { default as Animation } from './animation';
|
6
6
|
export { default as Appheader } from './appheader';
|
@@ -37,11 +37,11 @@ export { default as Listheader } from './listheader';
|
|
37
37
|
export { default as ListItem } from './listitem';
|
38
38
|
export { default as Marker } from './marker';
|
39
39
|
export { default as MenuBar } from './menubar';
|
40
|
-
export { default as MenuItem } from './menuitem';
|
41
40
|
export { default as MenuItemCheckbox } from './menuitemcheckbox';
|
41
|
+
export { default as MenuItem } from './menuitem';
|
42
42
|
export { default as MenuItemRadio } from './menuitemradio';
|
43
|
-
export { default as MenuPopover } from './menupopover';
|
44
43
|
export { default as MenuSection } from './menusection';
|
44
|
+
export { default as MenuPopover } from './menupopover';
|
45
45
|
export { default as NavMenuItem } from './navmenuitem';
|
46
46
|
export { default as OptGroup } from './optgroup';
|
47
47
|
export { default as Option } from './option';
|
@@ -61,9 +61,9 @@ export { default as Skeleton } from './skeleton';
|
|
61
61
|
export { default as Spinner } from './spinner';
|
62
62
|
export { default as StaticCheckbox } from './staticcheckbox';
|
63
63
|
export { default as StaticRadio } from './staticradio';
|
64
|
-
export { default as StaticToggle } from './statictoggle';
|
65
64
|
export { default as Stepper } from './stepper';
|
66
65
|
export { default as StepperConnector } from './stepperconnector';
|
66
|
+
export { default as StaticToggle } from './statictoggle';
|
67
67
|
export { default as StepperItem } from './stepperitem';
|
68
68
|
export { default as Tab } from './tab';
|
69
69
|
export { default as TabList } from './tablist';
|
@@ -74,4 +74,5 @@ export { default as Toast } from './toast';
|
|
74
74
|
export { default as Toggle } from './toggle';
|
75
75
|
export { default as ToggleTip } from './toggletip';
|
76
76
|
export { default as Tooltip } from './tooltip';
|
77
|
+
export { default as Typewriter } from './typewriter';
|
77
78
|
export { default as VirtualizedList } from './virtualizedlist';
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import { type EventName } from '@lit/react';
|
2
|
+
import Component from '../../components/typewriter';
|
3
|
+
/**
|
4
|
+
* Typewriter component that creates a typewriter effect on text content.
|
5
|
+
* It uses the Text component internally, adding a progressive typing effect.
|
6
|
+
*
|
7
|
+
* The `type` attribute allows changing the text style (passed to the internal Text component).
|
8
|
+
* The `tagname` attribute allows changing the tag name of the text element (passed to the internal Text component).
|
9
|
+
* The default tag name is `p`.
|
10
|
+
*
|
11
|
+
* The `speed` attribute controls typing speed in milliseconds per character:
|
12
|
+
* - 'very-slow' = 240ms per character
|
13
|
+
* - 'slow' = 120ms per character
|
14
|
+
* - 'normal' = 60ms per character (default)
|
15
|
+
* - 'fast' = 20ms per character
|
16
|
+
* - 'very-fast' = 1ms per character
|
17
|
+
* - Or any numeric string representing milliseconds
|
18
|
+
*
|
19
|
+
* Advanced features:
|
20
|
+
* - Dynamic speed adjustment during typing
|
21
|
+
* - Chunked text addition via addTextChunk() method
|
22
|
+
* - Instant text addition via addInstantTextChunk() method or instant parameter
|
23
|
+
* - Mixed instant and animated chunks in queue
|
24
|
+
* - Continues typing in background tabs
|
25
|
+
* - Performance optimized for large text
|
26
|
+
* - maxQueueSize to limit memory usage from excessive queuing
|
27
|
+
* - event handling for typing completion and content changes
|
28
|
+
*
|
29
|
+
* The component includes accessibility features:
|
30
|
+
* - Screen readers announce the complete text, not character by character
|
31
|
+
* - Uses aria-live="polite" for dynamic content updates
|
32
|
+
* - Sets aria-busy during typing animation
|
33
|
+
*
|
34
|
+
* @dependency mdc-text
|
35
|
+
*
|
36
|
+
* @tagname mdc-typewriter
|
37
|
+
* @slot - Default slot for text content
|
38
|
+
*
|
39
|
+
* @csspart container - Container for the text element
|
40
|
+
* @csspart text - The text element (forwarded to mdc-text)
|
41
|
+
*
|
42
|
+
* @event typing-complete - (React: onTypingComplete) Fired when the typewriter finishes typing all content.
|
43
|
+
* Detail: \{ finalContent: string \}
|
44
|
+
* @event change - (React: onChange) Fired when the content of the typewriter changes.
|
45
|
+
* Detail: \{ content: string, isTyping: boolean \}
|
46
|
+
*/
|
47
|
+
declare const reactWrapper: import("@lit/react").ReactWebComponent<Component, {
|
48
|
+
onTypingComplete: EventName<import("../../components/typewriter/typewriter.types").TypewriterTypingCompleteEvent>;
|
49
|
+
onChange: EventName<import("../../components/typewriter/typewriter.types").TypewriterChangeEvent>;
|
50
|
+
}>;
|
51
|
+
export default reactWrapper;
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { createComponent } from '@lit/react';
|
3
|
+
import Component from '../../components/typewriter';
|
4
|
+
import { TAG_NAME } from '../../components/typewriter/typewriter.constants';
|
5
|
+
/**
|
6
|
+
* Typewriter component that creates a typewriter effect on text content.
|
7
|
+
* It uses the Text component internally, adding a progressive typing effect.
|
8
|
+
*
|
9
|
+
* The `type` attribute allows changing the text style (passed to the internal Text component).
|
10
|
+
* The `tagname` attribute allows changing the tag name of the text element (passed to the internal Text component).
|
11
|
+
* The default tag name is `p`.
|
12
|
+
*
|
13
|
+
* The `speed` attribute controls typing speed in milliseconds per character:
|
14
|
+
* - 'very-slow' = 240ms per character
|
15
|
+
* - 'slow' = 120ms per character
|
16
|
+
* - 'normal' = 60ms per character (default)
|
17
|
+
* - 'fast' = 20ms per character
|
18
|
+
* - 'very-fast' = 1ms per character
|
19
|
+
* - Or any numeric string representing milliseconds
|
20
|
+
*
|
21
|
+
* Advanced features:
|
22
|
+
* - Dynamic speed adjustment during typing
|
23
|
+
* - Chunked text addition via addTextChunk() method
|
24
|
+
* - Instant text addition via addInstantTextChunk() method or instant parameter
|
25
|
+
* - Mixed instant and animated chunks in queue
|
26
|
+
* - Continues typing in background tabs
|
27
|
+
* - Performance optimized for large text
|
28
|
+
* - maxQueueSize to limit memory usage from excessive queuing
|
29
|
+
* - event handling for typing completion and content changes
|
30
|
+
*
|
31
|
+
* The component includes accessibility features:
|
32
|
+
* - Screen readers announce the complete text, not character by character
|
33
|
+
* - Uses aria-live="polite" for dynamic content updates
|
34
|
+
* - Sets aria-busy during typing animation
|
35
|
+
*
|
36
|
+
* @dependency mdc-text
|
37
|
+
*
|
38
|
+
* @tagname mdc-typewriter
|
39
|
+
* @slot - Default slot for text content
|
40
|
+
*
|
41
|
+
* @csspart container - Container for the text element
|
42
|
+
* @csspart text - The text element (forwarded to mdc-text)
|
43
|
+
*
|
44
|
+
* @event typing-complete - (React: onTypingComplete) Fired when the typewriter finishes typing all content.
|
45
|
+
* Detail: \{ finalContent: string \}
|
46
|
+
* @event change - (React: onChange) Fired when the content of the typewriter changes.
|
47
|
+
* Detail: \{ content: string, isTyping: boolean \}
|
48
|
+
*/
|
49
|
+
const reactWrapper = createComponent({
|
50
|
+
tagName: TAG_NAME,
|
51
|
+
elementClass: Component,
|
52
|
+
react: React,
|
53
|
+
events: {
|
54
|
+
onTypingComplete: 'typing-complete',
|
55
|
+
onChange: 'change',
|
56
|
+
},
|
57
|
+
displayName: 'Typewriter',
|
58
|
+
});
|
59
|
+
export default reactWrapper;
|
@@ -64,7 +64,7 @@ export const CardComponentMixin = (superClass) => {
|
|
64
64
|
if (!this.imageSrc) {
|
65
65
|
return nothing;
|
66
66
|
}
|
67
|
-
return html `<img part="image" src="${this.imageSrc}" alt="${this.imageAlt}"
|
67
|
+
return html `<div part="image-wrapper"><img part="image" src="${this.imageSrc}" alt="${this.imageAlt}" /></div>`;
|
68
68
|
}
|
69
69
|
/**
|
70
70
|
* Renders the icon on the card if icon name is provided
|