@salesforcedevs/docs-components 0.0.4 → 0.0.5-edit

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 (140) hide show
  1. package/lwc.config.json +25 -2
  2. package/package.json +18 -7
  3. package/src/modules/README.md +41 -0
  4. package/src/modules/doc/amfModelParser/amfModelParser.ts +674 -0
  5. package/src/modules/doc/amfReference/amfReference.css +25 -0
  6. package/src/modules/doc/amfReference/amfReference.html +60 -0
  7. package/src/modules/doc/amfReference/amfReference.ts +1494 -0
  8. package/src/modules/doc/amfReference/constants.ts +76 -0
  9. package/src/modules/doc/amfReference/types.ts +125 -0
  10. package/src/modules/doc/amfTopic/amfTopic.css +21 -0
  11. package/src/modules/doc/amfTopic/amfTopic.html +3 -0
  12. package/src/modules/doc/amfTopic/amfTopic.ts +111 -0
  13. package/src/modules/doc/amfTopic/types.ts +56 -0
  14. package/src/modules/doc/amfTopic/utils.ts +136 -0
  15. package/src/modules/doc/breadcrumbItem/breadcrumbItem.css +51 -0
  16. package/src/modules/doc/breadcrumbItem/breadcrumbItem.html +5 -0
  17. package/src/modules/doc/breadcrumbItem/breadcrumbItem.ts +71 -0
  18. package/src/modules/doc/breadcrumbs/breadcrumbs.css +27 -0
  19. package/src/modules/doc/breadcrumbs/breadcrumbs.html +58 -0
  20. package/src/modules/doc/breadcrumbs/breadcrumbs.ts +183 -0
  21. package/src/modules/doc/chat/README.md +179 -0
  22. package/src/modules/doc/chat/chat.css +821 -0
  23. package/src/modules/doc/chat/chat.html +241 -0
  24. package/src/modules/doc/chat/chat.ts +586 -0
  25. package/src/modules/doc/componentPlayground/componentPlayground.css +22 -0
  26. package/src/modules/doc/componentPlayground/componentPlayground.html +20 -0
  27. package/src/modules/doc/componentPlayground/componentPlayground.ts +29 -0
  28. package/src/modules/doc/content/content.css +382 -6
  29. package/src/modules/doc/content/content.html +3 -2
  30. package/src/modules/doc/content/content.ts +287 -110
  31. package/src/modules/doc/contentCallout/contentCallout.css +25 -26
  32. package/src/modules/doc/contentCallout/contentCallout.html +13 -4
  33. package/src/modules/doc/contentCallout/contentCallout.ts +22 -11
  34. package/src/modules/doc/contentLayout/contentLayout.css +13 -0
  35. package/src/modules/doc/contentLayout/contentLayout.html +73 -0
  36. package/src/modules/doc/contentLayout/contentLayout.ts +531 -0
  37. package/src/modules/doc/contentMedia/contentMedia.css +49 -0
  38. package/src/modules/doc/contentMedia/contentMedia.html +23 -0
  39. package/src/modules/doc/contentMedia/contentMedia.ts +34 -0
  40. package/src/modules/doc/doDont/doDont.css +47 -0
  41. package/src/modules/doc/doDont/doDont.html +27 -0
  42. package/src/modules/doc/doDont/doDont.ts +17 -0
  43. package/src/modules/doc/editFile/editFile.css +505 -0
  44. package/src/modules/doc/editFile/editFile.html +164 -0
  45. package/src/modules/doc/editFile/editFile.ts +213 -0
  46. package/src/modules/doc/header/header.css +132 -0
  47. package/src/modules/doc/header/header.html +55 -0
  48. package/src/modules/doc/header/header.ts +120 -0
  49. package/src/modules/doc/heading/heading.css +33 -0
  50. package/src/modules/doc/heading/heading.html +14 -0
  51. package/src/modules/doc/heading/heading.ts +67 -0
  52. package/src/modules/doc/headingAnchor/headingAnchor.css +33 -0
  53. package/src/modules/doc/headingAnchor/headingAnchor.html +19 -0
  54. package/src/modules/doc/headingAnchor/headingAnchor.ts +43 -0
  55. package/src/modules/doc/headingContent/headingContent.css +53 -0
  56. package/src/modules/doc/headingContent/headingContent.html +13 -0
  57. package/src/modules/doc/headingContent/headingContent.ts +30 -0
  58. package/src/modules/doc/lwcContentLayout/lwcContentLayout.css +1 -0
  59. package/src/modules/doc/lwcContentLayout/lwcContentLayout.html +68 -0
  60. package/src/modules/doc/lwcContentLayout/lwcContentLayout.ts +168 -0
  61. package/src/modules/doc/nav/nav.css +4 -2
  62. package/src/modules/doc/nav/nav.html +8 -13
  63. package/src/modules/doc/nav/nav.ts +1 -1
  64. package/src/modules/doc/overview/overview.css +40 -0
  65. package/src/modules/doc/overview/overview.html +34 -0
  66. package/src/modules/doc/overview/overview.ts +12 -0
  67. package/src/modules/doc/phase/phase.css +70 -0
  68. package/src/modules/doc/phase/phase.html +38 -0
  69. package/src/modules/doc/phase/phase.ts +93 -0
  70. package/src/modules/doc/specificationContent/specificationContent.css +36 -0
  71. package/src/modules/doc/specificationContent/specificationContent.html +171 -0
  72. package/src/modules/doc/specificationContent/specificationContent.ts +127 -0
  73. package/src/modules/doc/sprigSurvey/sprigSurvey.html +20 -0
  74. package/src/modules/doc/sprigSurvey/sprigSurvey.scoped.css +16 -0
  75. package/src/modules/doc/sprigSurvey/sprigSurvey.ts +16 -0
  76. package/src/modules/doc/toc/toc.html +11 -6
  77. package/src/modules/doc/toc/toc.ts +2 -6
  78. package/src/modules/doc/toolbar/toolbar.html +8 -1
  79. package/src/modules/doc/toolbar/toolbar.ts +1 -1
  80. package/src/modules/doc/versionPicker/versionPicker.css +64 -0
  81. package/src/modules/doc/versionPicker/versionPicker.html +38 -0
  82. package/src/modules/doc/versionPicker/versionPicker.ts +65 -0
  83. package/src/modules/doc/xmlContent/types.ts +120 -0
  84. package/src/modules/doc/xmlContent/utils.ts +163 -0
  85. package/src/modules/doc/xmlContent/xmlContent.css +54 -0
  86. package/src/modules/doc/xmlContent/xmlContent.html +52 -0
  87. package/src/modules/doc/xmlContent/xmlContent.ts +792 -0
  88. package/src/modules/docHelpers/amfStyle/amfStyle.css +355 -0
  89. package/src/modules/docHelpers/contentLayoutStyle/contentLayoutStyle.css +131 -0
  90. package/src/modules/docHelpers/imgStyle/imgStyle.css +59 -0
  91. package/src/modules/docHelpers/status/status.css +22 -0
  92. package/src/modules/docUtils/searchSyncer/searchSyncer.ts +86 -0
  93. package/src/modules/docUtils/utils/__mocks__/coveo.analytics.ts +16 -0
  94. package/src/modules/docUtils/utils/coveo.analytics.d.ts +10 -0
  95. package/src/modules/docUtils/utils/utils.ts +32 -0
  96. package/src/modules/doc/container/__benchmarks__/container.benchmark.js +0 -43
  97. package/src/modules/doc/container/__mocks__/mockAvailableLanguages.js +0 -8
  98. package/src/modules/doc/container/__mocks__/mockAvailableVersions.js +0 -122
  99. package/src/modules/doc/container/__mocks__/mockContentFetchResponse.json +0 -5
  100. package/src/modules/doc/container/__mocks__/mockDocContent.js +0 -29
  101. package/src/modules/doc/container/__mocks__/mockNavigationFetchResponse.json +0 -4061
  102. package/src/modules/doc/container/__mocks__/mockPageReference.js +0 -8
  103. package/src/modules/doc/container/__mocks__/mockPdfUrl.js +0 -1
  104. package/src/modules/doc/container/__mocks__/mockSelectedLanguage.js +0 -8
  105. package/src/modules/doc/container/__mocks__/mockSelectedVersion.js +0 -8
  106. package/src/modules/doc/container/__mocks__/mockToc.js +0 -146
  107. package/src/modules/doc/container/__tests__/container.test.ts +0 -82
  108. package/src/modules/doc/container/container.css +0 -33
  109. package/src/modules/doc/container/container.html +0 -23
  110. package/src/modules/doc/container/container.stories.ts +0 -18
  111. package/src/modules/doc/container/container.ts +0 -360
  112. package/src/modules/doc/content/__tests__/content.test.ts +0 -30
  113. package/src/modules/doc/content/__tests__/mockDocContent.ts +0 -29
  114. package/src/modules/doc/content/__tests__/mockPageReference.ts +0 -8
  115. package/src/modules/doc/contentCallout/__tests__/contentCallout.test.ts +0 -80
  116. package/src/modules/doc/contentCallout/__tests__/mockProps.ts +0 -14
  117. package/src/modules/doc/contentCallout/contentCallout.stories.ts +0 -29
  118. package/src/modules/doc/nav/__tests__/mockAvailableLanguages.ts +0 -8
  119. package/src/modules/doc/nav/__tests__/mockAvailableVersions.ts +0 -122
  120. package/src/modules/doc/nav/__tests__/mockPageReference.ts +0 -8
  121. package/src/modules/doc/nav/__tests__/mockPdfUrl.ts +0 -1
  122. package/src/modules/doc/nav/__tests__/mockSelectedLanguage.ts +0 -8
  123. package/src/modules/doc/nav/__tests__/mockSelectedVersion.ts +0 -8
  124. package/src/modules/doc/nav/__tests__/mockToc.ts +0 -146
  125. package/src/modules/doc/nav/__tests__/nav.test.ts +0 -66
  126. package/src/modules/doc/prismcss/prismcss.css +0 -184
  127. package/src/modules/doc/prismjs/prismjs.html +0 -3
  128. package/src/modules/doc/prismjs/prismjs.ts +0 -1842
  129. package/src/modules/doc/search/__tests__/search.test.ts +0 -20
  130. package/src/modules/doc/search/search.html +0 -1
  131. package/src/modules/doc/search/search.ts +0 -3
  132. package/src/modules/doc/toc/__tests__/mockPageReference.ts +0 -8
  133. package/src/modules/doc/toc/__tests__/mockToc.ts +0 -146
  134. package/src/modules/doc/toc/__tests__/toc.test.ts +0 -29
  135. package/src/modules/doc/toolbar/__tests__/mockAvailableLanguages.ts +0 -8
  136. package/src/modules/doc/toolbar/__tests__/mockAvailableVersions.ts +0 -122
  137. package/src/modules/doc/toolbar/__tests__/mockPdfUrl.ts +0 -1
  138. package/src/modules/doc/toolbar/__tests__/mockSelectedLanguage.ts +0 -8
  139. package/src/modules/doc/toolbar/__tests__/mockSelectedVersion.ts +0 -8
  140. package/src/modules/doc/toolbar/__tests__/toolbar.test.ts +0 -44
