@otto-de/b2b-core-components 1.6.1 → 1.7.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.
Files changed (191) hide show
  1. package/dist/b2b-core-components/b2b-core-components.esm.js +1 -1
  2. package/dist/b2b-core-components/icons/b2b_icon-error-hint.svg +3 -0
  3. package/dist/b2b-core-components/p-03e21565.entry.js +1 -0
  4. package/dist/b2b-core-components/p-1c0df04b.entry.js +1 -0
  5. package/dist/b2b-core-components/p-1dc70300.js +1 -0
  6. package/dist/b2b-core-components/{p-a50ea33f.entry.js → p-33e66446.entry.js} +1 -1
  7. package/dist/b2b-core-components/{p-90a3ffed.entry.js → p-7a879329.entry.js} +1 -1
  8. package/dist/b2b-core-components/p-8bad814b.entry.js +1 -0
  9. package/dist/b2b-core-components/{p-db7d2ec3.entry.js → p-98b563a9.entry.js} +1 -1
  10. package/dist/b2b-core-components/p-9c0e419e.entry.js +1 -0
  11. package/dist/b2b-core-components/p-c60253d2.entry.js +1 -0
  12. package/dist/b2b-core-components/p-c885a630.entry.js +1 -0
  13. package/dist/b2b-core-components/p-cf0999e2.entry.js +1 -0
  14. package/dist/b2b-core-components/p-e31915cf.entry.js +1 -0
  15. package/dist/b2b-core-components/{p-0beabdb4.entry.js → p-f8ed569f.entry.js} +1 -1
  16. package/dist/cjs/b2b-breadcrumb-item.cjs.entry.js +40 -0
  17. package/dist/cjs/b2b-breadcrumb.cjs.entry.js +34 -0
  18. package/dist/cjs/b2b-button_2.cjs.entry.js +1 -1
  19. package/dist/cjs/b2b-checkbox_3.cjs.entry.js +24 -8
  20. package/dist/cjs/b2b-chip-component.cjs.entry.js +37 -0
  21. package/dist/cjs/b2b-core-components.cjs.js +1 -1
  22. package/dist/cjs/b2b-dropdown.cjs.entry.js +2 -2
  23. package/dist/cjs/b2b-icon.cjs.entry.js +1 -0
  24. package/dist/cjs/b2b-tab-group.cjs.entry.js +3 -1
  25. package/dist/cjs/b2b-table-row.cjs.entry.js +5 -8
  26. package/dist/cjs/b2b-table-rowgroup.cjs.entry.js +1 -1
  27. package/dist/cjs/b2b-table.cjs.entry.js +1 -1
  28. package/dist/cjs/b2b-textarea.cjs.entry.js +2 -1
  29. package/dist/cjs/index-04e07a00.js +12 -0
  30. package/dist/cjs/loader.cjs.js +1 -1
  31. package/dist/cjs/{table.types-00c8228a.js → table.types-196dc690.js} +6 -0
  32. package/dist/collection/collection-manifest.json +3 -0
  33. package/dist/collection/components/alert/alert.css +2 -2
  34. package/dist/collection/components/alert/alert.stories.js +1 -8
  35. package/dist/collection/components/anchor/anchor.css +2 -2
  36. package/dist/collection/components/anchor/anchor.stories.js +0 -6
  37. package/dist/collection/components/breadcrumb/breadcrumb-item.js +123 -0
  38. package/dist/collection/components/breadcrumb/breadcrumb.css +250 -0
  39. package/dist/collection/components/breadcrumb/breadcrumb.e2e.js +50 -0
  40. package/dist/collection/components/breadcrumb/breadcrumb.js +66 -0
  41. package/dist/collection/components/breadcrumb/breadcrumb.stories.js +22 -0
  42. package/dist/collection/components/button/button.css +10 -6
  43. package/dist/collection/components/button/button.stories.js +136 -80
  44. package/dist/collection/components/card/card.css +2 -2
  45. package/dist/collection/components/card/card.stories.js +0 -6
  46. package/dist/collection/components/checkbox/checkbox.css +5 -5
  47. package/dist/collection/components/checkbox/checkbox.js +1 -1
  48. package/dist/collection/components/checkbox/checkbox.stories.js +0 -6
  49. package/dist/collection/components/checkbox-group/checkbox-group.css +2 -2
  50. package/dist/collection/components/checkbox-group/checkbox-group.stories.js +0 -6
  51. package/dist/collection/components/chip/chip.css +249 -0
  52. package/dist/collection/components/chip/chip.e2e.js +19 -0
  53. package/dist/collection/components/chip/chip.js +134 -0
  54. package/dist/collection/components/chip/chip.stories.js +30 -0
  55. package/dist/collection/components/dropdown/dropdown.css +2 -2
  56. package/dist/collection/components/dropdown/dropdown.js +2 -2
  57. package/dist/collection/components/dropdown/dropdown.stories.js +0 -6
  58. package/dist/collection/components/grid/grid.stories.js +0 -4
  59. package/dist/collection/components/headline/headline.css +2 -2
  60. package/dist/collection/components/headline/headline.stories.js +0 -6
  61. package/dist/collection/components/icon/icon.css +2 -2
  62. package/dist/collection/components/icon/icon.js +1 -1
  63. package/dist/collection/components/icon/icon.stories.js +0 -6
  64. package/dist/collection/components/icon/icons/b2b_icon-error-hint.svg +3 -0
  65. package/dist/collection/components/icon/types.js +1 -0
  66. package/dist/collection/components/input/input.css +2 -2
  67. package/dist/collection/components/input/input.stories.js +124 -75
  68. package/dist/collection/components/input-group/input-group.css +2 -2
  69. package/dist/collection/components/input-group/input-group.stories.js +0 -6
  70. package/dist/collection/components/input-list/input-list.css +2 -2
  71. package/dist/collection/components/input-list/input-list.stories.js +74 -58
  72. package/dist/collection/components/label/label.css +2 -2
  73. package/dist/collection/components/label/label.stories.js +0 -6
  74. package/dist/collection/components/modal/modal.css +2 -2
  75. package/dist/collection/components/modal/modal.stories.js +1 -7
  76. package/dist/collection/components/pagination/pagination.css +2 -2
  77. package/dist/collection/components/pagination/pagination.stories.js +0 -4
  78. package/dist/collection/components/paragraph/paragraph.css +2 -2
  79. package/dist/collection/components/paragraph/paragraph.stories.js +0 -9
  80. package/dist/collection/components/radio/radio.css +2 -2
  81. package/dist/collection/components/radio/radio.stories.js +0 -6
  82. package/dist/collection/components/radio-group/radio-group.css +2 -2
  83. package/dist/collection/components/radio-group/radio-group.stories.js +0 -6
  84. package/dist/collection/components/required-separator/required-separator.css +2 -2
  85. package/dist/collection/components/required-separator/required-separator.stories.js +0 -6
  86. package/dist/collection/components/rounded-icon/rounded-icon.css +2 -2
  87. package/dist/collection/components/rounded-icon/rounded-icon.stories.js +0 -4
  88. package/dist/collection/components/scrollable-container/scrollable-container.css +2 -2
  89. package/dist/collection/components/scrollable-container/scrollable-container.stories.js +0 -4
  90. package/dist/collection/components/search/search.stories.js +2 -8
  91. package/dist/collection/components/separator/separator.css +2 -2
  92. package/dist/collection/components/separator/separator.stories.js +0 -6
  93. package/dist/collection/components/spinner/spinner.css +2 -2
  94. package/dist/collection/components/spinner/spinner.stories.js +0 -6
  95. package/dist/collection/components/tab/tab.css +2 -2
  96. package/dist/collection/components/tab-group/tab-group.e2e.js +1 -0
  97. package/dist/collection/components/tab-group/tab-group.js +3 -1
  98. package/dist/collection/components/tab-group/tab-group.stories.js +0 -6
  99. package/dist/collection/components/tab-panel/tab-panel.css +2 -2
  100. package/dist/collection/components/table/stories.data.js +4 -26
  101. package/dist/collection/components/table/table-cell/table-cell.css +2 -2
  102. package/dist/collection/components/table/table-header/table-header.css +25 -2
  103. package/dist/collection/components/table/table-header/table-header.js +46 -6
  104. package/dist/collection/components/table/table-row/table-row.css +2 -2
  105. package/dist/collection/components/table/table-row/table-row.js +4 -7
  106. package/dist/collection/components/table/table-rowgroup/table-rowgroup.css +2 -2
  107. package/dist/collection/components/table/table.css +2 -2
  108. package/dist/collection/components/table/table.e2e.js +7 -3
  109. package/dist/collection/components/table/table.stories.js +334 -275
  110. package/dist/collection/components/textarea/textarea.css +2 -2
  111. package/dist/collection/components/textarea/textarea.js +19 -1
  112. package/dist/collection/components/textarea/textarea.stories.js +5 -7
  113. package/dist/collection/components/toggle-button/toggle-button.css +2 -2
  114. package/dist/collection/components/toggle-group/toggle-group.css +2 -2
  115. package/dist/collection/components/toggle-group/toggle-group.stories.js +0 -6
  116. package/dist/collection/components/tooltip/tooltip.css +2 -2
  117. package/dist/collection/components/tooltip/tooltip.stories.js +1 -7
  118. package/dist/collection/components/wizard/wizard.css +2 -2
  119. package/dist/collection/components/wizard/wizard.stories.js +0 -4
  120. package/dist/collection/components/wizard-icon/wizard-icon.css +2 -2
  121. package/dist/collection/components/wizard-icon/wizard-icon.stories.js +9 -7
  122. package/dist/collection/docs/tokens/color.stories.js +1 -5
  123. package/dist/collection/docs/tokens/font.stories.js +1 -6
  124. package/dist/collection/docs/tokens/size.stories.js +1 -5
  125. package/dist/collection/utils/types/table.types.js +5 -0
  126. package/dist/components/b2b-breadcrumb-item.d.ts +11 -0
  127. package/dist/components/b2b-breadcrumb-item.js +58 -0
  128. package/dist/components/b2b-breadcrumb.d.ts +11 -0
  129. package/dist/components/b2b-breadcrumb.js +48 -0
  130. package/dist/components/b2b-chip-component.d.ts +11 -0
  131. package/dist/components/b2b-chip-component.js +56 -0
  132. package/dist/components/b2b-dropdown.js +2 -2
  133. package/dist/components/b2b-tab-group.js +3 -1
  134. package/dist/components/b2b-table-row.js +4 -7
  135. package/dist/components/b2b-textarea.js +4 -2
  136. package/dist/components/button.js +1 -1
  137. package/dist/components/checkbox.js +2 -2
  138. package/dist/components/icon.js +1 -0
  139. package/dist/components/table-header.js +25 -7
  140. package/dist/components/table.types.js +6 -1
  141. package/dist/custom-elements.json +76 -0
  142. package/dist/esm/b2b-breadcrumb-item.entry.js +36 -0
  143. package/dist/esm/b2b-breadcrumb.entry.js +30 -0
  144. package/dist/esm/b2b-button_2.entry.js +1 -1
  145. package/dist/esm/b2b-checkbox_3.entry.js +24 -8
  146. package/dist/esm/b2b-chip-component.entry.js +33 -0
  147. package/dist/esm/b2b-core-components.js +1 -1
  148. package/dist/esm/b2b-dropdown.entry.js +2 -2
  149. package/dist/esm/b2b-icon.entry.js +1 -0
  150. package/dist/esm/b2b-tab-group.entry.js +3 -1
  151. package/dist/esm/b2b-table-row.entry.js +5 -8
  152. package/dist/esm/b2b-table-rowgroup.entry.js +1 -1
  153. package/dist/esm/b2b-table.entry.js +1 -1
  154. package/dist/esm/b2b-textarea.entry.js +2 -1
  155. package/dist/esm/index-dfdbf4b9.js +12 -0
  156. package/dist/esm/loader.js +1 -1
  157. package/dist/esm/{table.types-dd829d83.js → table.types-46c5a83a.js} +6 -1
  158. package/{loader → dist/loader}/cdn.js +1 -1
  159. package/{loader → dist/loader}/index.cjs.js +1 -1
  160. package/{loader → dist/loader}/index.d.ts +1 -1
  161. package/dist/loader/index.es2017.js +3 -0
  162. package/{loader → dist/loader}/index.js +2 -2
  163. package/dist/types/components/breadcrumb/breadcrumb-item.d.ts +15 -0
  164. package/dist/types/components/breadcrumb/breadcrumb.d.ts +11 -0
  165. package/dist/types/components/breadcrumb/breadcrumb.stories.d.ts +4 -0
  166. package/dist/types/components/button/button.stories.d.ts +14 -12
  167. package/dist/types/components/chip/chip.d.ts +17 -0
  168. package/dist/types/components/chip/chip.stories.d.ts +6 -0
  169. package/dist/types/components/icon/types.d.ts +1 -1
  170. package/dist/types/components/input/input.stories.d.ts +14 -13
  171. package/dist/types/components/input-list/input-list.stories.d.ts +8 -7
  172. package/dist/types/components/paragraph/paragraph.stories.d.ts +0 -1
  173. package/dist/types/components/table/stories.data.d.ts +3 -3
  174. package/dist/types/components/table/table-header/table-header.d.ts +5 -2
  175. package/dist/types/components/table/table.stories.d.ts +18 -16
  176. package/dist/types/components/textarea/textarea.d.ts +2 -0
  177. package/dist/types/components/textarea/textarea.stories.d.ts +1 -0
  178. package/dist/types/components.d.ts +135 -4
  179. package/dist/types/utils/interfaces/form.interface.d.ts +3 -0
  180. package/dist/types/utils/interfaces/interaction.interface.d.ts +4 -0
  181. package/dist/types/utils/types/table.types.d.ts +6 -0
  182. package/dist/web-types.json +149 -3
  183. package/package.json +26 -21
  184. package/dist/b2b-core-components/p-01fd54a1.entry.js +0 -1
  185. package/dist/b2b-core-components/p-077217b3.entry.js +0 -1
  186. package/dist/b2b-core-components/p-163466cf.entry.js +0 -1
  187. package/dist/b2b-core-components/p-34eb99cb.js +0 -1
  188. package/dist/b2b-core-components/p-62e43f91.entry.js +0 -1
  189. package/dist/b2b-core-components/p-d7bb8aa1.entry.js +0 -1
  190. package/loader/index.es2017.js +0 -3
  191. /package/{loader → dist/loader}/package.json +0 -0
