@limetech/lime-elements 38.4.0 → 38.5.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 (29) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  3. package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -1
  4. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-markdown.cjs.entry.js.map +1 -1
  6. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js.map +1 -1
  8. package/dist/collection/components/chip-set/chip-set.js +1 -1
  9. package/dist/collection/components/chip-set/chip-set.js.map +1 -1
  10. package/dist/collection/components/chip-set/chip.types.js.map +1 -1
  11. package/dist/collection/components/markdown/markdown.css +4 -80
  12. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.css +128 -284
  13. package/dist/esm/limel-chip_2.entry.js +1 -1
  14. package/dist/esm/limel-chip_2.entry.js.map +1 -1
  15. package/dist/esm/limel-markdown.entry.js +1 -1
  16. package/dist/esm/limel-markdown.entry.js.map +1 -1
  17. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  18. package/dist/esm/limel-prosemirror-adapter.entry.js.map +1 -1
  19. package/dist/lime-elements/lime-elements.esm.js +1 -1
  20. package/dist/lime-elements/p-0863261f.entry.js +2 -0
  21. package/dist/lime-elements/p-0863261f.entry.js.map +1 -0
  22. package/dist/lime-elements/{p-c348740c.entry.js → p-ac230166.entry.js} +2 -2
  23. package/dist/lime-elements/{p-c348740c.entry.js.map → p-ac230166.entry.js.map} +1 -1
  24. package/dist/lime-elements/{p-f641bcb0.entry.js → p-d7f22e4e.entry.js} +2 -2
  25. package/dist/lime-elements/{p-f641bcb0.entry.js.map → p-d7f22e4e.entry.js.map} +1 -1
  26. package/dist/types/components/chip-set/chip.types.d.ts +5 -0
  27. package/package.json +3 -3
  28. package/dist/lime-elements/p-3ab8ab51.entry.js +0 -2
  29. package/dist/lime-elements/p-3ab8ab51.entry.js.map +0 -1
@@ -65,134 +65,6 @@
65
65
  );
66
66
  }
67
67
 
