@ulu/frontend 0.2.0-beta.6 → 0.2.0-beta.7

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 (138) hide show
  1. package/dist/README.md +12 -0
  2. package/dist/{types → es}/core/component.d.ts +3 -9
  3. package/dist/es/core/component.d.ts.map +1 -0
  4. package/dist/es/core/component.js +134 -0
  5. package/dist/{types → es}/core/events.d.ts +1 -1
  6. package/dist/{types → es}/core/events.d.ts.map +1 -1
  7. package/dist/es/core/events.js +45 -0
  8. package/dist/es/core/index.d.ts +4 -0
  9. package/dist/{types → es}/core/settings.d.ts +1 -1
  10. package/dist/es/core/settings.d.ts.map +1 -0
  11. package/dist/es/core/settings.js +44 -0
  12. package/dist/es/index.d.ts +4 -0
  13. package/dist/es/index.js +123 -0
  14. package/dist/{types → es}/ui/breakpoints.d.ts +5 -3
  15. package/dist/es/ui/breakpoints.d.ts.map +1 -0
  16. package/dist/es/ui/breakpoints.js +194 -0
  17. package/dist/{types → es}/ui/collapsible.d.ts +28 -7
  18. package/dist/es/ui/collapsible.d.ts.map +1 -0
  19. package/dist/es/ui/collapsible.js +140 -0
  20. package/dist/{types → es}/ui/details-group.d.ts +1 -1
  21. package/dist/es/ui/details-group.js +49 -0
  22. package/dist/{types → es}/ui/dialog.d.ts +3 -3
  23. package/dist/es/ui/dialog.d.ts.map +1 -0
  24. package/dist/es/ui/dialog.js +112 -0
  25. package/dist/{types → es}/ui/flipcard.d.ts +1 -1
  26. package/dist/es/ui/flipcard.js +97 -0
  27. package/dist/{types → es}/ui/grid.d.ts +2 -2
  28. package/dist/{types → es}/ui/grid.d.ts.map +1 -1
  29. package/dist/es/ui/grid.js +18 -0
  30. package/dist/{types → es}/ui/index.d.ts +21 -21
  31. package/dist/{types → es}/ui/modal-builder.d.ts +21 -16
  32. package/dist/es/ui/modal-builder.d.ts.map +1 -0
  33. package/dist/es/ui/modal-builder.js +136 -0
  34. package/dist/es/ui/overflow-scroller-pager.js +28 -0
  35. package/dist/{types → es}/ui/overflow-scroller.d.ts +3 -3
  36. package/dist/{types → es}/ui/overflow-scroller.d.ts.map +1 -1
  37. package/dist/es/ui/overflow-scroller.js +90 -0
  38. package/dist/es/ui/page.js +7 -0
  39. package/dist/{types → es}/ui/popover.d.ts +3 -3
  40. package/dist/{types → es}/ui/popover.d.ts.map +1 -1
  41. package/dist/es/ui/popover.js +77 -0
  42. package/dist/es/ui/print-details.js +22 -0
  43. package/dist/es/ui/print.js +34 -0
  44. package/dist/{types → es}/ui/programmatic-modal.d.ts +1 -1
  45. package/dist/{types → es}/ui/programmatic-modal.d.ts.map +1 -1
  46. package/dist/{types → es}/ui/proxy-click.d.ts +4 -4
  47. package/dist/es/ui/proxy-click.d.ts.map +1 -0
  48. package/dist/es/ui/proxy-click.js +44 -0
  49. package/dist/{types → es}/ui/resizer.d.ts +16 -16
  50. package/dist/es/ui/resizer.d.ts.map +1 -0
  51. package/dist/es/ui/resizer.js +242 -0
  52. package/dist/{types → es}/ui/scroll-slider.d.ts +1 -1
  53. package/dist/es/ui/scroll-slider.js +29 -0
  54. package/dist/{types → es}/ui/scrollpoint.d.ts +79 -11
  55. package/dist/es/ui/scrollpoint.d.ts.map +1 -0
  56. package/dist/es/ui/scrollpoint.js +178 -0
  57. package/dist/{types → es}/ui/slider.d.ts +11 -8
  58. package/dist/es/ui/slider.d.ts.map +1 -0
  59. package/dist/es/ui/slider.js +292 -0
  60. package/dist/{types → es}/ui/tabs.d.ts +2 -2
  61. package/dist/{types → es}/ui/tabs.d.ts.map +1 -1
  62. package/dist/es/ui/tabs.js +64 -0
  63. package/dist/{types → es}/ui/theme-toggle.d.ts +4 -4
  64. package/dist/es/ui/theme-toggle.d.ts.map +1 -0
  65. package/dist/es/ui/theme-toggle.js +190 -0
  66. package/dist/{types → es}/ui/tooltip.d.ts +5 -5
  67. package/dist/es/ui/tooltip.d.ts.map +1 -0
  68. package/dist/es/ui/tooltip.js +184 -0
  69. package/dist/{types → es}/utils/class-logger.d.ts +4 -4
  70. package/dist/es/utils/class-logger.d.ts.map +1 -0
  71. package/dist/es/utils/class-logger.js +37 -0
  72. package/dist/es/utils/css.js +6 -0
  73. package/dist/{types → es}/utils/dom.d.ts +1 -1
  74. package/dist/{types → es}/utils/dom.d.ts.map +1 -1
  75. package/dist/es/utils/dom.js +29 -0
  76. package/dist/{types → es}/utils/file-save.d.ts.map +1 -1
  77. package/dist/es/utils/file-save.js +46 -0
  78. package/dist/{types → es}/utils/floating-ui.d.ts +1 -1
  79. package/dist/{types → es}/utils/floating-ui.d.ts.map +1 -1
  80. package/dist/es/utils/floating-ui.js +46 -0
  81. package/dist/es/utils/font-awesome.js +13 -0
  82. package/dist/es/utils/id.js +11 -0
  83. package/dist/{types → es}/utils/index.d.ts +7 -7
  84. package/dist/es/utils/pause-youtube-video.js +27 -0
  85. package/dist/umd/style.css +1 -0
  86. package/dist/{ulu-frontend.umd.js → umd/ulu-frontend.umd.js} +15 -15
  87. package/lib/js/ui/breakpoints.js +12 -12
  88. package/lib/js/ui/modal-builder.js +5 -3
  89. package/lib/js/ui/slider.js +19 -10
  90. package/lib/scss/_element.scss +10 -4
  91. package/lib/scss/components/_accordion.scss +1 -7
  92. package/lib/scss/components/_button.scss +11 -2
  93. package/lib/scss/components/_card.scss +0 -2
  94. package/lib/scss/components/_menu-stack.scss +1 -0
  95. package/lib/scss/components/_modal.scss +13 -13
  96. package/lib/scss/helpers/_utilities.scss +0 -3
  97. package/package.json +19 -16
  98. package/dist/style.css +0 -1
  99. package/dist/types/core/component.d.ts.map +0 -1
  100. package/dist/types/core/index.d.ts +0 -4
  101. package/dist/types/core/settings.d.ts.map +0 -1
  102. package/dist/types/index.d.ts +0 -4
  103. package/dist/types/ui/breakpoints.d.ts.map +0 -1
  104. package/dist/types/ui/collapsible.d.ts.map +0 -1
  105. package/dist/types/ui/dialog.d.ts.map +0 -1
  106. package/dist/types/ui/modal-builder.d.ts.map +0 -1
  107. package/dist/types/ui/proxy-click.d.ts.map +0 -1
  108. package/dist/types/ui/resizer.d.ts.map +0 -1
  109. package/dist/types/ui/scrollpoint.d.ts.map +0 -1
  110. package/dist/types/ui/slider.d.ts.map +0 -1
  111. package/dist/types/ui/theme-toggle.d.ts.map +0 -1
  112. package/dist/types/ui/tooltip.d.ts.map +0 -1
  113. package/dist/types/utils/class-logger.d.ts.map +0 -1
  114. package/dist/ulu-frontend.es.js +0 -5743
  115. /package/dist/{types → es}/core/index.d.ts.map +0 -0
  116. /package/dist/{types → es}/index.d.ts.map +0 -0
  117. /package/dist/{types → es}/ui/details-group.d.ts.map +0 -0
  118. /package/dist/{types → es}/ui/flipcard.d.ts.map +0 -0
  119. /package/dist/{types → es}/ui/index.d.ts.map +0 -0
  120. /package/dist/{types → es}/ui/overflow-scroller-pager.d.ts +0 -0
  121. /package/dist/{types → es}/ui/overflow-scroller-pager.d.ts.map +0 -0
  122. /package/dist/{types → es}/ui/page.d.ts +0 -0
  123. /package/dist/{types → es}/ui/page.d.ts.map +0 -0
  124. /package/dist/{types → es}/ui/print-details.d.ts +0 -0
  125. /package/dist/{types → es}/ui/print-details.d.ts.map +0 -0
  126. /package/dist/{types → es}/ui/print.d.ts +0 -0
  127. /package/dist/{types → es}/ui/print.d.ts.map +0 -0
  128. /package/dist/{types → es}/ui/scroll-slider.d.ts.map +0 -0
  129. /package/dist/{types → es}/utils/css.d.ts +0 -0
  130. /package/dist/{types → es}/utils/css.d.ts.map +0 -0
  131. /package/dist/{types → es}/utils/file-save.d.ts +0 -0
  132. /package/dist/{types → es}/utils/font-awesome.d.ts +0 -0
  133. /package/dist/{types → es}/utils/font-awesome.d.ts.map +0 -0
  134. /package/dist/{types → es}/utils/id.d.ts +0 -0
  135. /package/dist/{types → es}/utils/id.d.ts.map +0 -0
  136. /package/dist/{types → es}/utils/index.d.ts.map +0 -0
  137. /package/dist/{types → es}/utils/pause-youtube-video.d.ts +0 -0
  138. /package/dist/{types → es}/utils/pause-youtube-video.d.ts.map +0 -0
