@expressivecss/expressive 0.1.0-alpha.3

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.
Files changed (105) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +82 -0
  3. package/dist/css/expressive.css +9914 -0
  4. package/dist/css/expressive.min.css +1 -0
  5. package/dist/js/components/autocomplete.d.ts +152 -0
  6. package/dist/js/components/buttons.d.ts +66 -0
  7. package/dist/js/components/cards.d.ts +50 -0
  8. package/dist/js/components/carousel.d.ts +131 -0
  9. package/dist/js/components/chips.d.ts +135 -0
  10. package/dist/js/components/collapsible.d.ts +74 -0
  11. package/dist/js/components/datepicker.d.ts +336 -0
  12. package/dist/js/components/dropdown.d.ts +148 -0
  13. package/dist/js/components/index.d.ts +21 -0
  14. package/dist/js/components/materialbox.d.ts +97 -0
  15. package/dist/js/components/modal.d.ts +45 -0
  16. package/dist/js/components/parallax.d.ts +40 -0
  17. package/dist/js/components/pushpin.d.ts +51 -0
  18. package/dist/js/components/scrollspy.d.ts +80 -0
  19. package/dist/js/components/sidenav.d.ts +125 -0
  20. package/dist/js/components/slider.d.ts +101 -0
  21. package/dist/js/components/tabs.d.ts +80 -0
  22. package/dist/js/components/tap-target.d.ts +58 -0
  23. package/dist/js/components/timepicker.d.ts +207 -0
  24. package/dist/js/components/toast.d.ts +93 -0
  25. package/dist/js/components/tooltip.d.ts +117 -0
  26. package/dist/js/components/waves.d.ts +15 -0
  27. package/dist/js/expressive.js +8239 -0
  28. package/dist/js/expressive.js.map +1 -0
  29. package/dist/js/expressive.min.js +2 -0
  30. package/dist/js/expressive.min.js.map +1 -0
  31. package/dist/js/expressive.mjs +8206 -0
  32. package/dist/js/expressive.mjs.map +1 -0
  33. package/dist/js/forms/character-counter.d.ts +36 -0
  34. package/dist/js/forms/forms.d.ts +17 -0
  35. package/dist/js/forms/index.d.ts +4 -0
  36. package/dist/js/forms/range.d.ts +40 -0
  37. package/dist/js/forms/select.d.ts +77 -0
  38. package/dist/js/foundation/component.d.ts +73 -0
  39. package/dist/js/foundation/index.d.ts +2 -0
  40. package/dist/js/foundation/utils.d.ts +122 -0
  41. package/dist/js/index.d.ts +52 -0
  42. package/dist/js/plugins/docked-display.d.ts +34 -0
  43. package/dist/js/plugins/index.d.ts +1 -0
  44. package/package.json +71 -0
  45. package/src/scss/components/_appbar.scss +454 -0
  46. package/src/scss/components/_badges.scss +77 -0
  47. package/src/scss/components/_breadcrumb.scss +27 -0
  48. package/src/scss/components/_buttons.scss +412 -0
  49. package/src/scss/components/_cards.scss +267 -0
  50. package/src/scss/components/_carousel.scss +93 -0
  51. package/src/scss/components/_chips.scss +147 -0
  52. package/src/scss/components/_collapsible.scss +84 -0
  53. package/src/scss/components/_collection.scss +114 -0
  54. package/src/scss/components/_date-picker.scss +268 -0
  55. package/src/scss/components/_dropdown.scss +98 -0
  56. package/src/scss/components/_index.scss +28 -0
  57. package/src/scss/components/_material-box.scss +42 -0
  58. package/src/scss/components/_material-icons.scss +6 -0
  59. package/src/scss/components/_modal.scss +84 -0
  60. package/src/scss/components/_pagination.scss +45 -0
  61. package/src/scss/components/_parallax.scss +26 -0
  62. package/src/scss/components/_preloader.scss +422 -0
  63. package/src/scss/components/_pulse.scss +35 -0
  64. package/src/scss/components/_sidenav.scss +229 -0
  65. package/src/scss/components/_slider.scss +119 -0
  66. package/src/scss/components/_table-of-contents.scss +32 -0
  67. package/src/scss/components/_tabs.scss +176 -0
  68. package/src/scss/components/_tap-target.scss +102 -0
  69. package/src/scss/components/_time-picker.scss +294 -0
  70. package/src/scss/components/_toast.scss +70 -0
  71. package/src/scss/components/_tooltip.scss +49 -0
  72. package/src/scss/components/_transitions.scss +19 -0
  73. package/src/scss/components/_video.scss +15 -0
  74. package/src/scss/expressive.scss +7 -0
  75. package/src/scss/forms/_checkboxes.scss +199 -0
  76. package/src/scss/forms/_file-input.scss +41 -0
  77. package/src/scss/forms/_index.scss +17 -0
  78. package/src/scss/forms/_input-fields.scss +360 -0
  79. package/src/scss/forms/_radio-buttons.scss +114 -0
  80. package/src/scss/forms/_range.scss +148 -0
  81. package/src/scss/forms/_select.scss +108 -0
  82. package/src/scss/forms/_switches.scss +127 -0
  83. package/src/scss/foundation/_base.scss +71 -0
  84. package/src/scss/foundation/_color-palette.scss +402 -0
  85. package/src/scss/foundation/_index.scss +10 -0
  86. package/src/scss/foundation/_mixins.scss +198 -0
  87. package/src/scss/foundation/_motion.scss +70 -0
  88. package/src/scss/foundation/_normalize.scss +349 -0
  89. package/src/scss/foundation/_shape.scss +30 -0
  90. package/src/scss/foundation/_state-layers.scss +68 -0
  91. package/src/scss/foundation/_theme.scss +238 -0
  92. package/src/scss/foundation/_tokens.scss +511 -0
  93. package/src/scss/foundation/_variables.scss +57 -0
  94. package/src/scss/layout/_footer.scss +26 -0
  95. package/src/scss/layout/_grid.scss +172 -0
  96. package/src/scss/layout/_index.scss +3 -0
  97. package/src/scss/layout/_table.scss +119 -0
  98. package/src/scss/utilities/_a11y.scss +77 -0
  99. package/src/scss/utilities/_colors.scss +74 -0
  100. package/src/scss/utilities/_elevation.scss +63 -0
  101. package/src/scss/utilities/_helpers.scss +50 -0
  102. package/src/scss/utilities/_index.scss +7 -0
  103. package/src/scss/utilities/_responsive.scss +62 -0
  104. package/src/scss/utilities/_spacing.scss +38 -0
  105. package/src/scss/utilities/_typography.scss +115 -0
