@krollins/blueprint 0.1.12 → 0.1.13

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 (95) hide show
  1. package/dist/components/accordion.js +393 -0
  2. package/dist/components/accordion.js.map +1 -0
  3. package/dist/components/alert.js +213 -0
  4. package/dist/components/alert.js.map +1 -0
  5. package/dist/components/avatar.js +237 -0
  6. package/dist/components/avatar.js.map +1 -0
  7. package/dist/components/badge.js +144 -0
  8. package/dist/components/badge.js.map +1 -0
  9. package/dist/components/breadcrumb.js +481 -0
  10. package/dist/components/breadcrumb.js.map +1 -0
  11. package/dist/components/button.js +192 -0
  12. package/dist/components/button.js.map +1 -0
  13. package/dist/components/card.js +223 -0
  14. package/dist/components/card.js.map +1 -0
  15. package/dist/components/checkbox.js +337 -0
  16. package/dist/components/checkbox.js.map +1 -0
  17. package/dist/components/color-picker.js +1660 -0
  18. package/dist/components/color-picker.js.map +1 -0
  19. package/dist/components/combobox.js +595 -0
  20. package/dist/components/combobox.js.map +1 -0
  21. package/dist/components/date-picker.js +726 -0
  22. package/dist/components/date-picker.js.map +1 -0
  23. package/dist/components/divider.js +214 -0
  24. package/dist/components/divider.js.map +1 -0
  25. package/dist/components/drawer.js +568 -0
  26. package/dist/components/drawer.js.map +1 -0
  27. package/dist/components/dropdown.js +377 -0
  28. package/dist/components/dropdown.js.map +1 -0
  29. package/dist/components/file-upload.js +669 -0
  30. package/dist/components/file-upload.js.map +1 -0
  31. package/dist/components/heading.js +161 -0
  32. package/dist/components/heading.js.map +1 -0
  33. package/dist/components/icon.js +599 -0
  34. package/dist/components/icon.js.map +1 -0
  35. package/dist/components/input.js +363 -0
  36. package/dist/components/input.js.map +1 -0
  37. package/dist/components/link.js +178 -0
  38. package/dist/components/link.js.map +1 -0
  39. package/dist/components/menu.js +331 -0
  40. package/dist/components/menu.js.map +1 -0
  41. package/dist/components/modal.js +317 -0
  42. package/dist/components/modal.js.map +1 -0
  43. package/dist/components/multi-select.js +642 -0
  44. package/dist/components/multi-select.js.map +1 -0
  45. package/dist/components/notification.js +429 -0
  46. package/dist/components/notification.js.map +1 -0
  47. package/dist/components/number-input.js +556 -0
  48. package/dist/components/number-input.js.map +1 -0
  49. package/dist/components/pagination.js +320 -0
  50. package/dist/components/pagination.js.map +1 -0
  51. package/dist/components/popover.js +597 -0
  52. package/dist/components/popover.js.map +1 -0
  53. package/dist/components/progress.js +219 -0
  54. package/dist/components/progress.js.map +1 -0
  55. package/dist/components/radio.js +321 -0
  56. package/dist/components/radio.js.map +1 -0
  57. package/dist/components/select.js +498 -0
  58. package/dist/components/select.js.map +1 -0
  59. package/dist/components/skeleton.js +240 -0
  60. package/dist/components/skeleton.js.map +1 -0
  61. package/dist/components/slider.js +9 -0
  62. package/dist/components/slider.js.map +1 -0
  63. package/dist/components/spinner.js +133 -0
  64. package/dist/components/spinner.js.map +1 -0
  65. package/dist/components/stepper.js +812 -0
  66. package/dist/components/stepper.js.map +1 -0
  67. package/dist/components/switch.js +380 -0
  68. package/dist/components/switch.js.map +1 -0
  69. package/dist/components/table.js +642 -0
  70. package/dist/components/table.js.map +1 -0
  71. package/dist/components/tabs.js +547 -0
  72. package/dist/components/tabs.js.map +1 -0
  73. package/dist/components/tag.js +291 -0
  74. package/dist/components/tag.js.map +1 -0
  75. package/dist/components/text.js +278 -0
  76. package/dist/components/text.js.map +1 -0
  77. package/dist/components/textarea.js +380 -0
  78. package/dist/components/textarea.js.map +1 -0
  79. package/dist/components/time-picker.js +457 -0
  80. package/dist/components/time-picker.js.map +1 -0
  81. package/dist/components/tooltip.js +239 -0
  82. package/dist/components/tooltip.js.map +1 -0
  83. package/dist/components/tree.js +582 -0
  84. package/dist/components/tree.js.map +1 -0
  85. package/dist/index.js +93 -17799
  86. package/dist/index.js.map +1 -1
  87. package/dist/shared/boolean-converter-XDGfS9LC.js +12 -0
  88. package/dist/shared/boolean-converter-XDGfS9LC.js.map +1 -0
  89. package/dist/shared/debounce-BckY30Sf.js +23 -0
  90. package/dist/shared/debounce-BckY30Sf.js.map +1 -0
  91. package/dist/shared/memoize-DlOFy-92.js +16 -0
  92. package/dist/shared/memoize-DlOFy-92.js.map +1 -0
  93. package/dist/shared/slider-BNt5TITl.js +484 -0
  94. package/dist/shared/slider-BNt5TITl.js.map +1 -0
  95. package/package.json +44 -2
