@graupl/core 1.0.0-beta.10 → 1.0.0-beta.11

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 (59) hide show
  1. package/dist/js/accordion.js +5 -0
  2. package/dist/js/accordion.js.map +1 -0
  3. package/dist/js/alert.js +5 -0
  4. package/dist/js/alert.js.map +1 -0
  5. package/dist/js/carousel.js +5 -0
  6. package/dist/js/carousel.js.map +1 -0
  7. package/dist/js/component/accordion.cjs.js +5 -0
  8. package/dist/js/component/accordion.cjs.js.map +1 -0
  9. package/dist/js/component/accordion.es.js +5 -0
  10. package/dist/js/component/accordion.es.js.map +1 -0
  11. package/dist/js/component/accordion.iife.js +5 -0
  12. package/dist/js/component/accordion.iife.js.map +1 -0
  13. package/dist/js/component/alert.cjs.js +5 -0
  14. package/dist/js/component/alert.cjs.js.map +1 -0
  15. package/dist/js/component/alert.es.js +5 -0
  16. package/dist/js/component/alert.es.js.map +1 -0
  17. package/dist/js/component/alert.iife.js +5 -0
  18. package/dist/js/component/alert.iife.js.map +1 -0
  19. package/dist/js/component/carousel.cjs.js +5 -0
  20. package/dist/js/component/carousel.cjs.js.map +1 -0
  21. package/dist/js/component/carousel.es.js +5 -0
  22. package/dist/js/component/carousel.es.js.map +1 -0
  23. package/dist/js/component/carousel.iife.js +5 -0
  24. package/dist/js/component/carousel.iife.js.map +1 -0
  25. package/dist/js/generator/accordion.cjs.js +5 -0
  26. package/dist/js/generator/accordion.cjs.js.map +1 -0
  27. package/dist/js/generator/accordion.es.js +5 -0
  28. package/dist/js/generator/accordion.es.js.map +1 -0
  29. package/dist/js/generator/accordion.iife.js +5 -0
  30. package/dist/js/generator/accordion.iife.js.map +1 -0
  31. package/dist/js/generator/carousel.cjs.js +5 -0
  32. package/dist/js/generator/carousel.cjs.js.map +1 -0
  33. package/dist/js/generator/carousel.es.js +5 -0
  34. package/dist/js/generator/carousel.es.js.map +1 -0
  35. package/dist/js/generator/carousel.iife.js +5 -0
  36. package/dist/js/generator/carousel.iife.js.map +1 -0
  37. package/dist/js/generator/navigation.cjs.js +3 -0
  38. package/dist/js/generator/navigation.cjs.js.map +1 -0
  39. package/dist/js/generator/navigation.es.js +3 -0
  40. package/dist/js/generator/navigation.es.js.map +1 -0
  41. package/dist/js/generator/navigation.iife.js +3 -0
  42. package/dist/js/generator/navigation.iife.js.map +1 -0
  43. package/dist/js/graupl.js +9 -0
  44. package/dist/js/graupl.js.map +1 -0
  45. package/dist/js/navigation.js +3 -0
  46. package/dist/js/navigation.js.map +1 -0
  47. package/package.json +41 -6
  48. package/src/js/accordion/generator.js +27 -0
  49. package/src/js/accordion/index.js +2 -7
  50. package/src/js/alert/generator.js +29 -0
  51. package/src/js/alert/index.js +2 -8
  52. package/src/js/carousel/generator.js +27 -0
  53. package/src/js/carousel/index.js +2 -7
  54. package/src/js/main.js +11 -0
  55. package/src/js/navigation/generator.js +49 -0
  56. package/src/js/navigation/index.js +2 -33
  57. package/src/scss/base/form/_index.scss +4 -4
  58. package/src/scss/layout/container/_index.scss +122 -122
  59. package/src/scss/utilities/visually-hidden/_index.scss +8 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graupl/core",
3
- "version": "1.0.0-beta.10",
3
+ "version": "1.0.0-beta.11",
4
4
  "description": "The core module of Graupl, providing essential styles and utilities.",