@@ -0,0 +1,36 @@
1
+ import { Component, InitElements, MElement } from '../foundation/component';
2
+ export interface BaseOptions {
3
+ }
4
+ type InputElement = HTMLInputElement | HTMLTextAreaElement;
5
+ export declare class CharacterCounter extends Component<object> {
6
+ el: InputElement;
7
+ /** Stores the reference to the counter HTML element. */
8
+ counterEl: HTMLSpanElement;
9
+ /** Specifies whether the input is valid or not. */
10
+ isInvalid: boolean;
11
+ /** Specifies whether the input text has valid length or not. */
12
+ isValidLength: boolean;
13
+ constructor(el: HTMLInputElement | HTMLTextAreaElement, options: Partial<BaseOptions>);
14
+ static get defaults(): BaseOptions;
15
+ /**
16
+ * Initializes instance of CharacterCounter.
17
+ * @param el HTML element.
18
+ * @param options Component options.
19
+ */
20
+ static init(el: InputElement, options?: Partial<BaseOptions>): CharacterCounter;
21
+ /**
22
+ * Initializes instances of CharacterCounter.
23
+ * @param els HTML elements.
24
+ * @param options Component options.
25
+ */
26
+ static init(els: InitElements<InputElement | MElement>, options?: Partial<BaseOptions>): CharacterCounter[];
27
+ static getInstance(el: InputElement): CharacterCounter;
28
+ destroy(): void;
29
+ _setupEventHandlers(): void;
30
+ _removeEventHandlers(): void;
31
+ _setupCounter(): void;
32
+ _removeCounter(): void;
33
+ updateCounter: () => void;
34
+ _validateInput(): void;
35
+ }
36
+ export {};
@@ -0,0 +1,17 @@
1
+ export declare class Forms {
2
+ /**
3
+ * Checks if the label has validation and apply
4
+ * the correct class and styles
5
+ * @param textfield
6
+ */
7
+ static validateField(textfield: HTMLInputElement): void;
8
+ /**
9
+ * Resizes the given TextArea after updating the
10
+ * value content dynamically.
11
+ * @param e EventTarget
12
+ */
13
+ static textareaAutoResize(e: EventTarget): void;
14
+ static Init(): void;
15
+ static InitTextarea(textarea: HTMLTextAreaElement): void;
16
+ static InitFileInputPath(fileInput: HTMLInputElement): void;
17
+ }
@@ -0,0 +1,4 @@
1
+ export { CharacterCounter } from './character-counter';
2
+ export { Forms } from './forms';
3
+ export { Range, RangeOptions } from './range';
4
+ export { FormSelect, FormSelectOptions } from './select';
@@ -0,0 +1,40 @@
1
+ import { Component, BaseOptions, InitElements, MElement } from '../foundation/component';
2
+ export interface RangeOptions extends BaseOptions {
3
+ }
4
+ export declare class Range extends Component<RangeOptions> {
5
+ el: HTMLInputElement;
6
+ private _mousedown;
7
+ value: HTMLElement;
8
+ thumb: HTMLElement;
9
+ constructor(el: HTMLInputElement, options: Partial<RangeOptions>);
10
+ static get defaults(): RangeOptions;
11
+ /**
12
+ * Initializes instance of Range.
13
+ * @param el HTML element.
14
+ * @param options Component options.
15
+ */
16
+ static init(el: HTMLInputElement, options?: Partial<RangeOptions>): Range;
17
+ /**
18
+ * Initializes instances of Range.
19
+ * @param els HTML elements.
20
+ * @param options Component options.
21
+ */
22
+ static init(els: InitElements<HTMLInputElement | MElement>, options?: Partial<RangeOptions>): Range[];
23
+ static getInstance(el: HTMLInputElement): Range;
24
+ destroy(): void;
25
+ _setupEventHandlers(): void;
26
+ _removeEventHandlers(): void;
27
+ _handleRangeChange: () => void;
28
+ _handleRangeMousedownTouchstart: (e: MouseEvent | TouchEvent) => void;
29
+ _handleRangeInputMousemoveTouchmove: () => void;
30
+ _handleRangeMouseupTouchend: () => void;
31
+ _handleRangeBlurMouseoutTouchleave: () => void;
32
+ _setupThumb(): void;
33
+ _removeThumb(): void;
34
+ _showRangeBubble(): void;
35
+ _calcRangeOffset(): number;
36
+ /**
37
+ * Initializes every range input in the current document.
38
+ */
39
+ static Init(): void;
40
+ }
@@ -0,0 +1,77 @@
1
+ import { Dropdown, DropdownOptions } from '../components/dropdown';
2
+ import { Component, BaseOptions, InitElements, MElement } from '../foundation/component';
3
+ export interface FormSelectOptions extends BaseOptions {
4
+ /**
5
+ * Classes to be added to the select wrapper element.
6
+ * @default ""
7
+ */
8
+ classes: string;
9
+ /**
10
+ * Pass options object to select dropdown initialization.
11
+ * @default {}
12
+ */
13
+ dropdownOptions: Partial<DropdownOptions>;
14
+ }
15
+ type ValueStruct = {
16
+ el: HTMLOptionElement;
17
+ optionEl: HTMLElement;
18
+ };
19
+ export declare class FormSelect extends Component<FormSelectOptions> {
20
+ el: HTMLSelectElement;
21
+ /** If this is a multiple select. */
22
+ isMultiple: boolean;
23
+ /**
24
+ * Label associated with the current select element.
25
+ * Is "null", if not detected.
26
+ */
27
+ labelEl: HTMLLabelElement;
28
+ /** Dropdown UL element. */
29
+ dropdownOptions: HTMLUListElement;
30
+ /** Text input that shows current selected option. */
31
+ input: HTMLInputElement;
32
+ /** Instance of the dropdown plugin for this select. */
33
+ dropdown: Dropdown;
34
+ /** The select wrapper element. */
35
+ wrapper: HTMLDivElement;
36
+ selectOptions: (HTMLOptionElement | HTMLOptGroupElement)[];
37
+ private _values;
38
+ nativeTabIndex: number;
39
+ constructor(el: HTMLSelectElement, options: FormSelectOptions);
40
+ static get defaults(): FormSelectOptions;
41
+ /**
42
+ * Initializes instance of FormSelect.
43
+ * @param el HTML element.
44
+ * @param options Component options.
45
+ */
46
+ static init(el: HTMLSelectElement, options?: Partial<FormSelectOptions>): FormSelect;
47
+ /**
48
+ * Initializes instances of FormSelect.
49
+ * @param els HTML elements.
50
+ * @param options Component options.
51
+ */
52
+ static init(els: InitElements<HTMLSelectElement | MElement>, options?: Partial<FormSelectOptions>): FormSelect[];
53
+ static getInstance(el: HTMLElement): FormSelect;
54
+ destroy(): void;
55
+ _setupEventHandlers(): void;
56
+ _removeEventHandlers(): void;
57
+ _handleSelectChange: () => void;
58
+ _handleOptionClick: (e: MouseEvent | KeyboardEvent) => void;
59
+ _arraysEqual<T, E>(a: T[], b: (E | T)[]): boolean;
60
+ _selectOptionElement(virtualOption: HTMLElement): void;
61
+ _handleInputClick: () => void;
62
+ _setupDropdown(): void;
63
+ _addOptionToValues(realOption: HTMLOptionElement, virtualOption: HTMLElement): void;
64
+ _removeDropdown(): void;
65
+ _createAndAppendOptionWithIcon(realOption: HTMLOptionElement | HTMLOptGroupElement, type: string): HTMLLIElement;
66
+ _selectValue(value: ValueStruct): void;
67
+ _deselectValue(value: ValueStruct): void;
68
+ _deselectAll(): void;
69
+ _isValueSelected(value: ValueStruct): boolean;
70
+ _toggleEntryFromArray(value: ValueStruct): void;
71
+ _getSelectedOptions(): HTMLOptionElement[];
72
+ _setValueToInput(): void;
73
+ _setSelectedStates(): void;
74
+ _activateOption(ul: HTMLElement, li: HTMLElement): void;
75
+ getSelectedValues(): string[];
76
+ }
77
+ export {};
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Base options for component initialization.
3
+ */
4
+ export interface BaseOptions {
5
+ }
6
+ export type MElement = HTMLElement | Element;
7
+ export type InitElements<T extends MElement> = NodeListOf<T> | HTMLCollectionOf<T>;
8
+ type ComponentConstructor<T extends Component<O>, O extends BaseOptions> = {
9
+ new (el: HTMLElement, options: Partial<O>): T;
10
+ };
11
+ type ComponentType<C extends Component<O>, O extends BaseOptions> = ComponentConstructor<C, O> & typeof Component<O>;
12
+ export interface I18nOptions {
13
+ cancel: string;
14
+ clear: string;
15
+ done: string;
16
+ }
17
+ export interface Openable {
18
+ isOpen: boolean;
19
+ open(): void;
20
+ close(): void;
21
+ }
22
+ /**
23
+ * Base class implementation for Materialize components.
24
+ */
25
+ export declare class Component<O extends BaseOptions> {
26
+ /**
27
+ * The DOM element the plugin was initialized with.
28
+ */
29
+ el: HTMLElement;
30
+ /**
31
+ * The options the instance was initialized with.
32
+ */
33
+ options: O;
34
+ /**
35
+ * Constructs component instance and set everything up.
36
+ */
37
+ constructor(el: HTMLElement, options: Partial<O>, classDef: ComponentType<Component<O>, O>);
38
+ /**
39
+ * Initializes component instance.
40
+ * @param el HTML element.
41
+ * @param options Component options.
42
+ * @param classDef Class definition.
43
+ */
44
+ protected static init<I extends HTMLElement, O extends BaseOptions, C extends Component<O>>(el: I, options: O, classDef: ComponentType<C, O>): C;
45
+ /**
46
+ * Initializes component instances.
47
+ * @param els HTML elements.
48
+ * @param options Component options.
49
+ * @param classDef Class definition.
50
+ */
51
+ protected static init<I extends MElement, O extends BaseOptions, C extends Component<O>>(els: InitElements<I>, options: Partial<O>, classDef: ComponentType<C, O>): C[];
52
+ /**
53
+ * Initializes component instances.
54
+ * @param els HTML elements.
55
+ * @param options Component options.
56
+ * @param classDef Class definition.
57
+ */
58
+ protected static init<I extends MElement, O extends BaseOptions, C extends Component<O>>(els: I | InitElements<I>, options: Partial<O>, classDef: ComponentType<C, O>): C | C[];
59
+ /**
60
+ * @returns default options for component instance.
61
+ */
62
+ static get defaults(): BaseOptions;
63
+ /**
64
+ * Retrieves component instance for the given element.
65
+ * @param el Associated HTML Element.
66
+ */
67
+ static getInstance(el: HTMLElement): Component<BaseOptions>;
68
+ /**
69
+ * Destroy plugin instance and teardown.
70
+ */
71
+ destroy(): void;
72
+ }
73
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Component, BaseOptions, MElement, InitElements, I18nOptions, Openable } from './component';
2
+ export { Utils, Edges, Bounding } from './utils';
@@ -0,0 +1,122 @@
1
+ export interface Edges {
2
+ top: boolean;
3
+ right: boolean;
4
+ bottom: boolean;
5
+ left: boolean;
6
+ }
7
+ export interface Bounding {
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ }
13
+ /**
14
+ * Class with utilitary functions for global usage.
15
+ */
16
+ export declare class Utils {
17
+ /** Specifies wether tab is pressed or not. */
18
+ static tabPressed: boolean;
19
+ /** Specifies wether there is a key pressed. */
20
+ static keyDown: boolean;
21
+ /**
22
+ * Key maps.
23
+ */
24
+ static keys: {
25
+ TAB: string[];
26
+ ENTER: string[];
27
+ ESC: string[];
28
+ BACKSPACE: string[];
29
+ ARROW_UP: string[];
30
+ ARROW_DOWN: string[];
31
+ ARROW_LEFT: string[];
32
+ ARROW_RIGHT: string[];
33
+ DELETE: string[];
34
+ };
35
+ /**
36
+ * Detects when a key is pressed.
37
+ * @param e Event instance.
38
+ */
39
+ static docHandleKeydown(e: KeyboardEvent): void;
40
+ /**
41
+ * Detects when a key is released.
42
+ * @param e Event instance.
43
+ */
44
+ static docHandleKeyup(e: KeyboardEvent): void;
45
+ /**
46
+ * Detects when document is focused.
47
+ * @param e Event instance.
48
+ */
49
+ static docHandleFocus(e: FocusEvent): void;
50
+ /**
51
+ * Detects when document is not focused.
52
+ * @param e Event instance.
53
+ */
54
+ static docHandleBlur(e: FocusEvent): void;
55
+ /**
56
+ * Generates a unique string identifier.
57
+ */
58
+ static guid(): string;
59
+ /**
60
+ * Checks for exceeded edges
61
+ * @param container Container element.
62
+ * @param bounding Bounding rect.
63
+ * @param offset Element offset.
64
+ */
65
+ static checkWithinContainer(container: HTMLElement, bounding: Bounding, offset: number): Edges;
66
+ /**
67
+ * Checks if element can be aligned in multiple directions.
68
+ * @param el Element to be inspected.
69
+ * @param container Container element.
70
+ * @param bounding Bounding rect.
71
+ * @param offset Element offset.
72
+ */
73
+ static checkPossibleAlignments(el: HTMLElement, container: HTMLElement, bounding: Bounding, offset: number): {
74
+ top: boolean;
75
+ right: boolean;
76
+ bottom: boolean;
77
+ left: boolean;
78
+ spaceOnTop: number;
79
+ spaceOnRight: number;
80
+ spaceOnBottom: number;
81
+ spaceOnLeft: number;
82
+ };
83
+ /**
84
+ * Retrieves target element id from trigger.
85
+ * @param trigger Trigger element.
86
+ */
87
+ static getIdFromTrigger(trigger: HTMLElement): string;
88
+ /**
89
+ * Retrieves document scroll postion from top.
90
+ */
91
+ static getDocumentScrollTop(): number;
92
+ /**
93
+ * Retrieves document scroll postion from left.
94
+ */
95
+ static getDocumentScrollLeft(): number;
96
+ /**
97
+ * Fires the given function after a certain ammount of time.
98
+ * @param func Function to be fired.
99
+ * @param wait Wait time.
100
+ * @param options Additional options.
101
+ */
102
+ static throttle(func: (Function: object) => void, wait: number, options?: Partial<{
103
+ leading: boolean;
104
+ trailing: boolean;
105
+ }>): (...args: any[]) => any;
106
+ /**
107
+ * Renders confirm/close buttons with callback function
108
+ */
109
+ static createConfirmationContainer(container: HTMLElement, confirmText: string, cancelText: string, onConfirm: (Function: object) => void, onCancel: (Function: object) => void): void;
110
+ /**
111
+ * Renders a button with optional callback function
112
+ */
113
+ static createButton(container: HTMLElement, text: string, className?: string[], visibility?: boolean, callback?: (Function: object) => void): void;
114
+ static _setAbsolutePosition(origin: HTMLElement, container: HTMLElement, position: string, margin: number, transitionMovement: number, align?: string): {
115
+ x: number;
116
+ y: number;
117
+ };
118
+ static _repositionWithinScreen(x: number, y: number, width: number, height: number, margin: number, transitionMovement: number, align: string): {
119
+ x: number;
120
+ y: number;
121
+ };
122
+ }
@@ -0,0 +1,52 @@
1
+ import { AutocompleteOptions, FloatingActionButtonOptions, CardsOptions, CarouselOptions, ChipsOptions, CollapsibleOptions, DatepickerOptions, DropdownOptions, MaterialboxOptions, ModalOptions, ParallaxOptions, PushpinOptions, ScrollSpyOptions, SidenavOptions, TabsOptions, TapTargetOptions, TimepickerOptions, TooltipOptions } from './components';
2
+ import { FormSelectOptions } from './forms';
3
+ export { Autocomplete } from './components';
4
+ export { FloatingActionButton } from './components';
5
+ export { Cards } from './components';
6
+ export { Carousel } from './components';
7
+ export { Chips } from './components';
8
+ export { Collapsible } from './components';
9
+ export { Datepicker } from './components';
10
+ export { Dropdown } from './components';
11
+ export { Materialbox } from './components';
12
+ export { Modal } from './components';
13
+ export { Parallax } from './components';
14
+ export { Pushpin } from './components';
15
+ export { ScrollSpy } from './components';
16
+ export { Sidenav } from './components';
17
+ export { Slider } from './components';
18
+ export { Tabs } from './components';
19
+ export { TapTarget } from './components';
20
+ export { Timepicker } from './components';
21
+ export { Toast } from './components';
22
+ export { Tooltip } from './components';
23
+ export { Waves } from './components';
24
+ export { CharacterCounter, Forms, Range, FormSelect } from './forms';
25
+ export declare const version = "2.2.2";
26
+ export interface AutoInitOptions {
27
+ Autocomplete?: Partial<AutocompleteOptions>;
28
+ Cards?: Partial<CardsOptions>;
29
+ Carousel?: Partial<CarouselOptions>;
30
+ Chips?: Partial<ChipsOptions>;
31
+ Collapsible?: Partial<CollapsibleOptions>;
32
+ Datepicker?: Partial<DatepickerOptions>;
33
+ Dropdown?: Partial<DropdownOptions>;
34
+ Materialbox?: Partial<MaterialboxOptions>;
35
+ Modal?: Partial<ModalOptions>;
36
+ Parallax?: Partial<ParallaxOptions>;
37
+ Pushpin?: Partial<PushpinOptions>;
38
+ ScrollSpy?: Partial<ScrollSpyOptions>;
39
+ FormSelect?: Partial<FormSelectOptions>;
40
+ Sidenav?: Partial<SidenavOptions>;
41
+ Tabs?: Partial<TabsOptions>;
42
+ TapTarget?: Partial<TapTargetOptions>;
43
+ Timepicker?: Partial<TimepickerOptions>;
44
+ Tooltip?: Partial<TooltipOptions>;
45
+ FloatingActionButton?: Partial<FloatingActionButtonOptions>;
46
+ }
47
+ /**
48
+ * Automatically initialize components.
49
+ * @param context Root element to initialize. Defaults to `document.body`.
50
+ * @param options Options for each component.
51
+ */
52
+ export declare function AutoInit(context?: HTMLElement, options?: Partial<AutoInitOptions>): void;
@@ -0,0 +1,34 @@
1
+ export interface DockedDisplayPluginOptions {
2
+ /**
3
+ * Margin between element and docked container
4
+ */
5
+ margin: number;
6
+ /**
7
+ * Transition movement
8
+ */
9
+ transition: number;
10
+ /**
11
+ * Transition duration
12
+ */
13
+ duration: number;
14
+ /**
15
+ * The alignment of the docked container
16
+ */
17
+ align: string;
18
+ }
19
+ export declare class DockedDisplayPlugin {
20
+ private readonly el;
21
+ private readonly container;
22
+ private options;
23
+ private visible;
24
+ constructor(el: HTMLElement, container: HTMLElement, options: Partial<DockedDisplayPluginOptions>);
25
+ /**
26
+ * Initializes instance of DockedDisplayPlugin
27
+ * @param el HTMLElement to position to
28
+ * @param container HTMLElement to be positioned
29
+ * @param options Plugin options
30
+ */
31
+ static init(el: HTMLElement, container: HTMLElement, options?: Partial<DockedDisplayPluginOptions>): DockedDisplayPlugin;
32
+ show: () => void;
33
+ hide: () => void;
34
+ }
@@ -0,0 +1 @@
1
+ export { DockedDisplayPlugin, DockedDisplayPluginOptions } from './docked-display';
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@expressivecss/expressive",
3
+ "version": "0.1.0-alpha.3",
4
+ "description": "Material Design 3 CSS framework based on Materialize",
5
+ "license": "MIT",
6
+ "author": "Javier Baez",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/BaezFJ/ExpressiveCSS.git"
10
+ },
11
+ "homepage": "https://github.com/BaezFJ/ExpressiveCSS#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/BaezFJ/ExpressiveCSS/issues"
14
+ },
15
+ "keywords": [
16
+ "css",
17
+ "sass",
18
+ "scss",
19
+ "material-design",
20
+ "material-design-3",
21
+ "framework",
22
+ "ui",
23
+ "components",
24
+ "responsive",
25
+ "materialize"
26
+ ],
27
+ "main": "dist/js/expressive.js",
28
+ "module": "dist/js/expressive.mjs",
29
+ "types": "dist/js/index.d.ts",
30
+ "style": "dist/css/expressive.css",
31
+ "sass": "src/scss/expressive.scss",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./dist/js/index.d.ts",
35
+ "import": "./dist/js/expressive.mjs",
36
+ "require": "./dist/js/expressive.js"
37
+ },
38
+ "./css": "./dist/css/expressive.css",
39
+ "./css/min": "./dist/css/expressive.min.css",
40
+ "./scss": "./src/scss/expressive.scss"
41
+ },
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
45
+ "files": [
46
+ "dist/",
47
+ "src/scss/",
48
+ "LICENSE"
49
+ ],
50
+ "sideEffects": [
51
+ "*.css",
52
+ "dist/js/expressive.js"
53
+ ],
54
+ "scripts": {
55
+ "build:ts": "rollup -c",
56
+ "build:css": "sass src/scss/expressive.scss dist/css/expressive.css --no-source-map",
57
+ "build:css:min": "sass src/scss/expressive.scss dist/css/expressive.min.css --no-source-map --style=compressed",
58
+ "check:ts": "tsc --noEmit",
59
+ "build": "npm run build:ts && npm run build:css && npm run build:css:min",
60
+ "prepublishOnly": "npm run build"
61
+ },
62
+ "devDependencies": {
63
+ "@rollup/plugin-terser": "^0.4.4",
64
+ "@rollup/plugin-typescript": "^12.1.2",
65
+ "@types/node": "^25.2.1",
66
+ "rollup": "^4.30.1",
67
+ "sass": "^1.97.3",
68
+ "tslib": "^2.8.1",
69
+ "typescript": "^5.7.3"
70
+ }
71
+ }