@@ -12,10 +12,6 @@ import { log, logError } from "../utils/class-logger.js";
12
12
 
13
13
  const getDefaultCustomProperty = prefix => getCustomProperty(prefix, "breakpoint");
14
14
 
15
- if (isBrowser()) {
16
- initResizeHandler();
17
- }
18
-
19
15
  /**
20
16
  * @class
21
17
  * Class that provides method for retrieving and acting on breakpoints passed
@@ -23,6 +19,17 @@ if (isBrowser()) {
23
19
  */
24
20
  export class BreakpointManager {
25
21
  static instances = [];
22
+ static globalsInitialized = false;
23
+
24
+ static _initializeGlobals() {
25
+ if (BreakpointManager.globalsInitialized || !isBrowser()) {
26
+ return;
27
+ }
28
+ window.addEventListener(getCoreEventName("pageResized"), () => {
29
+ BreakpointManager.instances.forEach(i => i.update());
30
+ });
31
+ BreakpointManager.globalsInitialized = true;
32
+ }
26
33
  static defaults = {
27
34
  element: document?.documentElement,
28
35
  valueFromPseudo: false,
@@ -41,6 +48,7 @@ export class BreakpointManager {
41
48
  * @param {String} config.pseudoSelector Change pseudo selector used to get the breakpoint from the pseudo's content property
42
49
  */
43
50
  constructor(config) {
51
+ BreakpointManager._initializeGlobals();
44
52
  Object.assign(this, BreakpointManager.defaults, config);
45
53
  this.active = null;
46
54
  this.previous = null;
@@ -281,12 +289,4 @@ class Breakpoint {
281
289
  msg.unshift(`Breakpoint (${ this.name }):`);
282
290
  this._manager.log.apply(this._manager, msg);
283
291
  }
284
- }
285
-
286
- // Resize Handler to update breakpoints for all instances (Called after resize finished)
287
- // - Only setup in browser environment
288
- function initResizeHandler() {
289
- window.addEventListener(getCoreEventName("pageResized"), () => {
290
- BreakpointManager.instances.forEach(i => i.update());
291
- });
292
292
  }
@@ -41,7 +41,8 @@ export const initializer = new ComponentInitializer({
41
41
  * @property {boolean} noMinHeight - If `true`, the modal will not have a minimum height. Defaults to `false`.
42
42
  * @property {string} class - Additional CSS class(es) to add to the modal. Defaults to `""`.
43
43
  * @property {string} baseClass - The base CSS class for the modal elements. Defaults to `"modal"`.
44
- * @property {string} classCloseIcon - The class name for the close icon. Uses the wrapped setting string.
44
+ * @property {string} classClose - The class name for the close button. Defaults to 'button button--icon' styling.
45
+ * @property {string} classCloseIcon - The class name for the close icon. Defaults to 'button__icon' styling. Uses the wrapped setting string.
45
46
  * @property {string} classResizerIcon - The class name for the resizer icon. Uses the wrapped setting string.
46
47
  * @property {string|Node} footerElement - Element or selector to use as the footer (will be moved to dialog on creation, used for DOM API)
47
48
  * @property {string|Node} footerHtml - Markup to use in the footer
@@ -76,7 +77,8 @@ export const defaults = {
76
77
  baseClass: "modal",
77
78
  footerElement: null,
78
79
  footerHtml: null,
79
- classCloseIcon: wrapSettingString("iconClassClose"),
80
+ classClose: "button button--icon",
81
+ classCloseIcon: wrapSettingString("iconClassClose", (v) => `${v} button__icon`),
80
82
  classResizerIcon: wrapSettingString("iconClassDragX"),
81
83
  classResizerIconBoth: wrapSettingString("iconClassDragBoth"),
82
84
  debug: false,
@@ -124,7 +126,7 @@ export const defaults = {
124
126
  }
125
127
  <span class="${ baseClass }__title-text">${ config.title }</span>
126
128
  </h2>
127
- <button class="${ baseClass }__close" aria-label="Close modal" ${ closeAttribute } autofocus>
129
+ <button class="${ baseClass }__close ${ config.classClose }" aria-label="Close modal" ${ closeAttribute } autofocus>
128
130
  ${ config.templateCloseIcon(config) }
129
131
  </button>
130
132
  </header>
@@ -53,17 +53,9 @@ const attrSelectorControlContext = initializer.attributeSelector("control-contex
53
53
  const attrSelectorSlide = initializer.attributeSelector("slide");
54
54
 
55
55
  const instances = [];
56
- const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
57
56
  const eventOnce = { once: true };
58
57
  const cssDuration = d => `${ d }ms`;
59
58
 
60
- // Resize handlers for all slider instances, Load event to avoid triggering
61
- addEventListener('load', () => {
62
- addEventListener('resize', debounce(() => {
63
- Slider.instances.forEach(i => i.handleResize());
64
- }, 250));
65
- });
66
-
67
59
  const requiredElements = [
68
60
  "container",
69
61
  "trackContainer",
@@ -112,6 +104,22 @@ export function setupSlider(container, options) {
112
104
  */
113
105
  export class Slider {
114
106
  static instances = [];
107
+ static globalsInitialized = false;
108
+ static reduceMotion = false;
109
+
110
+ static _initializeGlobals() {
111
+ if (Slider.globalsInitialized) {
112
+ return;
113
+ }
114
+ // Load event to avoid triggering before page is ready
115
+ addEventListener('load', () => {
116
+ addEventListener('resize', debounce(() => {
117
+ Slider.instances.forEach(i => i.handleResize());
118
+ }, 250));
119
+ });
120
+ Slider.reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
121
+ Slider.globalsInitialized = true;
122
+ }
115
123
  /**
116
124
  * Default options for slider
117
125
  */
@@ -133,6 +141,7 @@ export class Slider {
133
141
  }
134
142
  }
135
143
  constructor(elements, config) {
144
+ Slider._initializeGlobals();
136
145
  const options = Object.assign({}, Slider.defaults, config);
137
146
  this.options = options;
138
147
  this.slide = null;
@@ -161,8 +170,8 @@ export class Slider {
161
170
  ...this.createNav(elements.navContext || elements.container)
162
171
  };
163
172
  // Choose the appropriate transition method
164
- this.transition = options.transition ? options.transitionFade || reduceMotion
165
- ? this.fadeTransition : this.slideTransition : this.noTransition;
173
+ this.transition = options.transition ? options.transitionFade || Slider.reduceMotion ?
174
+ this.fadeTransition : this.slideTransition : this.noTransition;
166
175
  this.setup();
167
176
  this.goto(0, null, "init");
168
177
  log(this, "Slider Instance Created", this);
@@ -71,7 +71,7 @@ $config: (
71
71
  "ul-list-style-type-3": square,
72
72
  "cap-color" : "accent",
73
73
  "cap-size" : 5px,
74
- "icon-centered-vertical-offset" : 0.05em,
74
+ "icon-centered-vertical-offset" : 0.02em,
75
75
  ) !default;
76
76
 
77
77
  /// Rule style map, redefine defaults or add to
@@ -415,6 +415,12 @@ $rule-margins: (
415
415
  }
416
416
  }
417
417
 
418
- @mixin icon-vert-translate($adjustment : get("icon-centered-vertical-offset")) {
419
- transform: translateY($adjustment);
420
- }
418
+ /// Remove default details arrow from the summary element
419
+ @mixin summary-remove-marker() {
420
+ list-style: none; // Remove the default arrow (old safari?)
421
+ &::-webkit-details-marker,
422
+ &::marker {
423
+ display: none;
424
+ content: "";
425
+ }
426
+ }
@@ -180,7 +180,6 @@ $config: (
180
180
  #{ $prefix }__summary {
181
181
  position: relative; // For pseudo border (done this way for animations)
182
182
  display: flex;
183
- list-style: none; // Remove the default arrow (old safari?)
184
183
  width: 100%; // For <button>
185
184
  background-color: color.get(get("summary-background-color"));
186
185
  color: color.get(get("summary-color"));
@@ -192,12 +191,7 @@ $config: (
192
191
  align-items: center;
193
192
 
194
193
  @include typography.optional-size(get("summary-type-size"), $only-font-size: true);
195
-
196
- &::-webkit-details-marker,
197
- &::marker {
198
- display: none;
199
- content: "";
200
- }
194
+ @include element.summary-remove-marker;
201
195
  &:hover,
202
196
  &:focus {
203
197
  background-color: color.get(get("summary-background-color-hover"));
@@ -22,7 +22,7 @@ $-fallbacks: (
22
22
 
23
23
  $config: (
24
24
  "icon-margin" : 0.5em,
25
- "icon-centered-vertical-offset": 0
25
+ "icon-centered-vertical-offset": true
26
26
  ) !default;
27
27
 
28
28
  /// Change modules $config
@@ -63,7 +63,6 @@ $config: (
63
63
  @include button.default();
64
64
  }
65
65
  #{ $prefix }__icon {
66
- @include element.icon-vert-translate(get("icon-centered-vertical-offset"));
67
66
  &:first-child {
68
67
  margin-right: get("icon-margin");
69
68
  }
@@ -96,6 +95,16 @@ $config: (
96
95
  width: button.get("icon-size");
97
96
  height: button.get("icon-size");
98
97
  padding: 0 !important;
98
+
99
+ #{ $prefix }__icon {
100
+ transform: translatey(get("icon-centered-vertical-offset"));
101
+ &:first-child {
102
+ margin-right: 0;
103
+ }
104
+ &:last-child {
105
+ margin-left: 0;
106
+ }
107
+ }
99
108
  }
100
109
 
101
110
  @each $size, $values in button.$sizes {
@@ -233,7 +233,6 @@ $config: (
233
233
  grid-column: 1;
234
234
  display: flex;
235
235
  flex-direction: column;
236
- flex-grow: 1;
237
236
  min-height: get("body-min-height");
238
237
  }
239
238
  #{ $prefix }__main {
@@ -243,7 +242,6 @@ $config: (
243
242
  grid-column: 1;
244
243
  display: flex;
245
244
  align-items: center;
246
- flex: 0;
247
245
  padding-top: get("footer-padding-y");
248
246
  padding-bottom: get("footer-padding-y");
249
247
  min-height: get("footer-min-height");
@@ -296,6 +296,7 @@ $styles: (
296
296
  justify-content: space-between;
297
297
  align-items: center;
298
298
  cursor: pointer;
299
+ @include element.summary-remove-marker;
299
300
  }
300
301
 
301
302
  // Modifiers
@@ -48,11 +48,12 @@ $-fallbacks: (
48
48
  /// @prop {CssValue} animation-timing-function [cubic-bezier(0, 0, .2, 1)] The animation timing menu of the modal.
49
49
  /// @prop {Color} close-background-color [white] Background color for the modal close icon.
50
50
  /// @prop {Close} close-background-color-hover [blue] Background color for the modal close icon when hovered or focused.
51
+ /// @prop {Color} close-border-color [null] Border color of the modal__close element. Overrides button border color if using button styling. Fallback to close-background-color.
52
+ /// @prop {Color} close-border-color-hover [null] Border color hover of the modal__close element. Overrides button border color if using button styling. Fallback to close-background-color-hover.
53
+ /// @prop {Color} close-box-shadow [none] Box-shadow of the modal__close element. Overrides button border color if using button styling. Defaults to remove box-shadow styling.
51
54
  /// @prop {Color} close-color [black] Type color for the modal close icon.
52
55
  /// @prop {Color} close-color-hover [black] Type color for the modal close icon when hovered or focused.
53
- /// @prop {Dimension} close-font-size [1.2rem] Font-siz of of the modal close icon font size.
54
56
  /// @prop {Dimension} close-margin [0.5rem] The margin for the modal close icon.
55
- /// @prop {Dimension} close-size [2.5rem] Size of the modal close icon.
56
57
  /// @prop {Color} header-background-color [black] Background color for the header.
57
58
  /// @prop {CssValue} header-border-bottom [none] Bottom-border on the modal header.
58
59
  /// @prop {Color} header-color [white] Type color of the header.
@@ -91,12 +92,13 @@ $config: (
91
92
  "animation-timing-function" : cubic-bezier(0, 0, .2, 1),
92
93
  "close-background-color": white,
93
94
  "close-background-color-hover": blue,
95
+ "close-border-color": null,
96
+ "close-border-color-hover": null,
97
+ "close-box-shadow": none,
94
98
  "close-color": black,
95
99
  "close-color-hover": black,
96
- "close-font-size": 1.2rem,
97
100
  "close-margin": 0.5rem,
98
101
  "close-icon-vertical-offset" : true,
99
- "close-size": 2.5rem,
100
102
  "header-background-color": black,
101
103
  "header-border-bottom": none,
102
104
  "header-color": white,
@@ -230,23 +232,21 @@ $config: (
230
232
  #{ $prefix }__close {
231
233
  margin: 0 0 0 get("close-margin");
232
234
  flex: 0 0 auto;
233
- font-size: get("close-font-size");
234
- width: get("close-size");
235
- height: get("close-size");
236
235
  background-color: color.get(get("close-background-color"));
237
- border-radius: 50%;
238
- display: flex;
239
- align-items: center;
240
- justify-content: center;
236
+ border-color: color.get(utils.fallback(get("close-border-color"), get("close-background-color")));
241
237
  color: color.get(get("close-color"));
242
- &:hover {
238
+ box-shadow: get("close-box-shadow");
239
+ &:hover,
240
+ &:focus {
243
241
  background-color: color.get(get("close-background-color-hover"));
244
242
  color: color.get(get("close-color-hover"));
243
+ border-color: color.get(utils.fallback(get("close-border-color-hover"), get("close-background-color-hover")));
244
+ // need border-color-hover use utils fallback
245
245
  }
246
246
  }
247
247
 
248
248
  #{ $prefix }__close-icon {
249
- @include element.icon-vert-translate(get("close-icon-vertical-offset"));
249
+ // transform: translatey(get("close-icon-vertical-offset"));
250
250
  }
251
251
 
252
252
  #{ $prefix }__resizer {
@@ -140,7 +140,4 @@
140
140
  margin-right: typography.get("space-size");
141
141
  }
142
142
  }
143
- .icon-vert-translate {
144
- @include element.icon-vert-translate();
145
- }
146
143
  }
package/package.json CHANGED
@@ -1,36 +1,37 @@
1
1
  {
2
2
  "name": "@ulu/frontend",
3
- "version": "0.2.0-beta.6",
3
+ "version": "0.2.0-beta.7",
4
4
  "description": "A framework-agnostic frontend toolkit providing a modular, tree-shakable library of accessible components and utilities. Designed for seamless integration, it features a highly configurable SCSS system for any environment and vanilla JavaScript modules optimized for traditional websites and content management systems.",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
8
8
  "lib"
9
9
  ],
10
- "main": "./dist/ulu-frontend.umd.js",
11
- "module": "./dist/ulu-frontend.es.js",
12
- "types": "./dist/types/index.d.ts",
10
+ "main": "./dist/umd/ulu-frontend.umd.js",
11
+ "module": "./dist/es/index.js",
12
+ "types": "./dist/es/index.d.ts",
13
13
  "exports": {
14
14
  ".": {
15
- "import": "./dist/ulu-frontend.es.js",
16
- "require": "./dist/ulu-frontend.umd.js",
17
- "types": "./dist/types/index.d.ts"
15
+ "import": "./dist/es/index.js",
16
+ "require": "./dist/umd/ulu-frontend.umd.js",
17
+ "types": "./dist/es/index.d.ts"
18
18
  },
19
- "./style.css": "./dist/style.css",
19
+ "./style.css": "./dist/umd/style.css",
20
20
  "./scss/*.scss": "./lib/scss/*.scss",
21
21
  "./scss/*": "./lib/scss/*",
22
22
  "./scss": "./lib/scss/index.scss",
23
23
  "./js/*": {
24
- "import": "./lib/js/*",
25
- "types": "./dist/types/*"
24
+ "import": "./dist/es/*",
25
+ "types": "./dist/es/*"
26
26
  }
27
27
  },
28
+ "sideEffects": [
29
+ "lib/js/core/events.js"
30
+ ],
28
31
  "scripts": {
29
- "clean": "rm -rf dist",
30
- "build": "npm run clean && npm run build:es && npm run build:umd && npm run types",
31
- "build:es": "vite build",
32
+ "build": "npm run build:es && npm run build:umd",
33
+ "build:es": "BUILD_FORMAT=es vite build",
32
34
  "build:umd": "BUILD_FORMAT=umd vite build",
33
- "types": "npx tsc",
34
35
  "docs": "npx @11ty/eleventy --serve --config=docs.eleventy.js",
35
36
  "docs:incremental": "npx @11ty/eleventy --serve --incremental --config=docs.eleventy.js",
36
37
  "docs:nogen": "NO_DOC_GEN=true npx @11ty/eleventy --serve --incremental --config=docs.eleventy.js",
@@ -115,12 +116,14 @@
115
116
  "markdown-it-anchor": "^8.6.7",
116
117
  "markdown-it-attrs": "^4.1.6",
117
118
  "micromodal": "^0.4.10",
119
+ "rollup-plugin-peer-deps-external": "^2.2.4",
118
120
  "sass-embedded": "^1.81.0",
119
121
  "sharp": "^0.33.4",
120
122
  "svgo": "^3.3.2",
121
123
  "swipe-listener": "^1.3.0",
122
124
  "twig": "^1.17.1",
123
125
  "typescript": "^5.3.3",
124
- "vite": "^5.4.11"
126
+ "vite": "^5.4.11",
127
+ "vite-plugin-dts": "^4.5.4"
125
128
  }
126
- }
129
+ }