5
5
  "main": "dist/js/graupl.cjs.js",
6
6
  "module": "dist/js/graupl.es.js",
@@ -22,14 +22,42 @@
22
22
  "./src/*.scss": {
23
23
  "sass": "./src/scss/*.scss"
24
24
  },
25
+ "./src/accordion": {
26
+ "import": "./src/js/accordion/Accordion.js"
27
+ },
28
+ "./src/alert": {
29
+ "import": "./src/js/alert/Alert.js"
30
+ },
31
+ "./src/carousel": {
32
+ "import": "./src/js/carousel/Carousel.js"
33
+ },
25
34
  "./accordion": {
26
- "import": "./src/js/Accordion.js"
35
+ "import": "./dist/js/component/accordion.es.js",
36
+ "require": "./dist/js/component/accordion.cjs.js"
37
+ },
38
+ "./accordion/generator": {
39
+ "import": "./dist/js/generator/accordion.es.js",
40
+ "require": "./dist/js/generator/accordion.cjs.js"
27
41
  },
28
42
  "./alert": {
29
- "import": "./src/js/Alert.js"
43
+ "import": "./dist/js/component/alert.es.js",
44
+ "require": "./dist/js/component/alert.cjs.js"
45
+ },
46
+ "./alert/generator": {
47
+ "import": "./dist/js/generator/alert.es.js",
48
+ "require": "./dist/js/generator/alert.cjs.js"
30
49
  },
31
50
  "./carousel": {
32
- "import": "./src/js/Carousel.js"
51
+ "import": "./dist/js/component/carousel.es.js",
52
+ "require": "./dist/js/component/carousel.cjs.js"
53
+ },
54
+ "./carousel/generator": {
55
+ "import": "./dist/js/generator/carousel.es.js",
56
+ "require": "./dist/js/generator/carousel.cjs.js"
57
+ },
58
+ "./navigation/generator": {
59
+ "import": "./dist/js/generator/navigation.es.js",
60
+ "require": "./dist/js/generator/navigation.cjs.js"
33
61
  }
34
62
  },
35
63
  "repository": {
@@ -52,7 +80,14 @@
52
80
  },
53
81
  "license": "ISC",
54
82
  "homepage": "https://github.com/Graupl/graupl/tree/main/packages/core#readme",
55
- "devDependencies": {
56
- "sass": "^1.89.2"
83
+ "scripts": {
84
+ "presass": "rm -rf dist/css/*",
85
+ "sass": "sass scss:dist/css --pkg-importer=node",
86
+ "postcss": "postcss 'dist/css/**/*.css' --replace --config ./postcss.config.cjs",
87
+ "prerolldown": "rm -rf dist/js/*",
88
+ "rolldown": "rolldown --config ./rolldown.config.js",
89
+ "build": "npm-run-all build:*",
90
+ "build:css": "npm run sass && npm run postcss",
91
+ "build:js": "npm run rolldown"
57
92
  }
58
93
  }
