@vonage/vivid 2.36.3 → 3.0.0-next.100

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 (237) hide show
  1. package/README.md +144 -0
  2. package/accordion/index.js +52 -0
  3. package/accordion-item/index.js +118 -0
  4. package/action-group/index.js +41 -0
  5. package/avatar/index.js +61 -0
  6. package/badge/index.js +51 -0
  7. package/banner/index.js +128 -0
  8. package/breadcrumb/index.js +103 -0
  9. package/breadcrumb-item/index.js +59 -0
  10. package/button/index.js +24 -0
  11. package/calendar/index.js +1526 -0
  12. package/calendar-event/index.js +112 -0
  13. package/card/index.js +114 -0
  14. package/checkbox/index.js +179 -0
  15. package/dialog/index.js +230 -0
  16. package/divider/index.js +4 -0
  17. package/elevation/index.js +3 -0
  18. package/fab/index.js +100 -0
  19. package/focus/index.js +18 -0
  20. package/header/index.js +61 -0
  21. package/icon/index.js +36 -0
  22. package/index.d.ts +2 -0
  23. package/index.js +76 -64
  24. package/layout/index.js +43 -0
  25. package/lib/accordion/accordion.d.ts +9 -0
  26. package/lib/accordion/accordion.template.d.ts +4 -0
  27. package/lib/accordion/index.d.ts +2 -0
  28. package/lib/accordion-item/accordion-item.d.ts +13 -0
  29. package/lib/accordion-item/accordion-item.template.d.ts +4 -0
  30. package/lib/accordion-item/index.d.ts +4 -0
  31. package/lib/action-group/action-group.d.ts +10 -0
  32. package/lib/action-group/action-group.template.d.ts +4 -0
  33. package/lib/action-group/index.d.ts +2 -0
  34. package/lib/avatar/avatar.d.ts +15 -0
  35. package/lib/avatar/avatar.template.d.ts +4 -0
  36. package/lib/avatar/index.d.ts +3 -0
  37. package/lib/badge/badge.d.ts +15 -0
  38. package/lib/badge/badge.template.d.ts +4 -0
  39. package/lib/badge/index.d.ts +3 -0
  40. package/lib/banner/banner.d.ts +20 -0
  41. package/lib/banner/banner.template.d.ts +4 -0
  42. package/lib/banner/index.d.ts +3 -0
  43. package/lib/breadcrumb/breadcrumb.d.ts +3 -0
  44. package/lib/breadcrumb/breadcrumb.template.d.ts +4 -0
  45. package/lib/breadcrumb/index.d.ts +2 -0
  46. package/lib/breadcrumb-item/breadcrumb-item.d.ts +5 -0
  47. package/lib/breadcrumb-item/breadcrumb-item.template.d.ts +4 -0
  48. package/lib/breadcrumb-item/index.d.ts +4 -0
  49. package/lib/button/button.d.ts +18 -0
  50. package/lib/button/button.template.d.ts +4 -0
  51. package/lib/button/index.d.ts +4 -0
  52. package/lib/calendar/calendar.d.ts +13 -0
  53. package/lib/calendar/calendar.template.d.ts +4 -0
  54. package/lib/calendar/helpers/calendar.date-functions.d.ts +2 -0
  55. package/lib/calendar/helpers/calendar.event-context.d.ts +6 -0
  56. package/lib/calendar/helpers/calendar.keyboard-interactions.d.ts +9 -0
  57. package/lib/calendar/index.d.ts +2 -0
  58. package/lib/calendar-event/calendar-event.d.ts +14 -0
  59. package/lib/calendar-event/calendar-event.template.d.ts +4 -0
  60. package/lib/calendar-event/index.d.ts +2 -0
  61. package/lib/card/card.d.ts +10 -0
  62. package/lib/card/card.template.d.ts +4 -0
  63. package/lib/card/index.d.ts +4 -0
  64. package/lib/checkbox/checkbox.d.ts +5 -0
  65. package/lib/checkbox/checkbox.template.d.ts +4 -0
  66. package/lib/checkbox/index.d.ts +4 -0
  67. package/lib/components.d.ts +38 -0
  68. package/lib/dialog/dialog.d.ts +20 -0
  69. package/lib/dialog/dialog.template.d.ts +4 -0
  70. package/lib/dialog/index.d.ts +5 -0
  71. package/lib/divider/divider.d.ts +3 -0
  72. package/lib/divider/divider.template.d.ts +4 -0
  73. package/lib/divider/index.d.ts +2 -0
  74. package/lib/elevation/elevation.d.ts +5 -0
  75. package/lib/elevation/elevation.template.d.ts +4 -0
  76. package/lib/elevation/index.d.ts +2 -0
  77. package/lib/enums.d.ts +59 -0
  78. package/lib/fab/fab.d.ts +13 -0
  79. package/lib/fab/fab.template.d.ts +4 -0
  80. package/lib/fab/index.d.ts +4 -0
  81. package/lib/focus/focus.d.ts +3 -0
  82. package/lib/focus/focus.template.d.ts +4 -0
  83. package/lib/focus/index.d.ts +2 -0
  84. package/lib/header/header.d.ts +5 -0
  85. package/lib/header/header.template.d.ts +4 -0
  86. package/lib/header/index.d.ts +3 -0
  87. package/lib/icon/icon.d.ts +12 -0
  88. package/lib/icon/icon.placeholder.d.ts +1 -0
  89. package/lib/icon/icon.template.d.ts +4 -0
  90. package/lib/icon/index.d.ts +2 -0
  91. package/lib/layout/index.d.ts +2 -0
  92. package/lib/layout/layout.d.ts +16 -0
  93. package/lib/layout/layout.template.d.ts +4 -0
  94. package/lib/listbox/index.d.ts +4 -0
  95. package/lib/listbox/listbox.d.ts +9 -0
  96. package/lib/listbox/listbox.template.d.ts +4 -0
  97. package/lib/listbox-option/index.d.ts +4 -0
  98. package/lib/listbox-option/listbox-option.d.ts +9 -0
  99. package/lib/listbox-option/listbox-option.template.d.ts +4 -0
  100. package/lib/menu/index.d.ts +12 -0
  101. package/lib/menu/menu.d.ts +10 -0
  102. package/lib/menu/menu.template.d.ts +3 -0
  103. package/lib/menu-item/index.d.ts +3 -0
  104. package/lib/menu-item/menu-item.d.ts +7 -0
  105. package/lib/menu-item/menu-item.template.d.ts +5 -0
  106. package/lib/nav/index.d.ts +2 -0
  107. package/lib/nav/nav.d.ts +3 -0
  108. package/lib/nav/nav.template.d.ts +4 -0
  109. package/lib/nav-disclosure/index.d.ts +4 -0
  110. package/lib/nav-disclosure/nav-disclosure.d.ts +10 -0
  111. package/lib/nav-disclosure/nav-disclosure.template.d.ts +4 -0
  112. package/lib/nav-item/index.d.ts +4 -0
  113. package/lib/nav-item/nav-item.d.ts +6 -0
  114. package/lib/nav-item/nav-item.template.d.ts +4 -0
  115. package/lib/note/index.d.ts +2 -0
  116. package/lib/note/note.d.ts +10 -0
  117. package/lib/note/note.template.d.ts +5 -0
  118. package/lib/number-field/index.d.ts +4 -0
  119. package/lib/number-field/number-field.d.ts +14 -0
  120. package/lib/number-field/number-field.template.d.ts +4 -0
  121. package/lib/popup/index.d.ts +4 -0
  122. package/lib/popup/popup.d.ts +18 -0
  123. package/lib/popup/popup.template.d.ts +4 -0
  124. package/lib/progress/index.d.ts +2 -0
  125. package/lib/progress/progress.d.ts +9 -0
  126. package/lib/progress/progress.template.d.ts +5 -0
  127. package/lib/progress-ring/index.d.ts +2 -0
  128. package/lib/progress-ring/progress-ring.d.ts +7 -0
  129. package/lib/progress-ring/progress-ring.template.d.ts +4 -0
  130. package/lib/radio/index.d.ts +3 -0
  131. package/lib/radio/radio.d.ts +4 -0
  132. package/lib/radio/radio.template.d.ts +4 -0
  133. package/lib/radio-group/index.d.ts +10 -0
  134. package/lib/radio-group/radio-group.d.ts +4 -0
  135. package/lib/radio-group/radio-group.template.d.ts +4 -0
  136. package/lib/side-drawer/index.d.ts +2 -0
  137. package/lib/side-drawer/side-drawer.d.ts +9 -0
  138. package/lib/side-drawer/side-drawer.template.d.ts +4 -0
  139. package/lib/slider/index.d.ts +3 -0
  140. package/lib/slider/slider.d.ts +4 -0
  141. package/lib/slider/slider.template.d.ts +4 -0
  142. package/lib/switch/index.d.ts +4 -0
  143. package/lib/switch/switch.d.ts +7 -0
  144. package/lib/switch/switch.template.d.ts +4 -0
  145. package/lib/text-anchor/index.d.ts +2 -0
  146. package/lib/text-anchor/text-anchor.d.ts +7 -0
  147. package/lib/text-anchor/text-anchor.template.d.ts +4 -0
  148. package/lib/text-area/index.d.ts +4 -0
  149. package/lib/text-area/text-area.d.ts +9 -0
  150. package/lib/text-area/text-area.template.d.ts +4 -0
  151. package/lib/text-field/index.d.ts +4 -0
  152. package/lib/text-field/text-field.d.ts +14 -0
  153. package/lib/text-field/text-field.template.d.ts +5 -0
  154. package/lib/tooltip/index.d.ts +3 -0
  155. package/lib/tooltip/tooltip.d.ts +8 -0
  156. package/lib/tooltip/tooltip.template.d.ts +4 -0
  157. package/listbox/index.js +1090 -0
  158. package/listbox-option/index.js +22 -0
  159. package/menu/index.js +371 -0
  160. package/menu-item/index.js +21 -0
  161. package/nav/index.js +17 -0
  162. package/nav-disclosure/index.js +82 -0
  163. package/nav-item/index.js +46 -0
  164. package/note/index.js +59 -0
  165. package/number-field/index.js +461 -0
  166. package/package.json +65 -323
  167. package/popup/index.js +27 -0
  168. package/progress/index.js +97 -0
  169. package/progress-ring/index.js +76 -0
  170. package/radio/index.js +47 -0
  171. package/radio-group/index.js +435 -0
  172. package/shared/_has.js +58 -0
  173. package/shared/affix.js +24 -0
  174. package/shared/anchor.js +86 -0
  175. package/shared/apply-mixins.js +23 -0
  176. package/shared/aria-global.js +72 -0
  177. package/shared/aria.js +9 -0
  178. package/shared/base-progress.js +70 -0
  179. package/shared/breadcrumb-item.js +25 -0
  180. package/shared/button.js +200 -0
  181. package/shared/calendar-event.js +19 -0
  182. package/shared/class-names.js +15 -0
  183. package/shared/design-system/index.d.ts +3 -0
  184. package/shared/dialog-polyfill.esm.js +858 -0
  185. package/shared/direction.js +20 -0
  186. package/shared/dom.js +8 -0
  187. package/shared/enums.js +70 -0
  188. package/shared/es.object.assign.js +69 -0
  189. package/shared/es.regexp.to-string.js +59 -0
  190. package/shared/export.js +1017 -0
  191. package/shared/focus.js +5 -0
  192. package/shared/focus2.js +11 -0
  193. package/shared/form-associated.js +466 -0
  194. package/shared/form-elements.js +331 -0
  195. package/shared/icon.js +1361 -0
  196. package/shared/index.js +5027 -0
  197. package/shared/index2.js +107 -0
  198. package/shared/index3.js +31 -0
  199. package/shared/index4.js +77 -0
  200. package/shared/index5.js +261 -0
  201. package/shared/index6.js +1525 -0
  202. package/shared/index7.js +349 -0
  203. package/shared/iterators.js +61 -0
  204. package/shared/key-codes.js +97 -0
  205. package/shared/numbers.js +25 -0
  206. package/shared/object-keys.js +13 -0
  207. package/shared/patterns/affix.d.ts +9 -0
  208. package/shared/patterns/focus.d.ts +3 -0
  209. package/shared/patterns/form-elements/form-elements.d.ts +28 -0
  210. package/shared/patterns/form-elements/index.d.ts +1 -0
  211. package/shared/patterns/index.d.ts +3 -0
  212. package/shared/radio.js +127 -0
  213. package/shared/ref.js +41 -0
  214. package/shared/slotted.js +119 -0
  215. package/shared/start-end.js +50 -0
  216. package/shared/string-trim.js +40 -0
  217. package/shared/text-anchor.js +10 -0
  218. package/shared/text-anchor.template.js +55 -0
  219. package/shared/to-string.js +51 -0
  220. package/shared/web.dom-collections.iterator.js +472 -0
  221. package/shared/when.js +15 -0
  222. package/side-drawer/index.js +89 -0
  223. package/slider/index.js +596 -0
  224. package/styles/core/all.css +75 -0
  225. package/styles/core/theme.css +11 -0
  226. package/styles/core/typography.css +69 -0
  227. package/styles/fonts/SpeziaCompleteVariableItalicWeb.woff2 +0 -0
  228. package/styles/fonts/SpeziaCompleteVariableUprightWeb.woff2 +0 -0
  229. package/styles/fonts/SpeziaMonoCompleteVariableWeb.woff2 +0 -0
  230. package/styles/fonts/spezia.css +20 -0
  231. package/styles/tokens/theme-dark.css +230 -0
  232. package/styles/tokens/theme-light.css +230 -0
  233. package/switch/index.js +153 -0
  234. package/text-anchor/index.js +28 -0
  235. package/text-area/index.js +289 -0
  236. package/text-field/index.js +130 -0
  237. package/tooltip/index.js +65 -0
