mtrl 0.3.0 → 0.3.2

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 (140) hide show
  1. package/.env +15 -0
  2. package/CONTRIBUTING.md +8 -8
  3. package/DOCS.md +3 -3
  4. package/README.md +43 -20
  5. package/TESTING.md +128 -18
  6. package/dist/index.js +14865 -0
  7. package/git-user-stats.js +545 -0
  8. package/index.ts +9 -69
  9. package/package.json +10 -3
  10. package/src/components/badge/api.ts +15 -1
  11. package/src/components/badge/badge.ts +43 -4
  12. package/src/components/badge/config.ts +40 -8
  13. package/src/components/badge/index.ts +64 -3
  14. package/src/components/badge/types.ts +175 -33
  15. package/src/components/button/api.ts +63 -1
  16. package/src/components/button/button.ts +39 -3
  17. package/src/components/button/config.ts +21 -4
  18. package/src/components/button/index.ts +26 -1
  19. package/src/components/button/types.ts +7 -1
  20. package/src/components/card/api.ts +78 -9
  21. package/src/components/card/card.ts +58 -3
  22. package/src/components/card/config.ts +41 -11
  23. package/src/components/card/features.ts +39 -12
  24. package/src/components/card/index.ts +84 -19
  25. package/src/components/card/types.ts +218 -29
  26. package/src/components/carousel/carousel.ts +92 -28
  27. package/src/components/carousel/constants.ts +107 -21
  28. package/src/components/carousel/index.ts +31 -13
  29. package/src/components/checkbox/checkbox.ts +83 -16
  30. package/src/components/checkbox/index.ts +43 -1
  31. package/src/components/checkbox/types.ts +219 -32
  32. package/src/components/chips/api.ts +194 -0
  33. package/src/components/{chip → chips/chip}/api.ts +42 -2
  34. package/src/components/chips/chip/chip.ts +131 -0
  35. package/src/components/{chip → chips/chip}/config.ts +3 -3
  36. package/src/components/chips/chip/index.ts +3 -0
  37. package/src/components/chips/chips.md +481 -0
  38. package/src/components/chips/chips.ts +75 -0
  39. package/src/components/chips/config.ts +109 -0
  40. package/src/components/chips/constants.ts +61 -0
  41. package/src/components/chips/features/chip-items.ts +33 -0
  42. package/src/components/chips/features/container.ts +77 -0
  43. package/src/components/chips/features/controller.ts +448 -0
  44. package/src/components/chips/features/index.ts +5 -0
  45. package/src/components/chips/features/label.ts +108 -0
  46. package/src/components/chips/index.ts +11 -0
  47. package/src/components/chips/schema.ts +61 -0
  48. package/src/components/{chip → chips}/types.ts +203 -92
  49. package/src/components/dialog/dialog.ts +99 -16
  50. package/src/components/dialog/index.ts +97 -1
  51. package/src/components/dialog/types.ts +375 -69
  52. package/src/components/divider/config.ts +90 -6
  53. package/src/components/divider/divider.ts +32 -2
  54. package/src/components/divider/features.ts +26 -0
  55. package/src/components/divider/index.ts +30 -0
  56. package/src/components/divider/types.ts +86 -9
  57. package/src/components/extended-fab/api.ts +53 -1
  58. package/src/components/extended-fab/config.ts +29 -1
  59. package/src/components/extended-fab/extended-fab.ts +28 -0
  60. package/src/components/extended-fab/index.ts +36 -0
  61. package/src/components/extended-fab/types.ts +458 -13
  62. package/src/components/fab/api.ts +42 -2
  63. package/src/components/fab/config.ts +29 -1
  64. package/src/components/fab/fab.ts +16 -2
  65. package/src/components/fab/index.ts +35 -0
  66. package/src/components/fab/types.ts +374 -10
  67. package/src/components/list/api.ts +12 -2
  68. package/src/components/list/config.ts +21 -0
  69. package/src/components/list/features.ts +6 -0
  70. package/src/components/list/index.ts +56 -1
  71. package/src/components/list/list-item.ts +46 -2
  72. package/src/components/list/list.ts +73 -2
  73. package/src/components/list/types.ts +172 -0
  74. package/src/components/list/utils.ts +26 -2
  75. package/src/components/menu/api.ts +217 -20
  76. package/src/components/menu/config.ts +27 -0
  77. package/src/components/menu/features/visibility.ts +55 -6
  78. package/src/components/menu/index.ts +64 -0
  79. package/src/components/menu/menu-item.ts +46 -3
  80. package/src/components/menu/menu.ts +77 -1
  81. package/src/components/menu/types.ts +404 -39
  82. package/src/components/navigation/index.ts +4 -1
  83. package/src/components/navigation/types.ts +33 -0
  84. package/src/components/sheet/config.ts +1 -2
  85. package/src/components/sheet/features/gestures.ts +1 -1
  86. package/src/components/sheet/features/position.ts +1 -2
  87. package/src/components/sheet/features/state.ts +1 -1
  88. package/src/components/sheet/index.ts +10 -2
  89. package/src/components/sheet/sheet.ts +1 -2
  90. package/src/components/sheet/types.ts +29 -1
  91. package/src/components/slider/api.ts +1 -1
  92. package/src/components/slider/config.ts +1 -1
  93. package/src/components/slider/features/controller.ts +1 -1
  94. package/src/components/slider/features/handlers.ts +1 -1
  95. package/src/components/slider/features/states.ts +1 -1
  96. package/src/components/slider/index.ts +12 -5
  97. package/src/components/slider/schema.ts +1 -1
  98. package/src/components/slider/types.ts +31 -0
  99. package/src/components/snackbar/index.ts +7 -1
  100. package/src/components/snackbar/types.ts +25 -0
  101. package/src/components/switch/index.ts +5 -1
  102. package/src/components/switch/types.ts +13 -0
  103. package/src/components/tabs/tab-api.ts +1 -1
  104. package/src/components/tabs/types.ts +1 -1
  105. package/src/components/textfield/index.ts +7 -1
  106. package/src/components/textfield/types.ts +36 -0
  107. package/src/components/tooltip/api.ts +6 -2
  108. package/src/components/tooltip/config.ts +9 -28
  109. package/src/components/tooltip/index.ts +10 -1
  110. package/src/components/tooltip/types.ts +38 -3
  111. package/src/index.ts +129 -31
  112. package/src/styles/abstract/_mixins.scss +23 -9
  113. package/src/styles/abstract/_variables.scss +14 -4
  114. package/src/styles/components/_card.scss +1 -1
  115. package/src/styles/components/_chip.scss +323 -113
  116. package/src/styles/components/_tabs.scss +1 -1
  117. package/src/components/checkbox/constants.ts +0 -37
  118. package/src/components/chip/chip-set.ts +0 -225
  119. package/src/components/chip/chip.ts +0 -118
  120. package/src/components/chip/constants.ts +0 -28
  121. package/src/components/chip/index.ts +0 -12
  122. package/src/components/list/constants.ts +0 -116
  123. package/src/components/sheet/constants.ts +0 -20
  124. package/src/components/slider/constants.ts +0 -32
  125. package/src/components/snackbar/constants.ts +0 -26
  126. package/src/components/tooltip/constants.ts +0 -27
  127. package/test/components/button.test.js +0 -170
  128. package/test/components/checkbox.test.js +0 -238
  129. package/test/components/list.test.js +0 -105
  130. package/test/components/menu.test.js +0 -385
  131. package/test/components/navigation.test.js +0 -227
  132. package/test/components/snackbar.test.js +0 -234
  133. package/test/components/switch.test.js +0 -186
  134. package/test/components/textfield.test.js +0 -314
  135. package/test/core/emitter.test.js +0 -141
  136. package/test/core/ripple.test.js +0 -66
  137. package/test/setup.js +0 -371
  138. package/tsconfig.json +0 -22
  139. package/typedoc.json +0 -28
  140. package/typedoc.simple.json +0 -14