@@ -0,0 +1,27 @@
1
+ import Accordion from "./Accordion.js";
2
+ import once from "@drupal/once";
3
+
4
+ export const generate = (
5
+ options = {},
6
+ context = document,
7
+ accordionSelector = ".accordion"
8
+ ) => {
9
+ once("graupl-accordion-generator", accordionSelector, context).forEach(
10
+ (accordionElement) => {
11
+ const accordionOptions = accordionElement.dataset.grauplAccordionOptions
12
+ ? JSON.parse(
13
+ accordionElement.dataset.grauplAccordionOptions.replace(/'/g, '"')
14
+ ) || {}
15
+ : {};
16
+
17
+ new Accordion({
18
+ accordionElement,
19
+ initialize: true,
20
+ ...options,
21
+ ...accordionOptions,
22
+ });
23
+ }
24
+ );
25
+ };
26
+
27
+ export default generate;
@@ -1,10 +1,5 @@
1
- import Accordion from "./Accordion.js";
1
+ import generate from "./generator.js";
2
2
 
3
3
  document.addEventListener("DOMContentLoaded", () => {
4
- document.querySelectorAll(".accordion").forEach((accordionElement) => {
5
- new Accordion({
6
- accordionElement,
7
- initialize: true,
8
- });
9
- });
4
+ generate();
10
5
  });
@@ -0,0 +1,29 @@
1
+ import Alert from "./Alert.js";
2
+ import once from "@drupal/once";
3
+
4
+ export const generate = (
5
+ options = {},
6
+ context = document,
7
+ alertSelector = ".alert"
8
+ ) => {
9
+ once("graupl-alert-generator", alertSelector, context).forEach(
10
+ (alertElement) => {
11
+ const alertOptions = alertElement.dataset.grauplAlertOptions
12
+ ? JSON.parse(
13
+ alertElement.dataset.grauplAlertOptions.replace(/'/g, '"')
14
+ ) || {}
15
+ : {};
16
+
17
+ new Alert({
18
+ alertElement,
19
+ controllerElement:
20
+ alertElement.querySelector(".alert-dismisser") || null,
21
+ initialize: true,
22
+ ...options,
23
+ ...alertOptions,
24
+ });
25
+ }
26
+ );
27
+ };
28
+
29
+ export default generate;
@@ -1,11 +1,5 @@
1
- import Alert from "./Alert.js";
1
+ import generate from "./generator.js";
2
2
 
3
3
  document.addEventListener("DOMContentLoaded", () => {
4
- document.querySelectorAll(".alert").forEach((alertElement) => {
5
- new Alert({
6
- alertElement,
7
- controllerElement: alertElement.querySelector(".alert-dismisser") || null,
8
- initialize: true,
9
- });
10
- });
4
+ generate();
11
5
  });
@@ -0,0 +1,27 @@
1
+ import Carousel from "./Carousel.js";
2
+ import once from "@drupal/once";
3
+
4
+ export const generate = (
5
+ options = {},
6
+ context = document,
7
+ carouselSelector = ".carousel"
8
+ ) => {
9
+ once("graupl-carousel-generator", carouselSelector, context).forEach(
10
+ (carouselElement) => {
11
+ const carouselOptions = carouselElement.dataset.grauplCarouselOptions
12
+ ? JSON.parse(
13
+ carouselElement.dataset.grauplCarouselOptions.replace(/'/g, '"')
14
+ ) || {}
15
+ : {};
16
+
17
+ new Carousel({
18
+ carouselElement,
19
+ initialize: true,
20
+ ...options,
21
+ ...carouselOptions,
22
+ });
23
+ }
24
+ );
25
+ };
26
+
27
+ export default generate;
@@ -1,10 +1,5 @@
1
- import Carousel from "./Carousel.js";
1
+ import generate from "./generator.js";
2
2
 
3
3
  document.addEventListener("DOMContentLoaded", () => {
4
- document.querySelectorAll(".carousel").forEach((carouselElement) => {
5
- new Carousel({
6
- carouselElement,
7
- initialize: true,
8
- });
9
- });
4
+ generate();
10
5
  });
package/src/js/main.js ADDED
@@ -0,0 +1,11 @@
1
+ import accordionGenerator from "./accordion/generator.js";
2
+ import alertGenerator from "./alert/generator.js";
3
+ import carouselGenerator from "./carousel/generator.js";
4
+ import navigationGenerator from "./navigation/generator.js";
5
+
6
+ document.addEventListener("DOMContentLoaded", () => {
7
+ accordionGenerator();
8
+ alertGenerator();
9
+ carouselGenerator();
10
+ navigationGenerator();
11
+ });
@@ -0,0 +1,49 @@
1
+ import storage from "../storage.js";
2
+ import once from "@drupal/once";
3
+
4
+ export const generate = (
5
+ options = {},
6
+ context = document,
7
+ navigationSelector = ".navigation"
8
+ ) => {
9
+ once("graupl-navigation-generator", navigationSelector, context).forEach(
10
+ (navigationElement) => {
11
+ const MenuConstructor =
12
+ navigationElement.dataset.grauplMenuType || DisclosureMenu;
13
+
14
+ if (window[MenuConstructor] === undefined) {
15
+ console.warn(
16
+ `Graupl navigation requires accessible-menu's ${MenuConstructor}. Please make sure to include it on this page.`
17
+ );
18
+
19
+ return;
20
+ }
21
+
22
+ const menuOptions = navigationElement.dataset.grauplMenuOptions
23
+ ? JSON.parse(
24
+ navigationElement.dataset.grauplMenuOptions.replace(/'/g, '"')
25
+ ) || {}
26
+ : {};
27
+ const menuElement = navigationElement.querySelector(".menu");
28
+ const controllerElement =
29
+ navigationElement.querySelector(".navigation-toggle") || null;
30
+ const containerElement = controllerElement ? navigationElement : null;
31
+ const menu = new window[MenuConstructor]({
32
+ menuElement,
33
+ menuItemSelector: ".menu-item",
34
+ menuLinkSelector: ".menu-link",
35
+ submenuItemSelector: ".submenu-item",
36
+ submenuToggleSelector: ".submenu-toggle",
37
+ controllerElement,
38
+ containerElement,
39
+ ...options,
40
+ ...menuOptions,
41
+ });
42
+
43
+ storage.initializeStorage("menus");
44
+ storage.pushToStorage("menus", menu.dom.menu.id, menu);
45
+ }
46
+ );
47
+ };
48
+
49
+ export default generate;
@@ -1,36 +1,5 @@
1
- import storage from "../storage.js";
1
+ import generate from "./generator.js";
2
2
 
3
3
  document.addEventListener("DOMContentLoaded", function () {
4
- const navs = document.querySelectorAll(".navigation");
5
-
6
- navs.forEach((nav) => {
7
- const MenuConstructor = nav.dataset.grauplMenuType || DisclosureMenu;
8
-
9
- if (window[MenuConstructor] === undefined) {
10
- console.warn(
11
- `Graupl navigation requires accessible-menu's ${MenuConstructor}. Please make sure to include it on this page.`
12
- );
13
-
14
- return;
15
- }
16
-
17
- const menuOptions =
18
- JSON.parse(nav.dataset.grauplMenuOptions.replace(/'/g, '"')) || {};
19
- const menuElement = nav.querySelector(".menu");
20
- const controllerElement = nav.querySelector(".navigation-toggle") || null;
21
- const containerElement = controllerElement ? nav : null;
22
- const menu = new window[MenuConstructor]({
23
- menuElement,
24
- menuItemSelector: ".menu-item",
25
- menuLinkSelector: ".menu-link",
26
- submenuItemSelector: ".submenu-item",
27
- submenuToggleSelector: ".submenu-toggle",
28
- controllerElement,
29
- containerElement,
30
- ...menuOptions,
31
- });
32
-
33
- storage.initializeStorage("menus");
34
- storage.pushToStorage("menus", menu.dom.menu.id, menu);
35
- });
4
+ generate();
36
5
  });
@@ -197,10 +197,10 @@
197
197
  @each $selector in map.get(root-defaults.$state-selectors, "disabled") {
198
198
  // &:has(:disabled, .disabled)
199
199
  &:has(
200
- + #{defaults.$input-selector-base}#{defaults.$input-selector}#{$selector},
201
- + #{defaults.$textarea-selector-base}#{defaults.$textarea-selector}#{$selector},
202
- + #{defaults.$select-selector-base}#{defaults.$select-selector}#{$selector}
203
- ) {
200
+ + #{defaults.$input-selector-base}#{defaults.$input-selector}#{$selector},
201
+ + #{defaults.$textarea-selector-base}#{defaults.$textarea-selector}#{$selector},
202
+ + #{defaults.$select-selector-base}#{defaults.$select-selector}#{$selector}
203
+ ) {
204
204
  color: $label-disabled-color;
205
205
  }
206
206
  }