@@ -0,0 +1,127 @@
1
+ import { F as FoundationElement, _ as __decorate, a as attr, o as observable, b as __metadata } from './index.js';
2
+ import { C as CheckableFormAssociated } from './form-associated.js';
3
+ import { a as keySpace } from './key-codes.js';
4
+
5
+ class _Radio extends FoundationElement {
6
+ }
7
+ /**
8
+ * A form-associated base class for the {@link @microsoft/fast-foundation#(Radio:class)} component.
9
+ *
10
+ * @internal
11
+ */
12
+ class FormAssociatedRadio extends CheckableFormAssociated(_Radio) {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.proxy = document.createElement("input");
16
+ }
17
+ }
18
+
19
+ /**
20
+ * A Radio Custom HTML Element.
21
+ * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#radio | ARIA radio }.
22
+ *
23
+ * @slot checked-indicator - The checked indicator
24
+ * @slot - The default slot for the label
25
+ * @csspart control - The element representing the visual radio control
26
+ * @csspart label - The label
27
+ * @fires change - Emits a custom change event when the checked state changes
28
+ *
29
+ * @public
30
+ */
31
+ class Radio$1 extends FormAssociatedRadio {
32
+ constructor() {
33
+ super();
34
+ /**
35
+ * The element's value to be included in form submission when checked.
36
+ * Default to "on" to reach parity with input[type="radio"]
37
+ *
38
+ * @internal
39
+ */
40
+ this.initialValue = "on";
41
+ /**
42
+ * @internal
43
+ */
44
+ this.keypressHandler = (e) => {
45
+ switch (e.key) {
46
+ case keySpace:
47
+ if (!this.checked && !this.readOnly) {
48
+ this.checked = true;
49
+ }
50
+ return;
51
+ }
52
+ return true;
53
+ };
54
+ this.proxy.setAttribute("type", "radio");
55
+ }
56
+ readOnlyChanged() {
57
+ if (this.proxy instanceof HTMLInputElement) {
58
+ this.proxy.readOnly = this.readOnly;
59
+ }
60
+ }
61
+ /**
62
+ * @internal
63
+ */
64
+ defaultCheckedChanged() {
65
+ var _a;
66
+ if (this.$fastController.isConnected && !this.dirtyChecked) {
67
+ // Setting this.checked will cause us to enter a dirty state,
68
+ // but if we are clean when defaultChecked is changed, we want to stay
69
+ // in a clean state, so reset this.dirtyChecked
70
+ if (!this.isInsideRadioGroup()) {
71
+ this.checked = (_a = this.defaultChecked) !== null && _a !== void 0 ? _a : false;
72
+ this.dirtyChecked = false;
73
+ }
74
+ }
75
+ }
76
+ /**
77
+ * @internal
78
+ */
79
+ connectedCallback() {
80
+ var _a, _b;
81
+ super.connectedCallback();
82
+ this.validate();
83
+ if (((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.getAttribute("role")) !== "radiogroup" &&
84
+ this.getAttribute("tabindex") === null) {
85
+ if (!this.disabled) {
86
+ this.setAttribute("tabindex", "0");
87
+ }
88
+ }
89
+ if (this.checkedAttribute) {
90
+ if (!this.dirtyChecked) {
91
+ // Setting this.checked will cause us to enter a dirty state,
92
+ // but if we are clean when defaultChecked is changed, we want to stay
93
+ // in a clean state, so reset this.dirtyChecked
94
+ if (!this.isInsideRadioGroup()) {
95
+ this.checked = (_b = this.defaultChecked) !== null && _b !== void 0 ? _b : false;
96
+ this.dirtyChecked = false;
97
+ }
98
+ }
99
+ }
100
+ }
101
+ isInsideRadioGroup() {
102
+ const parent = this.closest("[role=radiogroup]");
103
+ return parent !== null;
104
+ }
105
+ /**
106
+ * @internal
107
+ */
108
+ clickHandler(e) {
109
+ if (!this.disabled && !this.readOnly && !this.checked) {
110
+ this.checked = true;
111
+ }
112
+ }
113
+ }
114
+ __decorate([
115
+ attr({ attribute: "readonly", mode: "boolean" })
116
+ ], Radio$1.prototype, "readOnly", void 0);
117
+ __decorate([
118
+ observable
119
+ ], Radio$1.prototype, "name", void 0);
120
+ __decorate([
121
+ observable
122
+ ], Radio$1.prototype, "defaultSlottedNodes", void 0);
123
+
124
+ class Radio extends Radio$1 {}
125
+ __decorate([attr, __metadata("design:type", String)], Radio.prototype, "label", void 0);
126
+
127
+ export { Radio as R };
package/shared/ref.js ADDED
@@ -0,0 +1,41 @@
1
+ import { e as AttachedBehaviorHTMLDirective } from './index.js';
2
+
3
+ /**
4
+ * The runtime behavior for template references.
5
+ * @public
6
+ */
7
+ class RefBehavior {
8
+ /**
9
+ * Creates an instance of RefBehavior.
10
+ * @param target - The element to reference.
11
+ * @param propertyName - The name of the property to assign the reference to.
12
+ */
13
+ constructor(target, propertyName) {
14
+ this.target = target;
15
+ this.propertyName = propertyName;
16
+ }
17
+ /**
18
+ * Bind this behavior to the source.
19
+ * @param source - The source to bind to.
20
+ * @param context - The execution context that the binding is operating within.
21
+ */
22
+ bind(source) {
23
+ source[this.propertyName] = this.target;
24
+ }
25
+ /**
26
+ * Unbinds this behavior from the source.
27
+ * @param source - The source to unbind from.
28
+ */
29
+ /* eslint-disable-next-line @typescript-eslint/no-empty-function */
30
+ unbind() { }
31
+ }
32
+ /**
33
+ * A directive that observes the updates a property with a reference to the element.
34
+ * @param propertyName - The name of the property to assign the reference to.
35
+ * @public
36
+ */
37
+ function ref(propertyName) {
38
+ return new AttachedBehaviorHTMLDirective("fast-ref", RefBehavior, propertyName);
39
+ }
40
+
41
+ export { ref as r };
@@ -0,0 +1,119 @@
1
+ import { O as Observable, g as emptyArray, e as AttachedBehaviorHTMLDirective } from './index.js';
2
+
3
+ /**
4
+ * Creates a function that can be used to filter a Node array, selecting only elements.
5
+ * @param selector - An optional selector to restrict the filter to.
6
+ * @public
7
+ */
8
+ function elements(selector) {
9
+ if (selector) {
10
+ return function (value, index, array) {
11
+ return value.nodeType === 1 && value.matches(selector);
12
+ };
13
+ }
14
+ return function (value, index, array) {
15
+ return value.nodeType === 1;
16
+ };
17
+ }
18
+ /**
19
+ * A base class for node observation.
20
+ * @internal
21
+ */
22
+ class NodeObservationBehavior {
23
+ /**
24
+ * Creates an instance of NodeObservationBehavior.
25
+ * @param target - The target to assign the nodes property on.
26
+ * @param options - The options to use in configuring node observation.
27
+ */
28
+ constructor(target, options) {
29
+ this.target = target;
30
+ this.options = options;
31
+ this.source = null;
32
+ }
33
+ /**
34
+ * Bind this behavior to the source.
35
+ * @param source - The source to bind to.
36
+ * @param context - The execution context that the binding is operating within.
37
+ */
38
+ bind(source) {
39
+ const name = this.options.property;
40
+ this.shouldUpdate = Observable.getAccessors(source).some((x) => x.name === name);
41
+ this.source = source;
42
+ this.updateTarget(this.computeNodes());
43
+ if (this.shouldUpdate) {
44
+ this.observe();
45
+ }
46
+ }
47
+ /**
48
+ * Unbinds this behavior from the source.
49
+ * @param source - The source to unbind from.
50
+ */
51
+ unbind() {
52
+ this.updateTarget(emptyArray);
53
+ this.source = null;
54
+ if (this.shouldUpdate) {
55
+ this.disconnect();
56
+ }
57
+ }
58
+ /** @internal */
59
+ handleEvent() {
60
+ this.updateTarget(this.computeNodes());
61
+ }
62
+ computeNodes() {
63
+ let nodes = this.getNodes();
64
+ if (this.options.filter !== void 0) {
65
+ nodes = nodes.filter(this.options.filter);
66
+ }
67
+ return nodes;
68
+ }
69
+ updateTarget(value) {
70
+ this.source[this.options.property] = value;
71
+ }
72
+ }
73
+
74
+ /**
75
+ * The runtime behavior for slotted node observation.
76
+ * @public
77
+ */
78
+ class SlottedBehavior extends NodeObservationBehavior {
79
+ /**
80
+ * Creates an instance of SlottedBehavior.
81
+ * @param target - The slot element target to observe.
82
+ * @param options - The options to use when observing the slot.
83
+ */
84
+ constructor(target, options) {
85
+ super(target, options);
86
+ }
87
+ /**
88
+ * Begins observation of the nodes.
89
+ */
90
+ observe() {
91
+ this.target.addEventListener("slotchange", this);
92
+ }
93
+ /**
94
+ * Disconnects observation of the nodes.
95
+ */
96
+ disconnect() {
97
+ this.target.removeEventListener("slotchange", this);
98
+ }
99
+ /**
100
+ * Retrieves the nodes that should be assigned to the target.
101
+ */
102
+ getNodes() {
103
+ return this.target.assignedNodes(this.options);
104
+ }
105
+ }
106
+ /**
107
+ * A directive that observes the `assignedNodes()` of a slot and updates a property
108
+ * whenever they change.
109
+ * @param propertyOrOptions - The options used to configure slotted node observation.
110
+ * @public
111
+ */
112
+ function slotted(propertyOrOptions) {
113
+ if (typeof propertyOrOptions === "string") {
114
+ propertyOrOptions = { property: propertyOrOptions };
115
+ }
116
+ return new AttachedBehaviorHTMLDirective("fast-slotted", SlottedBehavior, propertyOrOptions);
117
+ }
118
+
119
+ export { elements as e, slotted as s };
@@ -0,0 +1,50 @@
1
+ import { h as html } from './index.js';
2
+ import { r as ref } from './ref.js';
3
+
4
+ /**
5
+ * A mixin class implementing start and end elements.
6
+ * These are generally used to decorate text elements with icons or other visual indicators.
7
+ * @public
8
+ */
9
+ class StartEnd {
10
+ handleStartContentChange() {
11
+ this.startContainer.classList.toggle("start", this.start.assignedNodes().length > 0);
12
+ }
13
+ handleEndContentChange() {
14
+ this.endContainer.classList.toggle("end", this.end.assignedNodes().length > 0);
15
+ }
16
+ }
17
+ /**
18
+ * The template for the end element.
19
+ * For use with {@link StartEnd}
20
+ *
21
+ * @public
22
+ * @deprecated - use endSlotTemplate
23
+ */
24
+ html `
25
+ <span part="end" ${ref("endContainer")}>
26
+ <slot
27
+ name="end"
28
+ ${ref("end")}
29
+ @slotchange="${x => x.handleEndContentChange()}"
30
+ ></slot>
31
+ </span>
32
+ `;
33
+ /**
34
+ * The template for the start element.
35
+ * For use with {@link StartEnd}
36
+ *
37
+ * @public
38
+ * @deprecated - use startSlotTemplate
39
+ */
40
+ html `
41
+ <span part="start" ${ref("startContainer")}>
42
+ <slot
43
+ name="start"
44
+ ${ref("start")}
45
+ @slotchange="${x => x.handleStartContentChange()}"
46
+ ></slot>
47
+ </span>
48
+ `;
49
+
50
+ export { StartEnd as S };
@@ -0,0 +1,40 @@
1
+ import { f as functionUncurryThis, L as requireObjectCoercible$1 } from './export.js';
2
+ import { t as toString$1 } from './to-string.js';
3
+
4
+ // a string of all valid unicode whitespaces
5
+ var whitespaces$1 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
6
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
7
+
8
+ var uncurryThis = functionUncurryThis;
9
+ var requireObjectCoercible = requireObjectCoercible$1;
10
+ var toString = toString$1;
11
+ var whitespaces = whitespaces$1;
12
+
13
+ var replace = uncurryThis(''.replace);
14
+ var whitespace = '[' + whitespaces + ']';
15
+ var ltrim = RegExp('^' + whitespace + whitespace + '*');
16
+ var rtrim = RegExp(whitespace + whitespace + '*$');
17
+
18
+ // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
19
+ var createMethod = function (TYPE) {
20
+ return function ($this) {
21
+ var string = toString(requireObjectCoercible($this));
22
+ if (TYPE & 1) string = replace(string, ltrim, '');
23
+ if (TYPE & 2) string = replace(string, rtrim, '');
24
+ return string;
25
+ };
26
+ };
27
+
28
+ var stringTrim = {
29
+ // `String.prototype.{ trimLeft, trimStart }` methods
30
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
31
+ start: createMethod(1),
32
+ // `String.prototype.{ trimRight, trimEnd }` methods
33
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
34
+ end: createMethod(2),
35
+ // `String.prototype.trim` method
36
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
37
+ trim: createMethod(3)
38
+ };
39
+
40
+ export { stringTrim as s, whitespaces$1 as w };
@@ -0,0 +1,10 @@
1
+ import { _ as __decorate, a as attr, b as __metadata } from './index.js';
2
+ import { b as AffixIcon } from './affix.js';
3
+ import { A as Anchor } from './anchor.js';
4
+ import { a as applyMixins } from './apply-mixins.js';
5
+
6
+ class TextAnchor extends Anchor {}
7
+ __decorate([attr, __metadata("design:type", String)], TextAnchor.prototype, "text", void 0);
8
+ applyMixins(TextAnchor, AffixIcon);
9
+
10
+ export { TextAnchor as T };
@@ -0,0 +1,55 @@
1
+ import { a as affixIconTemplateFactory } from './affix.js';
2
+ import { f as focusTemplateFactory } from './focus2.js';
3
+ import { h as html } from './index.js';
4
+ import { r as ref } from './ref.js';
5
+ import { c as classNames } from './class-names.js';
6
+
7
+ let _ = t => t,
8
+ _t;
9
+ const getClasses = ({
10
+ text,
11
+ icon
12
+ }) => classNames('control', ['icon-only', !text && !!icon]);
13
+ const textAnchorTemplate = context => {
14
+ const affixIconTemplate = affixIconTemplateFactory(context);
15
+ const focusTemplate = focusTemplateFactory(context);
16
+ return html(_t || (_t = _`<a
17
+ class="${0}"
18
+ download="${0}"
19
+ href="${0}"
20
+ hreflang="${0}"
21
+ ping="${0}"
22
+ referrerpolicy="${0}"
23
+ rel="${0}"
24
+ target="${0}"
25
+ type="${0}"
26
+ aria-atomic="${0}"
27
+ aria-busy="${0}"
28
+ aria-controls="${0}"
29
+ aria-current="${0}"
30
+ aria-describedby="${0}"
31
+ aria-details="${0}"
32
+ aria-disabled="${0}"
33
+ aria-errormessage="${0}"
34
+ aria-expanded="${0}"
35
+ aria-flowto="${0}"
36
+ aria-haspopup="${0}"
37
+ aria-hidden="${0}"
38
+ aria-invalid="${0}"
39
+ aria-keyshortcuts="${0}"
40
+ aria-label="${0}"
41
+ aria-labelledby="${0}"
42
+ aria-live="${0}"
43
+ aria-owns="${0}"
44
+ aria-relevant="${0}"
45
+ aria-roledescription="${0}"
46
+ ${0}
47
+ >
48
+ ${0}
49
+ ${0}
50
+ ${0}
51
+ </a>
52
+ `), getClasses, x => x.download, x => x.href, x => x.hreflang, x => x.ping, x => x.referrerpolicy, x => x.rel, x => x.target, x => x.type, x => x.ariaAtomic, x => x.ariaBusy, x => x.ariaControls, x => x.ariaCurrent, x => x.ariaDescribedby, x => x.ariaDetails, x => x.ariaDisabled, x => x.ariaErrormessage, x => x.ariaExpanded, x => x.ariaFlowto, x => x.ariaHaspopup, x => x.ariaHidden, x => x.ariaInvalid, x => x.ariaKeyshortcuts, x => x.ariaLabel, x => x.ariaLabelledby, x => x.ariaLive, x => x.ariaOwns, x => x.ariaRelevant, x => x.ariaRoledescription, ref('control'), () => focusTemplate, x => affixIconTemplate(x.icon), x => x.text);
53
+ };
54
+
55
+ export { textAnchorTemplate as t };
@@ -0,0 +1,51 @@
1
+ import { w as wellKnownSymbol$2, c as classofRaw$1, i as isCallable$1 } from './export.js';
2
+
3
+ var wellKnownSymbol$1 = wellKnownSymbol$2;
4
+
5
+ var TO_STRING_TAG$1 = wellKnownSymbol$1('toStringTag');
6
+ var test = {};
7
+
8
+ test[TO_STRING_TAG$1] = 'z';
9
+
10
+ var toStringTagSupport = String(test) === '[object z]';
11
+
12
+ var TO_STRING_TAG_SUPPORT = toStringTagSupport;
13
+ var isCallable = isCallable$1;
14
+ var classofRaw = classofRaw$1;
15
+ var wellKnownSymbol = wellKnownSymbol$2;
16
+
17
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
18
+ var $Object = Object;
19
+
20
+ // ES3 wrong here
21
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
22
+
23
+ // fallback for IE11 Script Access Denied error
24
+ var tryGet = function (it, key) {
25
+ try {
26
+ return it[key];
27
+ } catch (error) { /* empty */ }
28
+ };
29
+
30
+ // getting tag from ES6+ `Object.prototype.toString`
31
+ var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
32
+ var O, tag, result;
33
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
34
+ // @@toStringTag case
35
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
36
+ // builtinTag case
37
+ : CORRECT_ARGUMENTS ? classofRaw(O)
38
+ // ES3 arguments fallback
39
+ : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
40
+ };
41
+
42
+ var classof = classof$1;
43
+
44
+ var $String = String;
45
+
46
+ var toString = function (argument) {
47
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
48
+ return $String(argument);
49
+ };
50
+
51
+ export { classof$1 as c, toString as t };