@@ -14,7 +14,7 @@ $container: '#{base.$prefix}-tabs';
14
14
  display: flex;
15
15
  flex-direction: column;
16
16
  width: 100%;
17
- background-color: t.color('surface'); // MD3: Surface color
17
+ // background-color: t.color('surface'); // MD3: Surface color
18
18
  box-sizing: border-box;
19
19
 
20
20
  // Basic container sizing
@@ -1,37 +0,0 @@
1
- // src/components/checkbox/constants.ts
2
-
3
- /**
4
- * Visual variants for checkbox
5
- */
6
- export const CHECKBOX_VARIANTS = {
7
- FILLED: 'filled',
8
- OUTLINED: 'outlined'
9
- } as const;
10
-
11
- /**
12
- * Label position options
13
- */
14
- export const CHECKBOX_LABEL_POSITION = {
15
- START: 'start',
16
- END: 'end'
17
- } as const;
18
-
19
- /**
20
- * Checkbox state classes
21
- */
22
- export const CHECKBOX_STATES = {
23
- CHECKED: 'checked',
24
- INDETERMINATE: 'indeterminate',
25
- DISABLED: 'disabled',
26
- FOCUSED: 'focused'
27
- } as const;
28
-
29
- /**
30
- * Checkbox element classes
31
- */
32
- export const CHECKBOX_CLASSES = {
33
- ROOT: 'checkbox',
34
- INPUT: 'checkbox-input',
35
- ICON: 'checkbox-icon',
36
- LABEL: 'checkbox-label'
37
- } as const;
@@ -1,225 +0,0 @@
1
- // src/components/chip/chip-set.js
2
- import { PREFIX } from '../../core/config'
3
- import createChip from './chip'
4
-
5
- /**
6
- * Creates a chip set container for grouping related chips
7
- * @param {Object} config - ChipSet configuration
8
- * @param {Array} [config.chips=[]] - Array of chip configurations to initialize
9
- * @param {boolean} [config.scrollable=false] - Whether the chip set is horizontally scrollable
10
- * @param {boolean} [config.vertical=false] - Whether the chip set is vertically stacked
11
- * @param {string} [config.class] - Additional CSS classes
12
- * @param {string} [config.selector] - CSS selector for filtering behavior
13
- * @param {boolean} [config.multiSelect=false] - Whether multiple chips can be selected simultaneously
14
- * @param {Function} [config.onChange] - Callback function when chip selection changes
15
- * @returns {Object} ChipSet component instance
16
- */
17
- const createChipSet = (config = {}) => {
18
- const {
19
- chips = [],
20
- scrollable = false,
21
- vertical = false,
22
- class: customClass,
23
- selector = null,
24
- multiSelect = false,
25
- onChange = null
26
- } = config
27
-
28
- // Create container element
29
- const element = document.createElement('div')
30
- element.className = `${PREFIX}-chip-set`
31
-
32
- if (customClass) {
33
- element.classList.add(customClass)
34
- }
35
-
36
- if (scrollable) {
37
- element.classList.add(`${PREFIX}-chip-set--scrollable`)
38
- }
39
-
40
- if (vertical) {
41
- element.classList.add(`${PREFIX}-chip-set--vertical`)
42
- }
43
-
44
- // Store chip instances
45
- const chipInstances = []
46
-
47
- /**
48
- * Updates chip selection states based on multiSelect configuration
49
- * @param {Object} selectedChip - The chip that was clicked/selected
50
- */
51
- const handleSelection = (selectedChip) => {
52
- if (!multiSelect) {
53
- // Single selection mode - deselect all other chips
54
- chipInstances.forEach(chip => {
55
- if (chip !== selectedChip && chip.isSelected()) {
56
- chip.setSelected(false)
57
- }
58
- })
59
- }
60
-
61
- // Call onChange callback if provided
62
- if (typeof onChange === 'function') {
63
- const selectedChips = chipInstances.filter(chip => chip.isSelected())
64
- onChange(selectedChips, selectedChip)
65
- }
66
- }
67
-
68
- /**
69
- * Adds a chip to the chip set
70
- * @param {Object} chipConfig - Configuration for the chip
71
- * @returns {Object} The created chip instance
72
- */
73
- const addChip = (chipConfig) => {
74
- const chipInstance = createChip({
75
- ...chipConfig,
76
- onSelect: (chip) => {
77
- handleSelection(chip)
78
- if (chipConfig.onSelect) {
79
- chipConfig.onSelect(chip)
80
- }
81
- }
82
- })
83
-
84
- element.appendChild(chipInstance.element)
85
- chipInstances.push(chipInstance)
86
-
87
- // Add click handler to toggle selection
88
- chipInstance.element.addEventListener('click', () => {
89
- if (!chipInstance.element.getAttribute('aria-disabled') === 'true') {
90
- chipInstance.toggleSelected()
91
- handleSelection(chipInstance)
92
- }
93
- })
94
-
95
- return chipInstance
96
- }
97
-
98
- // Initialize with provided chips
99
- chips.forEach(chipConfig => addChip(chipConfig))
100
-
101
- return {
102
- element,
103
-
104
- /**
105
- * Adds a new chip to the chip set
106
- * @param {Object} chipConfig - Configuration for the chip
107
- * @returns {Object} The chip set instance for chaining
108
- */
109
- addChip (chipConfig) {
110
- addChip(chipConfig)
111
- return this
112
- },
113
-
114
- /**
115
- * Removes a chip from the chip set
116
- * @param {Object|number} chipOrIndex - Chip instance or index to remove
117
- * @returns {Object} The chip set instance for chaining
118
- */
119
- removeChip (chipOrIndex) {
120
- const index = typeof chipOrIndex === 'number'
121
- ? chipOrIndex
122
- : chipInstances.indexOf(chipOrIndex)
123
-
124
- if (index >= 0 && index < chipInstances.length) {
125
- const chip = chipInstances[index]
126
- chip.destroy()
127
- chipInstances.splice(index, 1)
128
- }
129
-
130
- return this
131
- },
132
-
133
- /**
134
- * Gets all chip instances in the set
135
- * @returns {Array} Array of chip instances
136
- */
137
- getChips () {
138
- return [...chipInstances]
139
- },
140
-
141
- /**
142
- * Gets currently selected chips
143
- * @returns {Array} Array of selected chip instances
144
- */
145
- getSelectedChips () {
146
- return chipInstances.filter(chip => chip.isSelected())
147
- },
148
-
149
- /**
150
- * Gets the values of selected chips
151
- * @returns {Array} Array of selected chip values
152
- */
153
- getSelectedValues () {
154
- return this.getSelectedChips().map(chip => chip.getValue())
155
- },
156
-
157
- /**
158
- * Selects chips by their values
159
- * @param {Array|string} values - Value or array of values to select
160
- * @returns {Object} The chip set instance for chaining
161
- */
162
- selectByValue (values) {
163
- const valueArray = Array.isArray(values) ? values : [values]
164
-
165
- chipInstances.forEach(chip => {
166
- const shouldSelect = valueArray.includes(chip.getValue())
167
- if (shouldSelect !== chip.isSelected()) {
168
- chip.setSelected(shouldSelect)
169
- }
170
- })
171
-
172
- return this
173
- },
174
-
175
- /**
176
- * Clears all selections
177
- * @returns {Object} The chip set instance for chaining
178
- */
179
- clearSelection () {
180
- chipInstances.forEach(chip => {
181
- chip.setSelected(false)
182
- })
183
- return this
184
- },
185
-
186
- /**
187
- * Sets the scrollable state of the chip set
188
- * @param {boolean} isScrollable - Whether the chip set should be scrollable
189
- * @returns {Object} The chip set instance for chaining
190
- */
191
- setScrollable (isScrollable) {
192
- if (isScrollable) {
193
- element.classList.add(`${PREFIX}-chip-set--scrollable`)
194
- } else {
195
- element.classList.remove(`${PREFIX}-chip-set--scrollable`)
196
- }
197
- return this
198
- },
199
-
200
- /**
201
- * Sets the vertical layout state
202
- * @param {boolean} isVertical - Whether the chip set should be vertically stacked
203
- * @returns {Object} The chip set instance for chaining
204
- */
205
- setVertical (isVertical) {
206
- if (isVertical) {
207
- element.classList.add(`${PREFIX}-chip-set--vertical`)
208
- } else {
209
- element.classList.remove(`${PREFIX}-chip-set--vertical`)
210
- }
211
- return this
212
- },
213
-
214
- /**
215
- * Destroys the chip set and all contained chips
216
- */
217
- destroy () {
218
- chipInstances.forEach(chip => chip.destroy())
219
- chipInstances.length = 0
220
- element.remove()
221
- }
222
- }
223
- }
224
-
225
- export default createChipSet
@@ -1,118 +0,0 @@
1
- // src/components/chip/chip.ts
2
- import { PREFIX } from '../../core/config'
3
- import { pipe } from '../../core/compose'
4
- import { createBase, withElement } from '../../core/compose/component'
5
- import {
6
- withEvents,
7
- withText,
8
- withIcon,
9
- withVariant,
10
- withRipple,
11
- withDisabled,
12
- withLifecycle
13
- } from '../../core/compose/features'
14
- import { withAPI } from './api'
15
- import { ChipConfig, ChipComponent } from './types'
16
- import { createBaseConfig, getElementConfig, getApiConfig } from './config'
17
-
18
- /**
19
- * Creates a new Chip component
20
- * @param {ChipConfig} config - Chip configuration
21
- * @returns {ChipComponent} Chip component instance
22
- */
23
- const createChip = (config: ChipConfig = {}): ChipComponent => {
24
- const baseConfig = createBaseConfig(config)
25
-
26
- try {
27
- // Create base component with core features
28
- const chip = pipe(
29
- createBase,
30
- withEvents(),
31
- withElement(getElementConfig(baseConfig)),
32
- withVariant(baseConfig),
33
- withDisabled(baseConfig),
34
- withRipple(baseConfig),
35
- withLifecycle()
36
- )(baseConfig)
37
-
38
- // Create a container for the chip content to ensure proper ordering
39
- const contentContainer = document.createElement('div')
40
- contentContainer.className = `${chip.getClass('chip')}-content`
41
- contentContainer.style.display = 'flex'
42
- contentContainer.style.alignItems = 'center'
43
- contentContainer.style.justifyContent = 'center'
44
- contentContainer.style.width = '100%'
45
- chip.element.appendChild(contentContainer)
46
-
47
- // Add leading icon if provided
48
- if (config.leadingIcon || config.icon) {
49
- const leadingIconElement = document.createElement('span')
50
- leadingIconElement.className = `${chip.getClass('chip')}-leading-icon`
51
- leadingIconElement.innerHTML = config.leadingIcon || config.icon || ''
52
- contentContainer.appendChild(leadingIconElement)
53
- }
54
-
55
- // Add text element if provided
56
- if (config.text) {
57
- const textElement = document.createElement('span')
58
- textElement.className = `${chip.getClass('chip')}-text`
59
- textElement.textContent = config.text
60
- contentContainer.appendChild(textElement)
61
- }
62
-
63
- // Add trailing icon if provided
64
- if (config.trailingIcon) {
65
- const trailingIconElement = document.createElement('span')
66
- trailingIconElement.className = `${chip.getClass('chip')}-trailing-icon`
67
- trailingIconElement.innerHTML = config.trailingIcon
68
-
69
- // Add click handler for trailing icon
70
- if (config.onTrailingIconClick) {
71
- trailingIconElement.addEventListener('click', (e) => {
72
- e.stopPropagation() // Prevent chip click event
73
- config.onTrailingIconClick(chip as unknown as ChipComponent)
74
- })
75
- }
76
-
77
- contentContainer.appendChild(trailingIconElement)
78
- }
79
-
80
- // Add selected class if needed
81
- if (config.selected) {
82
- chip.element.classList.add(`${chip.getClass('chip')}--selected`)
83
- chip.element.setAttribute('aria-selected', 'true')
84
- }
85
-
86
- // Add API methods to the component
87
- const enhancedChip = withAPI(getApiConfig(chip))(chip)
88
-
89
- // Add click handler for selection toggle
90
- if (config.variant === 'filter' ||
91
- config.variant === 'assist' ||
92
- config.selectable) {
93
-
94
- chip.element.addEventListener('click', () => {
95
- if (enhancedChip.isDisabled()) return
96
-
97
- enhancedChip.toggleSelected()
98
-
99
- // Call onChange callback if provided
100
- if (config.onChange) {
101
- config.onChange(enhancedChip as unknown as ChipComponent)
102
- }
103
-
104
- // Call onSelect callback if provided
105
- if (config.onSelect) {
106
- config.onSelect(enhancedChip as unknown as ChipComponent)
107
- }
108
- })
109
- }
110
-
111
- return enhancedChip as unknown as ChipComponent
112
- } catch (error) {
113
- console.error('Chip creation error:', error)
114
- throw new Error(`Failed to create chip: ${(error as Error).message}`)
115
- }
116
- }
117
-
118
- export default createChip
@@ -1,28 +0,0 @@
1
- // src/components/chip/constants.js
2
-
3
- /**
4
- * Available variants for the Chip component
5
- * @enum {string}
6
- */
7
- export const CHIP_VARIANTS = {
8
- /** Standard filled chip with solid background */
9
- FILLED: 'filled',
10
-
11
- /** Outlined chip with transparent background and border */
12
- OUTLINED: 'outlined',
13
-
14
- /** Elevated chip with shadow */
15
- ELEVATED: 'elevated',
16
-
17
- /** Assist chip for suggesting actions */
18
- ASSIST: 'assist',
19
-
20
- /** Filter chip for filtering content */
21
- FILTER: 'filter',
22
-
23
- /** Input chip for representing user input */
24
- INPUT: 'input',
25
-
26
- /** Suggestion chip for presenting options */
27
- SUGGESTION: 'suggestion'
28
- };
@@ -1,12 +0,0 @@
1
- // src/components/chip/index.ts
2
- export { default } from './chip'
3
- export { default as createChipSet } from './chip-set'
4
- export type {
5
- ChipConfig,
6
- ChipComponent,
7
- ChipVariant
8
- } from './types'
9
- export type {
10
- ChipSetConfig,
11
- ChipSetComponent
12
- } from './chip-set'
@@ -1,116 +0,0 @@
1
- // src/components/list/constants.ts
2
-
3
- /**
4
- * List types/variants
5
- */
6
- export const LIST_TYPES = {
7
- DEFAULT: 'default', // Standard list
8
- SINGLE_SELECT: 'single', // Single selection list
9
- MULTI_SELECT: 'multi', // Multiple selection list
10
- RADIO: 'radio' // Radio button list
11
- } as const;
12
-
13
- /**
14
- * List layout variants
15
- */
16
- export const LIST_LAYOUTS = {
17
- HORIZONTAL: 'horizontal', // Default horizontal layout
18
- VERTICAL: 'vertical' // Items with more content stacked vertically
19
- } as const;
20
-
21
- /**
22
- * List item layouts
23
- */
24
- export const LIST_ITEM_LAYOUTS = {
25
- HORIZONTAL: 'horizontal', // Default horizontal layout
26
- VERTICAL: 'vertical' // Stacked layout with vertical alignment
27
- } as const;
28
-
29
- /**
30
- * List element class names
31
- */
32
- export const LIST_CLASSES = {
33
- ROOT: 'list',
34
- GROUP: 'list-group',
35
- GROUP_TITLE: 'list-group-title',
36
- DIVIDER: 'list-divider',
37
- SECTION: 'list-section',
38
- SECTION_TITLE: 'list-section-title',
39
- ITEM: 'list-item',
40
- ITEM_CONTENT: 'list-item-content',
41
- ITEM_LEADING: 'list-item-leading',
42
- ITEM_TEXT: 'list-item-text',
43
- ITEM_OVERLINE: 'list-item-overline',
44
- ITEM_HEADLINE: 'list-item-headline',
45
- ITEM_SUPPORTING: 'list-item-supporting',
46
- ITEM_META: 'list-item-meta',
47
- ITEM_TRAILING: 'list-item-trailing'
48
- } as const;
49
-
50
- /**
51
- * List validation schema
52
- */
53
- export const LIST_SCHEMA = {
54
- type: 'object',
55
- properties: {
56
- type: {
57
- type: 'string',
58
- enum: Object.values(LIST_TYPES),
59
- default: LIST_TYPES.DEFAULT
60
- },
61
- layout: {
62
- type: 'string',
63
- enum: Object.values(LIST_LAYOUTS),
64
- default: LIST_LAYOUTS.HORIZONTAL
65
- },
66
- items: {
67
- type: 'array',
68
- items: {
69
- type: 'object'
70
- },
71
- default: []
72
- },
73
- groups: {
74
- type: 'array',
75
- items: {
76
- type: 'object',
77
- properties: {
78
- id: { type: 'string', required: true },
79
- title: { type: 'string' },
80
- items: { type: 'array' }
81
- }
82
- },
83
- optional: true
84
- },
85
- sections: {
86
- type: 'array',
87
- items: {
88
- type: 'object',
89
- properties: {
90
- id: { type: 'string', required: true },
91
- title: { type: 'string', required: true },
92
- items: { type: 'array', required: true }
93
- }
94
- },
95
- optional: true
96
- },
97
- disabled: {
98
- type: 'boolean',
99
- default: false
100
- },
101
- class: {
102
- type: 'string',
103
- optional: true
104
- }
105
- }
106
- } as const;
107
-
108
- /**
109
- * List item states
110
- */
111
- export const LIST_ITEM_STATES = {
112
- SELECTED: 'selected',
113
- DISABLED: 'disabled',
114
- FOCUSED: 'focused',
115
- HOVERED: 'hovered'
116
- } as const;
@@ -1,20 +0,0 @@
1
- // src/components/sheet/constants.ts
2
- export const SHEET_VARIANTS = {
3
- STANDARD: 'standard',
4
- MODAL: 'modal',
5
- EXPANDED: 'expanded'
6
- }
7
-
8
- export const SHEET_POSITIONS = {
9
- BOTTOM: 'bottom',
10
- TOP: 'top',
11
- LEFT: 'left',
12
- RIGHT: 'right'
13
- }
14
-
15
- export const SHEET_EVENTS = {
16
- OPEN: 'open',
17
- CLOSE: 'close',
18
- DRAG_START: 'dragstart',
19
- DRAG_END: 'dragend'
20
- }
@@ -1,32 +0,0 @@
1
- // src/components/slider/constants.ts
2
-
3
- /**
4
- * Available slider color variants
5
- */
6
- export const SLIDER_COLORS = {
7
- PRIMARY: 'primary',
8
- SECONDARY: 'secondary',
9
- TERTIARY: 'tertiary',
10
- ERROR: 'error'
11
- } as const;
12
-
13
- /**
14
- * Available slider size variants
15
- */
16
- export const SLIDER_SIZES = {
17
- SMALL: 'small',
18
- MEDIUM: 'medium',
19
- LARGE: 'large'
20
- } as const;
21
-
22
- /**
23
- * Available slider events
24
- */
25
- export const SLIDER_EVENTS = {
26
- CHANGE: 'change',
27
- INPUT: 'input',
28
- FOCUS: 'focus',
29
- BLUR: 'blur',
30
- START: 'start',
31
- END: 'end'
32
- } as const;
@@ -1,26 +0,0 @@
1
- // src/components/snackbar/constants.ts
2
-
3
- /**
4
- * Snackbar visual variants
5
- */
6
- export const SNACKBAR_VARIANTS = {
7
- BASIC: 'basic',
8
- ACTION: 'action' // With action button
9
- } as const;
10
-
11
- /**
12
- * Snackbar display positions
13
- */
14
- export const SNACKBAR_POSITIONS = {
15
- CENTER: 'center',
16
- START: 'start',
17
- END: 'end'
18
- } as const;
19
-
20
- /**
21
- * Snackbar state classes
22
- */
23
- export const SNACKBAR_STATES = {
24
- VISIBLE: 'visible',
25
- HIDDEN: 'hidden'
26
- } as const;
@@ -1,27 +0,0 @@
1
- // src/components/tooltip/constants.ts
2
-
3
- export const TOOLTIP_POSITIONS = {
4
- TOP: 'top',
5
- RIGHT: 'right',
6
- BOTTOM: 'bottom',
7
- LEFT: 'left',
8
- TOP_START: 'top-start',
9
- TOP_END: 'top-end',
10
- RIGHT_START: 'right-start',
11
- RIGHT_END: 'right-end',
12
- BOTTOM_START: 'bottom-start',
13
- BOTTOM_END: 'bottom-end',
14
- LEFT_START: 'left-start',
15
- LEFT_END: 'left-end'
16
- }
17
-
18
- export const TOOLTIP_VARIANTS = {
19
- DEFAULT: 'default',
20
- RICH: 'rich',
21
- PLAIN: 'plain'
22
- }
23
-
24
- export const DEFAULT_SHOW_DELAY = 300
25
- export const DEFAULT_HIDE_DELAY = 100
26
- export const DEFAULT_OFFSET = 8
27
- export const DEFAULT_ARROW_SIZE = 8