@@ -36,6 +36,7 @@ export class B2BTextareaComponent {
36
36
  this.value = null;
37
37
  this.name = undefined;
38
38
  this.maxLength = undefined;
39
+ this.height = undefined;
39
40
  }
40
41
  connectedCallback() {
41
42
  const form = this.hostElement.closest('form');
@@ -47,7 +48,7 @@ export class B2BTextareaComponent {
47
48
  return (h(Host, { class: {
48
49
  'b2b-textarea': true,
49
50
  'b2b-textarea--error': this.invalid && !this.disabled,
50
- } }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("textarea", { class: "textarea-input", "aria-labelledby": this.name, style: Boolean(this.resize) && { resize: this.resize }, value: this.value, name: this.name, placeholder: this.placeholder, disabled: this.disabled, autoFocus: this.autofocus, onFocus: this.onFocus, onBlur: this.onBlur, onInput: this.onInput, maxLength: this.maxLength }), (this.hint !== undefined && !this.invalid) ||
51
+ } }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("textarea", { class: "textarea-input", "aria-labelledby": this.name, style: Object.assign({ height: this.height }, (Boolean(this.resize) && { resize: this.resize })), value: this.value, name: this.name, placeholder: this.placeholder, disabled: this.disabled, autoFocus: this.autofocus, onFocus: this.onFocus, onBlur: this.onBlur, onInput: this.onInput, maxLength: this.maxLength }), (this.hint !== undefined && !this.invalid) ||
51
52
  (this.hint !== undefined && this.disabled) ? (h("span", null, this.hint)) : (''), this.error !== undefined && this.invalid && !this.disabled ? (h("span", null, this.error)) : ('')));