@@ -0,0 +1,241 @@
1
+ <template>
2
+ <!-- Floating trigger button - visible when chat is closed -->
3
+ <template lwc:if={showTriggerButton}>
4
+ <button
5
+ class="chat-trigger-button"
6
+ onclick={handleOpenClick}
7
+ aria-label="Open chat"
8
+ data-tooltip="Let's search!"
9
+ >
10
+ <img
11
+ class="chat-gif"
12
+ src="https://a.sfdcstatic.com/developer-website/sfdocs/hack-smart-agent/hi_bot_bg.gif"
13
+ alt="Hi Bot"
14
+ />
15
+ <!-- <span class="chat-trigger-text">Chat</span> -->
16
+ </button>
17
+ </template>
18
+
19
+ <!-- Chat sidebar -->
20
+ <div class={chatContainerClass}>
21
+ <div class="chat-header">
22
+ <h3 class="chat-title">{title}</h3>
23
+ <div class="chat-header-actions">
24
+ <button
25
+ class="chat-clear-button"
26
+ onclick={handleClearClick}
27
+ aria-label="Clear chat messages"
28
+ title="Clear chat messages"
29
+ >
30
+ <svg
31
+ class="clear-icon"
32
+ viewBox="0 0 24 24"
33
+ fill="none"
34
+ stroke="currentColor"
35
+ >
36
+ <path
37
+ stroke-linecap="round"
38
+ stroke-linejoin="round"
39
+ stroke-width="2"
40
+ d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"
41
+ />
42
+ </svg>
43
+ </button>
44
+ <button
45
+ class="chat-close-button"
46
+ onclick={handleCloseClick}
47
+ aria-label="Close chat"
48
+ >
49
+ <svg
50
+ class="close-icon"
51
+ viewBox="0 0 24 24"
52
+ fill="none"
53
+ stroke="currentColor"
54
+ >
55
+ <path
56
+ stroke-linecap="round"
57
+ stroke-linejoin="round"
58
+ stroke-width="2"
59
+ d="M6 18L18 6M6 6l12 12"
60
+ />
61
+ </svg>
62
+ </button>
63
+ </div>
64
+ </div>
65
+
66
+ <div class="chat-messages">
67
+ <template for:each={messagesWithTyping} for:item="message">
68
+ <div
69
+ key={message.id}
70
+ class="message-wrapper"
71
+ data-sender={message.sender}
72
+ >
73
+ <!-- AI Avatar for assistant messages only -->
74
+ <div
75
+ class="message-avatar-wrapper"
76
+ data-sender={message.sender}
77
+ >
78
+ <div class="avatar-container">
79
+ <svg
80
+ class="avatar-icon"
81
+ viewBox="0 0 300 320"
82
+ fill="none"
83
+ stroke="none"
84
+ >
85
+ <!-- Antennas -->
86
+ <g stroke="#999" stroke-width="6">
87
+ <line x1="70" y1="20" x2="70" y2="60" />
88
+ <line x1="230" y1="20" x2="230" y2="60" />
89
+ </g>
90
+ <circle cx="70" cy="20" r="10" fill="#3A98D8" />
91
+ <circle
92
+ cx="230"
93
+ cy="20"
94
+ r="10"
95
+ fill="#3A98D8"
96
+ />
97
+
98
+ <!-- Robot Body -->
99
+ <g class="thinking-body">
100
+ <rect
101
+ x="40"
102
+ y="60"
103
+ width="220"
104
+ height="240"
105
+ rx="110"
106
+ ry="110"
107
+ fill="#3A98D8"
108
+ />
109
+
110
+ <!-- Forehead Dots -->
111
+ <circle
112
+ cx="150"
113
+ cy="90"
114
+ r="6"
115
+ fill="#9ED4E6"
116
+ />
117
+ <rect
118
+ x="135"
119
+ y="100"
120
+ width="30"
121
+ height="10"
122
+ rx="5"
123
+ ry="5"
124
+ fill="#9ED4E6"
125
+ />
126
+
127
+ <!-- Face Panel -->
128
+ <rect
129
+ x="70"
130
+ y="130"
131
+ width="160"
132
+ height="80"
133
+ rx="40"
134
+ ry="40"
135
+ fill="#577C86"
136
+ />
137
+
138
+ <!-- Eyes (Thinking animation) -->
139
+ <circle
140
+ class="thinking-eye"
141
+ cx="115"
142
+ cy="170"
143
+ r="10"
144
+ fill="#86D3BD"
145
+ />
146
+ <circle
147
+ class="thinking-eye"
148
+ cx="185"
149
+ cy="170"
150
+ r="10"
151
+ fill="#86D3BD"
152
+ />
153
+
154
+ <!-- Thinking Smile -->
155
+ <path
156
+ class="thinking-smile"
157
+ d="M110 240 Q150 260 190 240"
158
+ stroke="#2F435A"
159
+ stroke-width="6"
160
+ fill="none"
161
+ stroke-linecap="round"
162
+ />
163
+ </g>
164
+ </svg>
165
+ </div>
166
+ </div>
167
+
168
+ <div class="message-content">
169
+ <div class="message-bubble">
170
+ <template lwc:if={message.isTyping}>
171
+ <div class="typing-indicator">
172
+ <span class="typing-dot"></span>
173
+ <span class="typing-dot"></span>
174
+ <span class="typing-dot"></span>
175
+ </div>
176
+ </template>
177
+ <template lwc:else>
178
+ <template lwc:if={message.isHTML}>
179
+ <div
180
+ class="message-text html-content"
181
+ lwc:dom="manual"
182
+ data-message-id={message.id}
183
+ ></div>
184
+ </template>
185
+ <template lwc:else>
186
+ <p class="message-text">{message.text}</p>
187
+ </template>
188
+ </template>
189
+ </div>
190
+ <template lwc:if={showTimestamp}>
191
+ <div class="message-timestamp">
192
+ <template lwc:if={message.sender}>
193
+ <span class="message-sender">
194
+ {message.sender}
195
+ </span>
196
+ </template>
197
+ <span class="message-time">
198
+ {message.formattedTime}
199
+ </span>
200
+ </div>
201
+ </template>
202
+ </div>
203
+ </div>
204
+ </template>
205
+ </div>
206
+
207
+ <div class="chat-input-area">
208
+ <div class="chat-input-container">
209
+ <input
210
+ type="text"
211
+ class="chat-input"
212
+ placeholder={placeholder}
213
+ value={currentMessage}
214
+ oninput={handleInputChange}
215
+ onkeydown={handleKeyDown}
216
+ disabled={disabled}
217
+ />
218
+ <button
219
+ class="chat-send-button"
220
+ onclick={handleSendClick}
221
+ disabled={sendButtonDisabled}
222
+ aria-label="Send message"
223
+ >
224
+ <svg
225
+ class="send-icon"
226
+ viewBox="0 0 24 24"
227
+ fill="none"
228
+ stroke="currentColor"
229
+ >
230
+ <path
231
+ stroke-linecap="round"
232
+ stroke-linejoin="round"
233
+ stroke-width="2"
234
+ d="M12 19l9 2-9-18-9 18 9-2zm0 0v-8"
235
+ />
236
+ </svg>
237
+ </button>
238
+ </div>
239
+ </div>
240
+ </div>
241
+ </template>