@@ -0,0 +1,239 @@
1
+ import { css as d, LitElement as h, html as c } from "lit";
2
+ import { property as r, state as b, customElement as m } from "lit/decorators.js";
3
+ const u = d`
4
+ /* Base styles */
5
+ :host {
6
+ display: inline-block;
7
+ position: relative;
8
+ }
9
+
10
+ .tooltip-wrapper {
11
+ position: relative;
12
+ display: inline-block;
13
+ }
14
+
15
+ .tooltip-trigger {
16
+ display: inline-block;
17
+ }
18
+
19
+ .tooltip-content {
20
+ position: absolute;
21
+ z-index: var(--bp-z-tooltip);
22
+ padding: var(--bp-spacing-sm) var(--bp-spacing-md);
23
+ background-color: var(--bp-color-text);
24
+ color: var(--bp-color-text-inverse);
25
+ border-radius: var(--bp-border-radius-sm);
26
+ font-size: var(--bp-font-size-sm);
27
+ font-family: var(--bp-font-family);
28
+ line-height: var(--bp-line-height-tight);
29
+ max-width: calc(var(--bp-spacing-24) * 3);
30
+ white-space: normal;
31
+ box-shadow: var(--bp-shadow-md);
32
+ pointer-events: none;
33
+ animation: tooltip-fade-in var(--bp-transition-fast);
34
+ }
35
+
36
+ @keyframes tooltip-fade-in {
37
+ from {
38
+ opacity: 0;
39
+ scale: 0.95;
40
+ }
41
+ to {
42
+ opacity: 1;
43
+ scale: 1;
44
+ }
45
+ }
46
+
47
+ /* Placement variants */
48
+ .tooltip-content--top {
49
+ bottom: calc(100% + var(--bp-spacing-xs));
50
+ left: 50%;
51
+ transform: translateX(-50%);
52
+ }
53
+
54
+ .tooltip-content--top::after {
55
+ content: '';
56
+ position: absolute;
57
+ top: 100%;
58
+ left: 50%;
59
+ transform: translateX(-50%);
60
+ border-width: var(--bp-spacing-sm);
61
+ border-style: solid;
62
+ border-color: var(--bp-color-text) transparent transparent transparent;
63
+ }
64
+
65
+ .tooltip-content--bottom {
66
+ top: calc(100% + var(--bp-spacing-xs));
67
+ left: 50%;
68
+ transform: translateX(-50%);
69
+ }
70
+
71
+ .tooltip-content--bottom::after {
72
+ content: '';
73
+ position: absolute;
74
+ bottom: 100%;
75
+ left: 50%;
76
+ transform: translateX(-50%);
77
+ border-width: var(--bp-spacing-sm);
78
+ border-style: solid;
79
+ border-color: transparent transparent var(--bp-color-text) transparent;
80
+ }
81
+
82
+ .tooltip-content--left {
83
+ right: calc(100% + var(--bp-spacing-xs));
84
+ top: 50%;
85
+ transform: translateY(-50%);
86
+ }
87
+
88
+ .tooltip-content--left::after {
89
+ content: '';
90
+ position: absolute;
91
+ left: 100%;
92
+ top: 50%;
93
+ transform: translateY(-50%);
94
+ border-width: var(--bp-spacing-sm);
95
+ border-style: solid;
96
+ border-color: transparent transparent transparent var(--bp-color-text);
97
+ }
98
+
99
+ .tooltip-content--right {
100
+ left: calc(100% + var(--bp-spacing-xs));
101
+ top: 50%;
102
+ transform: translateY(-50%);
103
+ }
104
+
105
+ .tooltip-content--right::after {
106
+ content: '';
107
+ position: absolute;
108
+ right: 100%;
109
+ top: 50%;
110
+ transform: translateY(-50%);
111
+ border-width: var(--bp-spacing-sm);
112
+ border-style: solid;
113
+ border-color: transparent var(--bp-color-text) transparent transparent;
114
+ }
115
+
116
+ /* States */
117
+ :host([disabled]) {
118
+ opacity: 0.5;
119
+ cursor: not-allowed;
120
+ }
121
+ `;
122
+ var v = Object.defineProperty, f = Object.getOwnPropertyDescriptor, o = (p, i, n, s) => {
123
+ for (var e = s > 1 ? void 0 : s ? f(i, n) : i, a = p.length - 1, l; a >= 0; a--)
124
+ (l = p[a]) && (e = (s ? l(i, n, e) : l(e)) || e);
125
+ return s && e && v(i, n, e), e;
126
+ };
127
+ let t = class extends h {
128
+ constructor() {
129
+ super(), this.isVisible = !1, this.showTimeout = null, this.hideTimeout = null, this.tooltipId = `tooltip-${Math.random().toString(36).substr(2, 9)}`, this.content = "", this.placement = "top", this.disabled = !1, this.delay = 200;
130
+ }
131
+ handleMouseEnter() {
132
+ this.disabled || (this.clearTimeouts(), this.showTimeout = window.setTimeout(() => {
133
+ this.isVisible = !0, this.dispatchEvent(
134
+ new CustomEvent("bp-show", {
135
+ detail: {
136
+ placement: this.placement,
137
+ content: this.content
138
+ },
139
+ bubbles: !0,
140
+ composed: !0
141
+ })
142
+ );
143
+ }, this.delay));
144
+ }
145
+ handleMouseLeave() {
146
+ this.clearTimeouts(), this.hideTimeout = window.setTimeout(() => {
147
+ this.isVisible = !1, this.dispatchEvent(
148
+ new CustomEvent("bp-hide", {
149
+ detail: {
150
+ placement: this.placement,
151
+ content: this.content
152
+ },
153
+ bubbles: !0,
154
+ composed: !0
155
+ })
156
+ );
157
+ }, 100);
158
+ }
159
+ handleFocus() {
160
+ this.disabled || (this.isVisible = !0, this.dispatchEvent(
161
+ new CustomEvent("bp-show", {
162
+ detail: {
163
+ placement: this.placement,
164
+ content: this.content
165
+ },
166
+ bubbles: !0,
167
+ composed: !0
168
+ })
169
+ ));
170
+ }
171
+ handleBlur() {
172
+ this.isVisible = !1, this.dispatchEvent(
173
+ new CustomEvent("bp-hide", {
174
+ detail: {
175
+ placement: this.placement,
176
+ content: this.content
177
+ },
178
+ bubbles: !0,
179
+ composed: !0
180
+ })
181
+ );
182
+ }
183
+ clearTimeouts() {
184
+ this.showTimeout !== null && (window.clearTimeout(this.showTimeout), this.showTimeout = null), this.hideTimeout !== null && (window.clearTimeout(this.hideTimeout), this.hideTimeout = null);
185
+ }
186
+ disconnectedCallback() {
187
+ super.disconnectedCallback(), this.clearTimeouts();
188
+ }
189
+ render() {
190
+ return c`
191
+ <div
192
+ class="tooltip-wrapper"
193
+ aria-describedby=${this.isVisible ? this.tooltipId : ""}
194
+ @mouseenter=${this.handleMouseEnter}
195
+ @mouseleave=${this.handleMouseLeave}
196
+ @focus=${this.handleFocus}
197
+ @blur=${this.handleBlur}
198
+ >
199
+ <div class="tooltip-trigger" part="trigger">
200
+ <slot></slot>
201
+ </div>
202
+ ${this.isVisible && !this.disabled ? c`
203
+ <div
204
+ id=${this.tooltipId}
205
+ class="tooltip-content tooltip-content--${this.placement}"
206
+ part="content"
207
+ role="tooltip"
208
+ aria-hidden="false"
209
+ >
210
+ ${this.content}
211
+ </div>
212
+ ` : null}
213
+ </div>
214
+ `;
215
+ }
216
+ };
217
+ t.styles = [u];
218
+ o([
219
+ r({ type: String })
220
+ ], t.prototype, "content", 2);
221
+ o([
222
+ r({ type: String })
223
+ ], t.prototype, "placement", 2);
224
+ o([
225
+ r({ type: Boolean })
226
+ ], t.prototype, "disabled", 2);
227
+ o([
228
+ r({ type: Number })
229
+ ], t.prototype, "delay", 2);
230
+ o([
231
+ b()
232
+ ], t.prototype, "isVisible", 2);
233
+ t = o([
234
+ m("bp-tooltip")
235
+ ], t);
236
+ export {
237
+ t as BpTooltip
238
+ };
239
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","sources":["../../source/components/tooltip/tooltip.style.ts","../../source/components/tooltip/tooltip.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const tooltipStyles = css`\n /* Base styles */\n :host {\n display: inline-block;\n position: relative;\n }\n\n .tooltip-wrapper {\n position: relative;\n display: inline-block;\n }\n\n .tooltip-trigger {\n display: inline-block;\n }\n\n .tooltip-content {\n position: absolute;\n z-index: var(--bp-z-tooltip);\n padding: var(--bp-spacing-sm) var(--bp-spacing-md);\n background-color: var(--bp-color-text);\n color: var(--bp-color-text-inverse);\n border-radius: var(--bp-border-radius-sm);\n font-size: var(--bp-font-size-sm);\n font-family: var(--bp-font-family);\n line-height: var(--bp-line-height-tight);\n max-width: calc(var(--bp-spacing-24) * 3);\n white-space: normal;\n box-shadow: var(--bp-shadow-md);\n pointer-events: none;\n animation: tooltip-fade-in var(--bp-transition-fast);\n }\n\n @keyframes tooltip-fade-in {\n from {\n opacity: 0;\n scale: 0.95;\n }\n to {\n opacity: 1;\n scale: 1;\n }\n }\n\n /* Placement variants */\n .tooltip-content--top {\n bottom: calc(100% + var(--bp-spacing-xs));\n left: 50%;\n transform: translateX(-50%);\n }\n\n .tooltip-content--top::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-width: var(--bp-spacing-sm);\n border-style: solid;\n border-color: var(--bp-color-text) transparent transparent transparent;\n }\n\n .tooltip-content--bottom {\n top: calc(100% + var(--bp-spacing-xs));\n left: 50%;\n transform: translateX(-50%);\n }\n\n .tooltip-content--bottom::after {\n content: '';\n position: absolute;\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-width: var(--bp-spacing-sm);\n border-style: solid;\n border-color: transparent transparent var(--bp-color-text) transparent;\n }\n\n .tooltip-content--left {\n right: calc(100% + var(--bp-spacing-xs));\n top: 50%;\n transform: translateY(-50%);\n }\n\n .tooltip-content--left::after {\n content: '';\n position: absolute;\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-width: var(--bp-spacing-sm);\n border-style: solid;\n border-color: transparent transparent transparent var(--bp-color-text);\n }\n\n .tooltip-content--right {\n left: calc(100% + var(--bp-spacing-xs));\n top: 50%;\n transform: translateY(-50%);\n }\n\n .tooltip-content--right::after {\n content: '';\n position: absolute;\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-width: var(--bp-spacing-sm);\n border-style: solid;\n border-color: transparent var(--bp-color-text) transparent transparent;\n }\n\n /* States */\n :host([disabled]) {\n opacity: 0.5;\n cursor: not-allowed;\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { tooltipStyles } from './tooltip.style.js';\n\nexport type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';\n\n/**\n * A tooltip component that displays contextual information on hover or focus.\n *\n * @slot - The trigger element that shows the tooltip on hover/focus\n *\n * @cssprop --bp-tooltip-max-width - Maximum width of the tooltip content\n *\n * @fires bp-show - Fired when tooltip becomes visible\n * @fires bp-hide - Fired when tooltip becomes hidden\n */\n@customElement('bp-tooltip')\nexport class BpTooltip extends LitElement {\n /**\n * The text content to display in the tooltip\n */\n @property({ type: String }) declare content: string;\n\n /**\n * Placement of the tooltip relative to the trigger\n */\n @property({ type: String }) declare placement: TooltipPlacement;\n\n /**\n * Whether the tooltip is disabled\n */\n @property({ type: Boolean }) declare disabled: boolean;\n\n /**\n * Delay in milliseconds before showing the tooltip\n */\n @property({ type: Number }) declare delay: number;\n\n /**\n * Internal state tracking whether tooltip is visible\n */\n @state() private isVisible = false;\n\n private showTimeout: number | null = null;\n private hideTimeout: number | null = null;\n private tooltipId = `tooltip-${Math.random().toString(36).substr(2, 9)}`;\n\n static styles = [tooltipStyles];\n\n constructor() {\n super();\n this.content = '';\n this.placement = 'top';\n this.disabled = false;\n this.delay = 200;\n }\n\n private handleMouseEnter() {\n if (this.disabled) return;\n\n this.clearTimeouts();\n this.showTimeout = window.setTimeout(() => {\n this.isVisible = true;\n this.dispatchEvent(\n new CustomEvent('bp-show', {\n detail: {\n placement: this.placement,\n content: this.content,\n },\n bubbles: true,\n composed: true,\n })\n );\n }, this.delay);\n }\n\n private handleMouseLeave() {\n this.clearTimeouts();\n this.hideTimeout = window.setTimeout(() => {\n this.isVisible = false;\n this.dispatchEvent(\n new CustomEvent('bp-hide', {\n detail: {\n placement: this.placement,\n content: this.content,\n },\n bubbles: true,\n composed: true,\n })\n );\n }, 100);\n }\n\n private handleFocus() {\n if (this.disabled) return;\n this.isVisible = true;\n this.dispatchEvent(\n new CustomEvent('bp-show', {\n detail: {\n placement: this.placement,\n content: this.content,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private handleBlur() {\n this.isVisible = false;\n this.dispatchEvent(\n new CustomEvent('bp-hide', {\n detail: {\n placement: this.placement,\n content: this.content,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private clearTimeouts() {\n if (this.showTimeout !== null) {\n window.clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n if (this.hideTimeout !== null) {\n window.clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.clearTimeouts();\n }\n\n render() {\n return html`\n <div\n class=\"tooltip-wrapper\"\n aria-describedby=${this.isVisible ? this.tooltipId : ''}\n @mouseenter=${this.handleMouseEnter}\n @mouseleave=${this.handleMouseLeave}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n <div class=\"tooltip-trigger\" part=\"trigger\">\n <slot></slot>\n </div>\n ${this.isVisible && !this.disabled\n ? html`\n <div\n id=${this.tooltipId}\n class=\"tooltip-content tooltip-content--${this.placement}\"\n part=\"content\"\n role=\"tooltip\"\n aria-hidden=\"false\"\n >\n ${this.content}\n </div>\n `\n : null}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-tooltip': BpTooltip;\n }\n}\n"],"names":["tooltipStyles","css","BpTooltip","LitElement","html","__decorateClass","property","state","customElement"],"mappings":"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"}