52
53
  }
53
54
  static get is() { return "b2b-textarea"; }
@@ -272,6 +273,23 @@ export class B2BTextareaComponent {
272
273
  },
273
274
  "attribute": "max-length",
274
275
  "reflect": true
276
+ },
277
+ "height": {
278
+ "type": "string",
279
+ "mutable": false,
280
+ "complexType": {
281
+ "original": "string",
282
+ "resolved": "string",
283
+ "references": {}
284
+ },
285
+ "required": false,
286
+ "optional": true,
287
+ "docs": {
288
+ "tags": [],
289
+ "text": "The height of the text area"
290
+ },
291
+ "attribute": "height",
292
+ "reflect": false
275
293
  }
276
294
  };
277
295
  }
@@ -1,7 +1,6 @@
1
1
  import { html } from 'lit-html';
2
2
  import { getArgTypes } from '../../docs/config/utils';
3
- import textareaDocs from './textarea.docs.mdx';
4
- const Template = ({ label, required, placeholder, disabled, value, invalid, hint, error, autofocus, name, resize, }) => {
3
+ const Template = ({ label, required, placeholder, disabled, value, invalid, hint, error, autofocus, name, resize, height, }) => {
5
4
  return html `<b2b-textarea
6
5
  label="${label}"
7
6
  required="${required}"
@@ -13,6 +12,7 @@ const Template = ({ label, required, placeholder, disabled, value, invalid, hint
13
12
  error="${error}"
14
13
  autofocus="${autofocus}"
15
14
  name="${name}"
15
+ height="${height}"
16
16
  resize="${resize}"></b2b-textarea>`;
17
17
  };
18
18
  const defaultArgs = {
@@ -49,14 +49,12 @@ story055Required.storyName = 'Required';
49
49
  export const story060AllArgs = Template.bind({});
50
50
  story060AllArgs.args = Object.assign(Object.assign({}, defaultArgs), { label: 'Textarea with all arguments', required: true, placeholder: 'All arguments placeholder', value: 'an initial value', hint: 'A textarea hint', error: 'A textarea error', name: 'textarea-example', disabled: false, autofocus: false });
51
51
  story060AllArgs.storyName = 'All Arguments';
52
+ export const story070Height = Template.bind({});
53
+ story070Height.args = Object.assign(Object.assign({}, defaultArgs), { height: '100px' });
54
+ story070Height.storyName = 'With Height';
52
55
  const textareaArgs = getArgTypes('b2b-textarea');
53
56
  export default {
54
57
  title: 'Components/Form/Textarea',
55
58
  argTypes: textareaArgs,
56
59
  viewMode: 'docs',
57
- parameters: {
58
- docs: {
59
- page: textareaDocs,
60
- },
61
- },
62
60
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
3
+ * Generated on Thu, 26 Oct 2023 14:16:21 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -122,7 +122,7 @@
122
122
  }
123
123
  /**
124
124
  * Do not edit directly
125
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
125
+ * Generated on Thu, 26 Oct 2023 14:16:22 GMT
126
126
  */
127
127
  :root [data-theme="dark"] {
128
128
  --b2b-size-200: 5rem; /* 80px */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
3
+ * Generated on Thu, 26 Oct 2023 14:16:21 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -122,7 +122,7 @@
122
122
  }
123
123
  /**
124
124
  * Do not edit directly
125
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
125
+ * Generated on Thu, 26 Oct 2023 14:16:22 GMT
126
126
  */
127
127
  :root [data-theme="dark"] {
128
128
  --b2b-size-200: 5rem; /* 80px */
@@ -1,6 +1,5 @@
1
1
  import { getArgTypes } from '../../docs/config/utils';
2
2
  import { html } from 'lit-html';
3
- import toggleDocs from './toggle-group.docs.mdx';
4
3
  const Template = ({ name, disabled, singleDisabled }) => {
5
4
  return html `
6
5
  <b2b-toggle-group name="${name}" disabled="${disabled}">
@@ -43,9 +42,4 @@ export default {
43
42
  title: 'Components/Interaction/Toggle Button Group',
44
43
  argTypes: toggleGroupArgs,
45
44
  viewMode: 'docs',
46
- parameters: {
47
- docs: {
48
- page: toggleDocs,
49
- },
50
- },
51
45
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
3
+ * Generated on Thu, 26 Oct 2023 14:16:21 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -122,7 +122,7 @@
122
122
  }
123
123
  /**
124
124
  * Do not edit directly
125
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
125
+ * Generated on Thu, 26 Oct 2023 14:16:22 GMT
126
126
  */
127
127
  :root [data-theme="dark"] {
128
128
  --b2b-size-200: 5rem; /* 80px */
@@ -1,7 +1,6 @@
1
1
  import { html } from 'lit-html';
2
- import tooltipDocs from './tooltip.docs.mdx';
3
2
  import { getArgTypes, hideAllControls } from '../../docs/config/utils';
4
- import { useArgs } from '@storybook/client-api';
3
+ import { useArgs } from '@storybook/preview-api';
5
4
  import dedent from 'ts-dedent';
6
5
  const tooltipArgs = getArgTypes('b2b-tooltip');
7
6
  const Template = ({ position, trigger, content, triggerMarkup, buttons, opened, }) => {
@@ -92,9 +91,4 @@ export default {
92
91
  title: 'Components/Interaction/Tooltip',
93
92
  argTypes: Object.assign(Object.assign({}, tooltipArgs), { triggerMarkup: { table: { disable: true } }, buttons: { table: { disable: true } } }),
94
93
  viewMode: 'docs',
95
- parameters: {
96
- docs: {
97
- page: tooltipDocs,
98
- },
99
- },
100
94
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
3
+ * Generated on Thu, 26 Oct 2023 14:16:21 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -122,7 +122,7 @@
122
122
  }
123
123
  /**
124
124
  * Do not edit directly
125
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
125
+ * Generated on Thu, 26 Oct 2023 14:16:22 GMT
126
126
  */
127
127
  :root [data-theme="dark"] {
128
128
  --b2b-size-200: 5rem; /* 80px */
@@ -1,5 +1,4 @@
1
1
  import { html } from 'lit-html';
2
- import wizardDocs from './wizard.docs.mdx';
3
2
  import { getArgTypes } from '../../docs/config/utils';
4
3
  const Template = ({ activeStep, checkIcon }) => {
5
4
  return html `<b2b-wizard active-step="${activeStep}" check-icon="${checkIcon}">
@@ -37,8 +36,5 @@ export default {
37
36
  viewmode: 'docs',
38
37
  parameters: {
39
38
  controls: { expanded: true },
40
- docs: {
41
- page: wizardDocs,
42
- },
43
39
  },
44
40
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
3
+ * Generated on Thu, 26 Oct 2023 14:16:21 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -122,7 +122,7 @@
122
122
  }
123
123
  /**
124
124
  * Do not edit directly
125
- * Generated on Tue, 22 Aug 2023 12:55:37 GMT
125
+ * Generated on Thu, 26 Oct 2023 14:16:22 GMT
126
126
  */
127
127
  :root [data-theme="dark"] {
128
128
  --b2b-size-200: 5rem; /* 80px */
@@ -1,6 +1,5 @@
1
1
  import { getArgTypes } from '../../docs/config/utils';
2
2
  import { html } from 'lit-html';
3
- import WizardIconDocs from './wizard-icon.docs.mdx';
4
3
  const TemplateIcon = ({ state, step, checkIcon }) => {
5
4
  return html `<div>
6
5
  <b2b-wizard-icon state="${state}" step="${step}" check-icon="${checkIcon}">
@@ -26,16 +25,19 @@ story020Pending.storyName = 'Pending';
26
25
  export const story030Disabled = TemplateIcon.bind({});
27
26
  story030Disabled.args = { state: 'disabled', step: '1' };
28
27
  story030Disabled.storyName = 'Disabled';
29
- const controls = { step: 'select' };
30
- const searchArgs = getArgTypes('b2b-wizard-icon', controls);
28
+ const controls = {
29
+ step: 'select',
30
+ };
31
+ const wizardIconArgs = getArgTypes('b2b-wizard-icon', controls);
31
32
  export default {
32
33
  title: 'Components/Status & Feedback/Wizard Icon',
33
- argTypes: Object.assign({}, searchArgs),
34
+ argTypes: Object.assign(Object.assign({}, wizardIconArgs), { state: {
35
+ options: ['completed', 'default', 'disabled', 'pending'],
36
+ control: 'radio',
37
+ table: { defaultValue: { summary: 'pending' } },
38
+ } }),
34
39
  viewmode: 'docs',
35
40
  parameters: {
36
41
  controls: { expanded: true },
37
- docs: {
38
- page: WizardIconDocs,
39
- },
40
42
  },
41
43
  };
@@ -1,7 +1,6 @@
1
1
  import { html } from 'lit-html';
2
2
  import allTokens from '@otto-de/b2b-tokens/build/js/default.json';
3
3
  import './styles.css';
4
- import colorDocs from './color.docs.mdx';
5
4
  const tokenRow = token => {
6
5
  return html `
7
6
  <tr>
@@ -62,12 +61,9 @@ story010ColorTokens.parameters = {
62
61
  controls: { hideNoControlsWarning: true },
63
62
  };
64
63
  export default {
65
- title: 'DesignTokens/Color',
64
+ title: 'Design Tokens/Color',
66
65
  viewMode: 'docs',
67
66
  parameters: {
68
- docs: {
69
- page: colorDocs,
70
- },
71
67
  options: {
72
68
  showPanel: false, // hides addons panel
73
69
  },
@@ -1,7 +1,6 @@
1
1
  import { html } from 'lit-html';
2
2
  import allTokens from '@otto-de/b2b-tokens/build/js/default.json';
3
3
  import './styles.css';
4
- import fontDocs from './font.docs.mdx';
5
4
  const tokenRow = (token, size) => {
6
5
  return html `
7
6
  <tr>
@@ -70,12 +69,8 @@ const FontTokens = ({}) => {
70
69
  export const story010FontTokens = FontTokens.bind({});
71
70
  story010FontTokens.storyName = 'Font';
72
71
  export default {
73
- title: 'DesignTokens/Font',
74
- viewMode: 'docs',
72
+ title: 'Design Tokens/Font',
75
73
  parameters: {
76
- docs: {
77
- page: fontDocs,
78
- },
79
74
  options: {
80
75
  showPanel: false, // hides addons panel
81
76
  },
@@ -1,6 +1,5 @@
1
1
  import { html } from 'lit-html';
2
2
  import allTokens from '@otto-de/b2b-tokens/build/js/default.json';
3
- import sizeDocs from './size.docs.mdx';
4
3
  const tokenRow = token => {
5
4
  const valueInPixels = parseFloat(token.value) * 16 + 'px';
6
5
  return html `
@@ -55,12 +54,9 @@ const SizeTokens = ({}) => {
55
54
  export const story010SizeTokens = SizeTokens.bind({});
56
55
  story010SizeTokens.storyName = 'Size';
57
56
  export default {
58
- title: 'DesignTokens/Size',
57
+ title: 'Design Tokens/Size',
59
58
  viewMode: 'docs',
60
59
  parameters: {
61
- docs: {
62
- page: sizeDocs,
63
- },
64
60
  options: {
65
61
  showPanel: false, // hides addons panel
66
62
  },
@@ -12,6 +12,11 @@ export const ContentAlignment = {
12
12
  RIGHT: 'right',
13
13
  CENTER: 'center',
14
14
  };
15
+ export const SortIconAlignment = {
16
+ LEFT: 'left',
17
+ RIGHT: 'right',
18
+ CENTER: 'center',
19
+ };
15
20
  export const TableSortDirections = {
16
21
  NOT: 'not-sorted',
17
22
  ASC: 'ascending',
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface B2bBreadcrumbItem extends Components.B2bBreadcrumbItem, HTMLElement {}
4
+ export const B2bBreadcrumbItem: {
5
+ prototype: B2bBreadcrumbItem;
6
+ new (): B2bBreadcrumbItem;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,58 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const breadcrumbCss = "@charset \"UTF-8\";:root,:host{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:400;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-table-expand-hover:#e6f4ff;--b2b-color-table-selected-hover:#e6f4ff;--b2b-color-table-selected-default:#cce9ff;--b2b-color-table-hover:#e6f4ff;--b2b-color-background-overlay-transparent-40:rgba(34, 34, 34, 0.25);--b2b-color-background-overlay-transparent-80:rgba(34, 34, 34, 0.5);--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-size-headline-line-height-400:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-45);--b2b-size-headline-line-height-100:var(--b2b-size-40);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-50:var(--b2b-size-40);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-25);--b2b-color-error-50:var(--b2b-color-red-50)}:root [data-theme=\"dark\"]{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:400;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-color-icon-inverted:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-error-50:var(--b2b-color-red-50)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}:host .b2b-breadcrumb-nav{z-index:99;display:flex;flex-flow:row nowrap;padding:0.75rem 0;height:var(--b2b-size-90);margin-bottom:1.125rem;border-bottom:var(--b2b-size-border-width-50) solid var(--b2b-color-grey-200)}:host .b2b-breadcrumb-nav__item{font-size:var(--b2b-size-copy-125);line-height:var(--b2b-size-copy-line-height-125);display:inline-flex;color:var(--b2b-color-grey-400);cursor:pointer}:host .b2b-breadcrumb-nav__item a{color:var(--b2b-color-grey-400);text-decoration:none}:host .b2b-breadcrumb-nav__item:hover,:host .b2b-breadcrumb-nav__item a:hover{color:var(--b2b-color-red-100)}:host .b2b-breadcrumb-nav__item--active:hover,:host .b2b-breadcrumb-nav__item--active a:hover{cursor:default;color:var(--b2b-color-grey-400)}::slotted(*:not(:last-child))::after{content:\"»\";color:var(--b2b-color-grey-400);margin:0 0.375rem}";
4
+
5
+ const BreadCrumbItemComponent = /*@__PURE__*/ proxyCustomElement(class BreadCrumbItemComponent extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.b2bChange = createEvent(this, "b2b-change", 7);
11
+ this.onClick = () => {
12
+ if (this.active || this.href != null) {
13
+ return;
14
+ }
15
+ this.b2bChange.emit(this.value);
16
+ this.active = true;
17
+ };
18
+ this.onKeyDown = (event) => {
19
+ if (event.key != 'enter' || this.active) {
20
+ return;
21
+ }
22
+ this.b2bChange.emit();
23
+ this.active = true;
24
+ };
25
+ this.href = null;
26
+ this.value = undefined;
27
+ this.active = false;
28
+ }
29
+ render() {
30
+ return (h(Host, { onClick: this.onClick, onKeyDown: this.onKeyDown, tabindex: Boolean(this.href) ? null : 0 }, h("span", { class: {
31
+ 'b2b-breadcrumb-nav__item': true,
32
+ 'b2b-breadcrumb-nav__item--active': this.active,
33
+ } }, this.href != null ? (h("a", { href: this.href }, h("slot", null))) : (h("slot", null)))));
34
+ }
35
+ static get style() { return breadcrumbCss; }
36
+ }, [1, "b2b-breadcrumb-item", {
37
+ "href": [1],
38
+ "value": [8],
39
+ "active": [1028]
40
+ }]);
41
+ function defineCustomElement$1() {
42
+ if (typeof customElements === "undefined") {
43
+ return;
44
+ }
45
+ const components = ["b2b-breadcrumb-item"];
46
+ components.forEach(tagName => { switch (tagName) {
47
+ case "b2b-breadcrumb-item":
48
+ if (!customElements.get(tagName)) {
49
+ customElements.define(tagName, BreadCrumbItemComponent);
50
+ }
51
+ break;
52
+ } });
53
+ }
54
+
55
+ const B2bBreadcrumbItem = BreadCrumbItemComponent;
56
+ const defineCustomElement = defineCustomElement$1;
57
+
58
+ export { B2bBreadcrumbItem, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface B2bBreadcrumb extends Components.B2bBreadcrumb, HTMLElement {}
4
+ export const B2bBreadcrumb: {
5
+ prototype: B2bBreadcrumb;
6
+ new (): B2bBreadcrumb;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,48 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const breadcrumbCss = "@charset \"UTF-8\";:root,:host{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:400;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-table-expand-hover:#e6f4ff;--b2b-color-table-selected-hover:#e6f4ff;--b2b-color-table-selected-default:#cce9ff;--b2b-color-table-hover:#e6f4ff;--b2b-color-background-overlay-transparent-40:rgba(34, 34, 34, 0.25);--b2b-color-background-overlay-transparent-80:rgba(34, 34, 34, 0.5);--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-size-headline-line-height-400:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-45);--b2b-size-headline-line-height-100:var(--b2b-size-40);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-50:var(--b2b-size-40);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-25);--b2b-color-error-50:var(--b2b-color-red-50)}:root [data-theme=\"dark\"]{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:400;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-color-icon-inverted:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-error-50:var(--b2b-color-red-50)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}:host .b2b-breadcrumb-nav{z-index:99;display:flex;flex-flow:row nowrap;padding:0.75rem 0;height:var(--b2b-size-90);margin-bottom:1.125rem;border-bottom:var(--b2b-size-border-width-50) solid var(--b2b-color-grey-200)}:host .b2b-breadcrumb-nav__item{font-size:var(--b2b-size-copy-125);line-height:var(--b2b-size-copy-line-height-125);display:inline-flex;color:var(--b2b-color-grey-400);cursor:pointer}:host .b2b-breadcrumb-nav__item a{color:var(--b2b-color-grey-400);text-decoration:none}:host .b2b-breadcrumb-nav__item:hover,:host .b2b-breadcrumb-nav__item a:hover{color:var(--b2b-color-red-100)}:host .b2b-breadcrumb-nav__item--active:hover,:host .b2b-breadcrumb-nav__item--active a:hover{cursor:default;color:var(--b2b-color-grey-400)}::slotted(*:not(:last-child))::after{content:\"»\";color:var(--b2b-color-grey-400);margin:0 0.375rem}";
4
+
5
+ const B2bBreadCrumbComponent = /*@__PURE__*/ proxyCustomElement(class B2bBreadCrumbComponent extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.b2bSelected = createEvent(this, "b2b-selected", 7);
11
+ this.getBreadcrumbItems = () => {
12
+ return Array.from(this.host.querySelectorAll('b2b-breadcrumb-item'));
13
+ };
14
+ this.updateActiveItem = (newItem) => {
15
+ this.getBreadcrumbItems()
16
+ .filter(x => x.value != newItem.value)
17
+ .forEach(x => (x.active = false));
18
+ };
19
+ }
20
+ onSelectedChange(event) {
21
+ const item = event.target;
22
+ this.updateActiveItem(item);
23
+ this.b2bSelected.emit({ value: item.value });
24
+ }
25
+ render() {
26
+ return (h(Host, null, h("div", { class: "b2b-breadcrumb-nav" }, h("slot", null))));
27
+ }
28
+ get host() { return this; }
29
+ static get style() { return breadcrumbCss; }
30
+ }, [1, "b2b-breadcrumb", undefined, [[0, "b2b-change", "onSelectedChange"]]]);
31
+ function defineCustomElement$1() {
32
+ if (typeof customElements === "undefined") {
33
+ return;
34
+ }
35
+ const components = ["b2b-breadcrumb"];
36
+ components.forEach(tagName => { switch (tagName) {
37
+ case "b2b-breadcrumb":
38
+ if (!customElements.get(tagName)) {
39
+ customElements.define(tagName, B2bBreadCrumbComponent);
40
+ }
41
+ break;
42
+ } });
43
+ }
44
+
45
+ const B2bBreadcrumb = B2bBreadCrumbComponent;
46
+ const defineCustomElement = defineCustomElement$1;
47
+
48
+ export { B2bBreadcrumb, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface B2bChipComponent extends Components.B2bChipComponent, HTMLElement {}
4
+ export const B2bChipComponent: {
5
+ prototype: B2bChipComponent;
6
+ new (): B2bChipComponent;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,56 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const chipCss = ":root,:host{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:400;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-table-expand-hover:#e6f4ff;--b2b-color-table-selected-hover:#e6f4ff;--b2b-color-table-selected-default:#cce9ff;--b2b-color-table-hover:#e6f4ff;--b2b-color-background-overlay-transparent-40:rgba(34, 34, 34, 0.25);--b2b-color-background-overlay-transparent-80:rgba(34, 34, 34, 0.5);--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-size-headline-line-height-400:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-45);--b2b-size-headline-line-height-100:var(--b2b-size-40);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-50:var(--b2b-size-40);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-25);--b2b-color-error-50:var(--b2b-color-red-50)}:root [data-theme=\"dark\"]{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:400;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-color-icon-inverted:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-error-50:var(--b2b-color-red-50)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}.b2b-chip{font-family:var(--b2b-font-family-default);font-size:var(--b2b-size-copy-100);width:fit-content;background-color:var(--b2b-color-grey-50);border-radius:var(--b2b-size-50);padding:var(--b2b-size-10) var(--b2b-size-25);line-height:var(--b2b-size-copy-line-height-100);height:var(--b2b-size-70);display:flex;align-items:center;cursor:default}.b2b-chip__label{margin-right:var(--b2b-size-10)}.b2b-chip__clearIcon{display:flex;fill:var(--b2b-color-icon-default);height:var(--b2b-size-copy-line-height-100);width:var(--b2b-size-50);align-items:center;justify-content:center;cursor:pointer;transform:rotate(180deg)}.b2b-chip--disabled{pointer-events:none;background:var(--b2b-color-grey-25);color:var(--b2b-color-grey-400)}.b2b-chip--disabled__clearIcon{fill:var(--b2b-color-grey-400)}";
4
+
5
+ const B2bChipComponent$1 = /*@__PURE__*/ proxyCustomElement(class B2bChipComponent extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.b2bClose = createEvent(this, "b2b-close", 7);
11
+ this.onClick = () => {
12
+ if (this.disabled) {
13
+ return;
14
+ }
15
+ this.b2bClose.emit({ value: this.value });
16
+ };
17
+ this.clearIcon = (h("svg", { width: "12", height: "12", viewBox: "0 0 12 12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M7.85352 3.14648C7.6582 2.95117 7.3418 2.95117 7.14648 3.14648L5.5 4.79297L3.85352 3.14648C3.6582 2.95117 3.3418 2.95117 3.14648 3.14648C2.95117 3.3418 2.95117 3.6582 3.14648 3.85352L4.79297 5.5L3.14648 7.14648C2.95117 7.3418 2.95117 7.6582 3.14648 7.85352C3.24414 7.95117 3.37207 8 3.5 8C3.62793 8 3.75586 7.95117 3.85352 7.85352L5.5 6.20703L7.14648 7.85352C7.24414 7.95117 7.37207 8 7.5 8C7.62793 8 7.75586 7.95117 7.85352 7.85352C8.04883 7.6582 8.04883 7.3418 7.85352 7.14648L6.20703 5.5L7.85352 3.85352C8.04883 3.6582 8.04883 3.3418 7.85352 3.14648ZM5.5 0C2.46729 0 0 2.46729 0 5.5C0 8.53271 2.46729 11 5.5 11C8.53271 11 11 8.53271 11 5.5C11 2.46729 8.53271 0 5.5 0ZM5.5 10C3.01855 10 1 7.98145 1 5.5C1 3.01855 3.01855 1 5.5 1C7.98145 1 10 3.01855 10 5.5C10 7.98145 7.98145 10 5.5 10Z" })));
18
+ this.label = undefined;
19
+ this.disabled = false;
20
+ this.hasCloseButton = true;
21
+ this.value = undefined;
22
+ }
23
+ render() {
24
+ return (h(Host, null, h("div", { class: {
25
+ 'b2b-chip': true,
26
+ 'b2b-chip--disabled': this.disabled,
27
+ } }, h("span", { class: "b2b-chip__label" }, this.label), this.hasCloseButton && (h("div", { class: {
28
+ 'b2b-chip__clearIcon': true,
29
+ 'b2b-chip--disabled__clearIcon': this.disabled,
30
+ }, onClick: this.onClick }, this.clearIcon)))));
31
+ }
32
+ static get style() { return chipCss; }
33
+ }, [1, "b2b-chip-component", {
34
+ "label": [1],
35
+ "disabled": [4],
36
+ "hasCloseButton": [4, "has-close-button"],
37
+ "value": [520]
38
+ }]);
39
+ function defineCustomElement$1() {
40
+ if (typeof customElements === "undefined") {
41
+ return;
42
+ }
43
+ const components = ["b2b-chip-component"];
44
+ components.forEach(tagName => { switch (tagName) {
45
+ case "b2b-chip-component":
46
+ if (!customElements.get(tagName)) {
47
+ customElements.define(tagName, B2bChipComponent$1);
48
+ }
49
+ break;
50
+ } });
51
+ }
52
+
53
+ const B2bChipComponent = B2bChipComponent$1;
54
+ const defineCustomElement = defineCustomElement$1;
55
+
56
+ export { B2bChipComponent, defineCustomElement };
@@ -46,9 +46,9 @@ const DropdownComponent = /*@__PURE__*/ proxyCustomElement(class DropdownCompone
46
46
  form.addEventListener('formdata', this.handleFormData);
47
47
  }
48
48
  }
49
- // shadow-DOM issue: <option> did not render inside <slot> so we need to re-append to <select>
49
+ // we need to attach the options to the correct element here
50
50
  componentDidRender() {
51
- const options = this.hostElement.querySelectorAll('option');
51
+ let options = this.hostElement.querySelectorAll('option');
52
52
  const selectElement = this.getSelectElement();
53
53
  selectElement.append(...options);
54
54
  }
@@ -121,7 +121,9 @@ const B2bTabGroupComponent = /*@__PURE__*/ proxyCustomElement(class B2bTabGroupC
121
121
  customElements.whenDefined('b2b-tab'),
122
122
  customElements.whenDefined('b2b-tab-panel'),
123
123
  ]).then(() => {
124
- this.linkPanels();
124
+ if (!this.useRouter) {
125
+ this.linkPanels();
126
+ }
125
127
  });
126
128
  }
127
129
  render() {
@@ -25,16 +25,13 @@ const TableRowComponent = /*@__PURE__*/ proxyCustomElement(class TableRowCompone
25
25
  return this.color;
26
26
  };
27
27
  this.getRowWidth = () => {
28
- const accordionIconSize = '24px';
28
+ const accordionSize = '24px';
29
29
  const checkboxSize = '16px';
30
- if (Boolean(this.accordionType)) {
31
- return accordionIconSize;
32
- }
33
- else if (Boolean(this.selectable)) {
30
+ if (Boolean(this.selectable)) {
34
31
  return checkboxSize;
35
32
  }
36
- else if (Boolean(this.accordionType && this.selectable)) {
37
- return accordionIconSize + checkboxSize;
33
+ else if (Boolean(this.accordionType)) {
34
+ return accordionSize;
38
35
  }
39
36
  else {
40
37
  return;