68
- :host(limel-prosemirror-adapter) {
69
- display: flex;
70
- flex-direction: column;
71
- }
72
- :host(limel-prosemirror-adapter) .toolbar {
73
- order: 1;
74
- }
75
- :host(limel-prosemirror-adapter) div#editor {
76
- order: 2;
77
- height: 100%;
78
- flex-grow: 1;
79
- }
80
- :host(limel-prosemirror-adapter) div[contenteditable=true] {
81
- height: 100%;
82
- }
83
-
84
- * {
85
- box-sizing: border-box;
86
- }
87
-
88
- :host(limel-prosemirror-adapter:hover) .toolbar,
89
- :host(limel-prosemirror-adapter:focus-within) .toolbar {
90
- will-change: grid-template-rows;
91
- }
92
- :host(limel-prosemirror-adapter:hover) limel-action-bar,
93
- :host(limel-prosemirror-adapter:focus-within) limel-action-bar {
94
- will-change: opacity, padding;
95
- }
96
-
97
- .ProseMirror-menubar-wrapper {
98
- display: grid;
99
- grid-template-rows: auto 1fr;
100
- }
101
-
102
- .ProseMirror-textblock-dropdown {
103
- min-width: 3em;
104
- }
105
-
106
- .ProseMirror-tooltip .ProseMirror-menu {
107
- width: -webkit-fit-content;
108
- width: fit-content;
109
- white-space: pre;
110
- }
111
-
112
- .toolbar {
113
- --action-bar-border-radius: 0.25rem;
114
- border-radius: var(--action-bar-border-radius);
115
- flex-shrink: 0;
116
- position: sticky;
117
- z-index: 1;
118
- top: 0;
119
- width: 100%;
120
- display: grid;
121
- grid-template-rows: var(--limel-prosemirror-adapter-toolbar-grid-template-rows);
122
- transition-property: grid-template-rows;
123
- transition-duration: var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);
124
- transition-timing-function: var(--limel-prosemirror-adapter-toolbar-transition-timing-function);
125
- background-color: rgba(var(--contrast-200), 0.5);
126
- backdrop-filter: blur(0.5rem);
127
- -webkit-backdrop-filter: blur(0.5rem);
128
- }
129
-
130
- limel-action-bar {
131
- min-width: 0;
132
- transition-property: padding, opacity;
133
- transition-duration: var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);
134
- transition-timing-function: var(--limel-prosemirror-adapter-toolbar-transition-timing-function);
135
- opacity: var(--limel-prosemirror-adapter-toolbar-opacity);
136
- padding: var(--limel-prosemirror-adapter-action-bar-padding-top-bottom, 0.125rem) 0.25rem;
137
- background-color: transparent;
138
- overflow: hidden;
139
- }
140
-
141
- .ProseMirror {
142
- position: relative;
143
- word-wrap: break-word;
144
- white-space: pre-wrap;
145
- white-space: break-spaces;
146
- -webkit-font-variant-ligatures: none;
147
- font-variant-ligatures: none;
148
- font-feature-settings: "liga" 0;
149
- padding: var(--limel-text-editor-padding);
150
- }
151
- .ProseMirror [draggable][contenteditable=false] {
152
- user-select: text;
153
- }
154
- .ProseMirror:focus-visible {
155
- outline: none;
156
- }
157
-
158
- .ProseMirror-hideselection {
159
- caret-color: transparent;
160
- }
161
- .ProseMirror-hideselection *::selection {
162
- background: transparent;
163
- }
164
- .ProseMirror-hideselection *::-moz-selection {
165
- background: transparent;
166
- }
167
-
168
- .ProseMirror-selectednode {
169
- outline: 0.125rem solid rgb(var(--color-sky-light));
170
- }
171
-
172
- li.ProseMirror-selectednode {
173
- outline: none;
174
- }
175
- li.ProseMirror-selectednode:after {
176
- content: "";
177
- position: absolute;
178
- left: -2rem;
179
- right: -0.125rem;
180
- top: -0.125rem;
181
- bottom: -0.125rem;
182
- border: 0.125rem solid rgb(var(--color-sky-light));
183
- pointer-events: none;
184
- }
185
-
186
- img.ProseMirror-separator {
187
- display: inline !important;
188
- border: none !important;
189
- margin: 0 !important;
190
- }
191
-
192
- limel-portal {
193
- width: 25rem;
194
- }
195
-
196
68
  blockquote {
197
69
  position: relative;
198
70
  font-weight: 100;
@@ -230,8 +102,6 @@ p,
230
102
  li {
231
103
  font-size: 0.875rem;
232
104
  word-break: break-word;
233
- hyphens: auto;
234
- -webkit-hyphens: auto;
235
105
  }
236
106
 
237
107
  a {
@@ -480,12 +350,6 @@ li {
480
350
  * Media query mixins for responsive design based on screen width.
481
351
  * Note that these mixins do not detect the device type!
482
352
  */
483
- /*
484
- * This file is imported into every component!
485
- *
486
- * Nothing in this file may output any CSS
487
- * without being explicitly called by outside code.
488
- */
489
353
  code {
490
354
  font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
491
355
  font-size: 0.8125rem;
@@ -557,80 +421,6 @@ table {
557
421
  max-width: 100%;
558
422
  }
559
423
 
560
- /**
561
- * Note! This file is exported to `dist/scss/` in the published
562
- * node module, for consumer projects to import.
563
- * That means this file cannot import from any file that isn't
564
- * also exported, keeping the same relative path.
565
- *
566
- * Or, just don't import anything, that works too.
567
- */
568
- /**
569
- * This can be used on a trigger element that opens a dropdown menu or a popover.
570
- */
571
- /**
572
- * This mixin will mask out the content that is close to
573
- * the edges of a scrollable area.
574
- * - If the scrollable content has `overflow-y`, use `vertically`
575
- * as an argument for `$direction`.
576
- - If the scrollable content has `overflow-x`, use `horizontally`
577
- * as an argument for `$direction`.
578
- *
579
- * For the visual effect to work smoothly, we need to make sure that
580
- * the size of the fade-out edge effect is the same as the
581
- * internal paddings of the scrollable area. Otherwise, content of a
582
- * scrollable area that does not have a padding will fade out before
583
- * any scrolling has been done.
584
- * This is why this mixin already adds paddings, which automatically
585
- * default to the size of the fade-out effect.
586
- * This size defaults to `1rem`, but to override the size use
587
- * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
588
- * when `vertically` argument is set, and use
589
- * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
590
- * when `horizontally` argument is set.
591
- * Of course you can also programmatically increase and decrease the
592
- * size of these variables for each edge, based on the amount of
593
- * scrolling that has been done by the user. In this case, make sure
594
- * to add a custom padding where the mixin is used, to override
595
- * the paddings that are automatically added by the mixin in the
596
- * compiled CSS code.
597
- */
598
- /**
599
- * This mixin will add an animated underline to the bottom of an `a` elements.
600
- * Note that you may need to add `all: unset;` –depending on your use case–
601
- * before using this mixin.
602
- */
603
- /**
604
- * This mixin creates a cross-browser font stack.
605
- * - `sans-serif` can be used for the UI of the components.
606
- * - `monospace` can be used for code.
607
- *
608
- * ⚠️ If we change the font stacks, we need to update
609
- * 1. the consumer documentation in `README.md`, and
610
- * 2. the CSS variables of `--kompendium-example-font-family`
611
- * in the `<style>` tag of `index.html`.
612
- */
613
- /**
614
- * This mixin is a hack, using old CSS syntax
615
- * to enable you to truncate a piece of text,
616
- * after a certain number of lines.
617
- */
618
- /**
619
- * The breakpoints below are used to create responsive designs
620
- * in Lime's products. Therefore, they are here to get distributed
621
- * to all components in other private repos, which rely on this `mixins`
622
- * file, to create consistent styles.
623
- *
624
- * :::important
625
- * In very rare cases you should used media queries!
626
- * Nowadays, there are many better ways of achieving responsive design
627
- * without media queries. For example, using CSS Grid, Flexbox, and their features.
628
- * :::
629
- */
630
- /**
631
- * Media query mixins for responsive design based on screen width.
632
- * Note that these mixins do not detect the device type!
633
- */
634
424
  kbd {
635
425
  font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
636
426
  font-weight: 600;
@@ -655,80 +445,6 @@ img {
655
445
  border-radius: 0.25rem;
656
446
  }
657
447
 
658
- /**
659
- * Note! This file is exported to `dist/scss/` in the published
660
- * node module, for consumer projects to import.
661
- * That means this file cannot import from any file that isn't
662
- * also exported, keeping the same relative path.
663
- *
664
- * Or, just don't import anything, that works too.
665
- */
666
- /**
667
- * This can be used on a trigger element that opens a dropdown menu or a popover.
668
- */
669
- /**
670
- * This mixin will mask out the content that is close to
671
- * the edges of a scrollable area.
672
- * - If the scrollable content has `overflow-y`, use `vertically`
673
- * as an argument for `$direction`.
674
- - If the scrollable content has `overflow-x`, use `horizontally`
675
- * as an argument for `$direction`.
676
- *
677
- * For the visual effect to work smoothly, we need to make sure that
678
- * the size of the fade-out edge effect is the same as the
679
- * internal paddings of the scrollable area. Otherwise, content of a
680
- * scrollable area that does not have a padding will fade out before
681
- * any scrolling has been done.
682
- * This is why this mixin already adds paddings, which automatically
683
- * default to the size of the fade-out effect.
684
- * This size defaults to `1rem`, but to override the size use
685
- * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
686
- * when `vertically` argument is set, and use
687
- * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
688
- * when `horizontally` argument is set.
689
- * Of course you can also programmatically increase and decrease the
690
- * size of these variables for each edge, based on the amount of
691
- * scrolling that has been done by the user. In this case, make sure
692
- * to add a custom padding where the mixin is used, to override
693
- * the paddings that are automatically added by the mixin in the
694
- * compiled CSS code.
695
- */
696
- /**
697
- * This mixin will add an animated underline to the bottom of an `a` elements.
698
- * Note that you may need to add `all: unset;` –depending on your use case–
699
- * before using this mixin.
700
- */
701
- /**
702
- * This mixin creates a cross-browser font stack.
703
- * - `sans-serif` can be used for the UI of the components.
704
- * - `monospace` can be used for code.
705
- *
706
- * ⚠️ If we change the font stacks, we need to update
707
- * 1. the consumer documentation in `README.md`, and
708
- * 2. the CSS variables of `--kompendium-example-font-family`
709
- * in the `<style>` tag of `index.html`.
710
- */
711
- /**
712
- * This mixin is a hack, using old CSS syntax
713
- * to enable you to truncate a piece of text,
714
- * after a certain number of lines.
715
- */
716
- /**
717
- * The breakpoints below are used to create responsive designs
718
- * in Lime's products. Therefore, they are here to get distributed
719
- * to all components in other private repos, which rely on this `mixins`
720
- * file, to create consistent styles.
721
- *
722
- * :::important
723
- * In very rare cases you should used media queries!
724
- * Nowadays, there are many better ways of achieving responsive design
725
- * without media queries. For example, using CSS Grid, Flexbox, and their features.
726
- * :::
727
- */
728
- /**
729
- * Media query mixins for responsive design based on screen width.
730
- * Note that these mixins do not detect the device type!
731
- */
732
448
  .image-wrapper {
733
449
  display: inline-flex;
734
450
  position: relative;
@@ -856,4 +572,132 @@ img {
856
572
  width: 0.25rem;
857
573
  height: 0.25rem;
858
574
  background-color: rgb(var(--contrast-100));
575
+ }
576
+
577
+ :host(limel-prosemirror-adapter) {
578
+ display: flex;
579
+ flex-direction: column;
580
+ }
581
+ :host(limel-prosemirror-adapter) .toolbar {
582
+ order: 1;
583
+ }
584
+ :host(limel-prosemirror-adapter) div#editor {
585
+ order: 2;
586
+ height: 100%;
587
+ flex-grow: 1;
588
+ }
589
+ :host(limel-prosemirror-adapter) div[contenteditable=true] {
590
+ height: 100%;
591
+ }
592
+
593
+ * {
594
+ box-sizing: border-box;
595
+ }
596
+
597
+ :host(limel-prosemirror-adapter:hover) .toolbar,
598
+ :host(limel-prosemirror-adapter:focus-within) .toolbar {
599
+ will-change: grid-template-rows;
600
+ }
601
+ :host(limel-prosemirror-adapter:hover) limel-action-bar,
602
+ :host(limel-prosemirror-adapter:focus-within) limel-action-bar {
603
+ will-change: opacity, padding;
604
+ }
605
+
606
+ .ProseMirror-menubar-wrapper {
607
+ display: grid;
608
+ grid-template-rows: auto 1fr;
609
+ }
610
+
611
+ .ProseMirror-textblock-dropdown {
612
+ min-width: 3em;
613
+ }
614
+
615
+ .ProseMirror-tooltip .ProseMirror-menu {
616
+ width: -webkit-fit-content;
617
+ width: fit-content;
618
+ white-space: pre;
619
+ }
620
+
621
+ .toolbar {
622
+ --action-bar-border-radius: 0.25rem;
623
+ border-radius: var(--action-bar-border-radius);
624
+ flex-shrink: 0;
625
+ position: sticky;
626
+ z-index: 1;
627
+ top: 0;
628
+ width: 100%;
629
+ display: grid;
630
+ grid-template-rows: var(--limel-prosemirror-adapter-toolbar-grid-template-rows);
631
+ transition-property: grid-template-rows;
632
+ transition-duration: var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);
633
+ transition-timing-function: var(--limel-prosemirror-adapter-toolbar-transition-timing-function);
634
+ background-color: rgba(var(--contrast-200), 0.5);
635
+ backdrop-filter: blur(0.5rem);
636
+ -webkit-backdrop-filter: blur(0.5rem);
637
+ }
638
+
639
+ limel-action-bar {
640
+ min-width: 0;
641
+ transition-property: padding, opacity;
642
+ transition-duration: var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);
643
+ transition-timing-function: var(--limel-prosemirror-adapter-toolbar-transition-timing-function);
644
+ opacity: var(--limel-prosemirror-adapter-toolbar-opacity);
645
+ padding: var(--limel-prosemirror-adapter-action-bar-padding-top-bottom, 0.125rem) 0.25rem;
646
+ background-color: transparent;
647
+ overflow: hidden;
648
+ }
649
+
650
+ .ProseMirror {
651
+ position: relative;
652
+ word-wrap: break-word;
653
+ white-space: pre-wrap;
654
+ white-space: break-spaces;
655
+ -webkit-font-variant-ligatures: none;
656
+ font-variant-ligatures: none;
657
+ font-feature-settings: "liga" 0;
658
+ padding: var(--limel-text-editor-padding);
659
+ }
660
+ .ProseMirror [draggable][contenteditable=false] {
661
+ user-select: text;
662
+ }
663
+ .ProseMirror:focus-visible {
664
+ outline: none;
665
+ }
666
+
667
+ .ProseMirror-hideselection {
668
+ caret-color: transparent;
669
+ }
670
+ .ProseMirror-hideselection *::selection {
671
+ background: transparent;
672
+ }
673
+ .ProseMirror-hideselection *::-moz-selection {
674
+ background: transparent;
675
+ }
676
+
677
+ .ProseMirror-selectednode {
678
+ outline: 0.125rem solid rgb(var(--color-sky-light));
679
+ }
680
+
681
+ li.ProseMirror-selectednode {
682
+ outline: none;
683
+ }
684
+ li.ProseMirror-selectednode:after {
685
+ content: "";
686
+ position: absolute;
687
+ left: -2rem;
688
+ right: -0.125rem;
689
+ top: -0.125rem;
690
+ bottom: -0.125rem;
691
+ border: 0.125rem solid rgb(var(--color-sky-light));
692
+ pointer-events: none;
693
+ }
694
+
695
+ img.ProseMirror-separator {
696
+ display: inline !important;
697
+ border: none !important;
698
+ margin: 0 !important;
699
+ }
700
+
701
+ limel-portal {
702
+ width: 25rem;
859
703
  }
@@ -609,7 +609,7 @@ const ChipSet = class {
609
609
  getChipProps(chip, chipType) {
610
610
  const removable = this.type === 'input' && chip.removable && !this.readonly;
611
611
  const readonly = this.readonly && this.type !== 'input';
612
- return Object.assign({ role: 'row', identifier: chip.id, text: chip.text, icon: chip.icon, image: chip.image, badge: chip.badge, selected: chip.selected, disabled: this.disabled, readonly: readonly, type: chipType, removable: removable, menuItems: chip.menuItems, onClick: this.catchInputChipClicks(chip), onRemove: this.handleRemoveChip }, (chip.href && {
612
+ return Object.assign({ role: 'row', identifier: chip.id, text: chip.text, icon: chip.icon, image: chip.image, badge: chip.badge, selected: chip.selected, disabled: this.disabled, loading: chip.loading, readonly: readonly, type: chipType, removable: removable, menuItems: chip.menuItems, onClick: this.catchInputChipClicks(chip), onRemove: this.handleRemoveChip }, (chip.href && {
613
613
  link: {
614
614
  href: getHref(chip.href),
615
615
  target: getTarget(chip.href),