@demos-europe/demosplan-ui 0.0.1

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 (133) hide show
  1. package/LICENSE +21 -0
  2. package/buildTokens.js +59 -0
  3. package/components/DpButton/DpButton.stories.mdx +136 -0
  4. package/components/DpButton/DpButton.vue +118 -0
  5. package/components/DpDetails/DpDetails.stories.mdx +55 -0
  6. package/components/DpDetails/DpDetails.vue +58 -0
  7. package/components/DpIcon/DpIcon.stories.mdx +396 -0
  8. package/components/DpIcon/DpIcon.vue +51 -0
  9. package/components/DpIcon/util/iconVariables.js +148 -0
  10. package/components/DpInput/DpInput.stories.mdx +127 -0
  11. package/components/DpInput/DpInput.vue +284 -0
  12. package/components/DpLabel/DpLabel.stories.mdx +103 -0
  13. package/components/DpLabel/DpLabel.vue +112 -0
  14. package/components/DpLoading/DpLoading.stories.mdx +63 -0
  15. package/components/DpLoading/DpLoading.vue +63 -0
  16. package/components/core/DpAccordion.vue +108 -0
  17. package/components/core/DpAnonymizeText.vue +136 -0
  18. package/components/core/DpAutocomplete.vue +133 -0
  19. package/components/core/DpBulkEditHeader.vue +53 -0
  20. package/components/core/DpButtonIcon.vue +47 -0
  21. package/components/core/DpButtonRow.vue +155 -0
  22. package/components/core/DpCard.vue +54 -0
  23. package/components/core/DpChangeStateAtDate.vue +223 -0
  24. package/components/core/DpCheckboxGroup.vue +93 -0
  25. package/components/core/DpContextualHelp.vue +54 -0
  26. package/components/core/DpCopyPasteButton.vue +47 -0
  27. package/components/core/DpDashboardTaskCard.vue +123 -0
  28. package/components/core/DpDataTable/DataTableSearch.js +44 -0
  29. package/components/core/DpDataTable/DpColumnSelector.vue +133 -0
  30. package/components/core/DpDataTable/DpDataTable.vue +647 -0
  31. package/components/core/DpDataTable/DpDataTableExtended.vue +377 -0
  32. package/components/core/DpDataTable/DpResizeHandle.vue +37 -0
  33. package/components/core/DpDataTable/DpSelectPageItemCount.vue +70 -0
  34. package/components/core/DpDataTable/DpTableHeader.vue +197 -0
  35. package/components/core/DpDataTable/DpTableRow.vue +355 -0
  36. package/components/core/DpDataTable/DpWrapTrigger.vue +48 -0
  37. package/components/core/DpDataTable/lib/ResizableColumns.js +83 -0
  38. package/components/core/DpEditableList.vue +161 -0
  39. package/components/core/DpEditor/DpBoilerPlate.vue +140 -0
  40. package/components/core/DpEditor/DpBoilerPlateModal.vue +166 -0
  41. package/components/core/DpEditor/DpEditor.vue +1281 -0
  42. package/components/core/DpEditor/DpLinkModal.vue +117 -0
  43. package/components/core/DpEditor/DpRecommendationModal/DpInsertableRecommendation.vue +137 -0
  44. package/components/core/DpEditor/DpRecommendationModal.vue +283 -0
  45. package/components/core/DpEditor/DpResizableImage.vue +121 -0
  46. package/components/core/DpEditor/DpUploadModal.vue +121 -0
  47. package/components/core/DpEditor/libs/Decoration.js +66 -0
  48. package/components/core/DpEditor/libs/SegmentRangeChangePlugin.js +35 -0
  49. package/components/core/DpEditor/libs/editorAnonymize.js +66 -0
  50. package/components/core/DpEditor/libs/editorBuildSuggestion.js +269 -0
  51. package/components/core/DpEditor/libs/editorCustomDelete.js +32 -0
  52. package/components/core/DpEditor/libs/editorCustomImage.js +100 -0
  53. package/components/core/DpEditor/libs/editorCustomInsert.js +32 -0
  54. package/components/core/DpEditor/libs/editorCustomLink.js +46 -0
  55. package/components/core/DpEditor/libs/editorCustomMark.js +32 -0
  56. package/components/core/DpEditor/libs/editorInsertAtCursorPos.js +41 -0
  57. package/components/core/DpEditor/libs/editorObscure.js +60 -0
  58. package/components/core/DpEditor/libs/editorUnAnonymize.js +56 -0
  59. package/components/core/DpEditor/libs/handleWordPaste.js +360 -0
  60. package/components/core/DpEditor/libs/preventDrop.js +31 -0
  61. package/components/core/DpEditor/libs/preventKeyboardInput.js +27 -0
  62. package/components/core/DpEditor/libs/preventPaste.js +28 -0
  63. package/components/core/DpFlyout.vue +119 -0
  64. package/components/core/DpInlineNotification.vue +116 -0
  65. package/components/core/DpModal.vue +208 -0
  66. package/components/core/DpObscure.vue +29 -0
  67. package/components/core/DpPager.vue +139 -0
  68. package/components/core/DpProgressBar.vue +67 -0
  69. package/components/core/DpRegisterFlyout.vue +58 -0
  70. package/components/core/DpResettableInput.vue +140 -0
  71. package/components/core/DpSkeletonBox.vue +32 -0
  72. package/components/core/DpSlidebar.vue +86 -0
  73. package/components/core/DpSlidingPagination.vue +45 -0
  74. package/components/core/DpSplitButton.vue +77 -0
  75. package/components/core/DpSwitcher.vue +62 -0
  76. package/components/core/DpTableCardList/DpTableCard.vue +61 -0
  77. package/components/core/DpTableCardList/DpTableCardListHeader.vue +83 -0
  78. package/components/core/DpTabs/DpTab.vue +52 -0
  79. package/components/core/DpTabs/DpTabs.vue +165 -0
  80. package/components/core/DpTextWrapper.vue +65 -0
  81. package/components/core/DpToggleForm.vue +72 -0
  82. package/components/core/DpTooltipIcon.vue +52 -0
  83. package/components/core/DpTransitionExpand.vue +87 -0
  84. package/components/core/DpTreeList/DpTreeList.vue +334 -0
  85. package/components/core/DpTreeList/DpTreeListCheckbox.vue +79 -0
  86. package/components/core/DpTreeList/DpTreeListNode.vue +348 -0
  87. package/components/core/DpTreeList/DpTreeListToggle.vue +71 -0
  88. package/components/core/DpTreeList/utils/constants.js +14 -0
  89. package/components/core/DpUpload/DpUpload.vue +223 -0
  90. package/components/core/DpUpload/DpUploadFiles.vue +269 -0
  91. package/components/core/DpUpload/DpUploadedFile.vue +80 -0
  92. package/components/core/DpUpload/DpUploadedFileList.vue +56 -0
  93. package/components/core/DpUpload/utils/GetFileIdsByHash.js +42 -0
  94. package/components/core/DpUpload/utils/UppyTranslations.js +31 -0
  95. package/components/core/DpVideoPlayer.vue +115 -0
  96. package/components/core/HeightLimit.vue +121 -0
  97. package/components/core/MultistepNav.vue +89 -0
  98. package/components/core/form/DpCheckbox.vue +108 -0
  99. package/components/core/form/DpDateRangePicker.vue +186 -0
  100. package/components/core/form/DpDatepicker.vue +160 -0
  101. package/components/core/form/DpDatetimePicker.vue +194 -0
  102. package/components/core/form/DpFormRow.vue +79 -0
  103. package/components/core/form/DpMultiselect.vue +164 -0
  104. package/components/core/form/DpRadio.vue +128 -0
  105. package/components/core/form/DpSearchField.vue +110 -0
  106. package/components/core/form/DpSelect.vue +149 -0
  107. package/components/core/form/DpTextArea.vue +152 -0
  108. package/components/core/form/DpTimePicker.vue +374 -0
  109. package/components/core/form/DpToggle.vue +78 -0
  110. package/components/core/index.js +132 -0
  111. package/components/core/notify/DpNotifyContainer.vue +122 -0
  112. package/components/core/notify/DpNotifyMessage.vue +95 -0
  113. package/components/core/shared/DpStickyElement.vue +95 -0
  114. package/components/index.js +24 -0
  115. package/components/shared/translations.js +15 -0
  116. package/directives/CleanHtml/CleanHtml.js +50 -0
  117. package/directives/CleanHtml/CleanHtml.stories.mdx +64 -0
  118. package/directives/Tooltip/Tooltip.js +40 -0
  119. package/directives/Tooltip/Tooltip.stories.mdx +42 -0
  120. package/directives/index.js +17 -0
  121. package/lib/index.js +14 -0
  122. package/lib/prefixClass.js +47 -0
  123. package/mixins/index.js +14 -0
  124. package/mixins/prefixClassMixin.js +22 -0
  125. package/package.json +52 -0
  126. package/shared/props.js +86 -0
  127. package/style/index.css +7 -0
  128. package/tailwind.config.js +24 -0
  129. package/tokens/color.json +358 -0
  130. package/tokens/color.stories.mdx +45 -0
  131. package/tokens/fontSize.json +100 -0
  132. package/tokens/space.json +33 -0
  133. package/utils/lengthHint.js +69 -0
@@ -0,0 +1,396 @@
1
+ import { Canvas, Meta, Story } from '@storybook/addon-docs'
2
+
3
+ import DpIcon from './DpIcon'
4
+
5
+ import { ICONS } from './util/iconVariables'
6
+
7
+ <Meta
8
+ argTypes={{
9
+ icon: {
10
+ options: Object.keys(ICONS),
11
+ control: { type: 'select' }
12
+ },
13
+ size: {
14
+ options: [
15
+ 'small',
16
+ 'medium',
17
+ 'large'
18
+ ],
19
+ control: { type: 'select' }
20
+ }
21
+ }}
22
+ title="Components/Icon"
23
+ component={DpIcon} />
24
+
25
+ # Icon
26
+
27
+ The `DpIcon` component renders svg icons - mostly from fontawesome v5.
28
+
29
+ export const Template = (args, { argTypes }) => ({
30
+ props: Object.keys(argTypes),
31
+ components: { DpIcon },
32
+ template: `<dp-icon v-bind="this.$props" />`
33
+ });
34
+
35
+ ## Icon Sizes
36
+
37
+ ### Large
38
+ <Canvas>
39
+ <Story
40
+ name="Large"
41
+ args={{
42
+ icon: 'history',
43
+ size: 'large'
44
+ }}>
45
+ {Template.bind({})}
46
+ </Story>
47
+ </Canvas>
48
+
49
+ ### Medium
50
+ <Canvas>
51
+ <Story
52
+ name="Medium"
53
+ args={{
54
+ icon: 'history',
55
+ size: 'medium'
56
+ }}>
57
+ {Template.bind({})}
58
+ </Story>
59
+ </Canvas>
60
+
61
+ ### Small
62
+ <Canvas>
63
+ <Story
64
+ name="Small"
65
+ args={{
66
+ icon: 'history',
67
+ size: 'small'
68
+ }}>
69
+ {Template.bind({})}
70
+ </Story>
71
+ </Canvas>
72
+
73
+ ## Available Icons
74
+
75
+ ### Arrow left
76
+ <Canvas>
77
+ <Story
78
+ name="Arrow left"
79
+ args={{
80
+ icon: 'arrow-left'
81
+ }}>
82
+ {Template.bind({})}
83
+ </Story>
84
+ </Canvas>
85
+
86
+ ### Arrow right
87
+ <Canvas>
88
+ <Story
89
+ name="Arrow right"
90
+ args={{
91
+ icon: 'arrow-right'
92
+ }}>
93
+ {Template.bind({})}
94
+ </Story>
95
+ </Canvas>
96
+
97
+ ### Check
98
+ Use to indicate success state within table rows.
99
+ <Canvas>
100
+ <Story
101
+ name="Check"
102
+ args={{
103
+ icon: 'check'
104
+ }}>
105
+ {Template.bind({})}
106
+ </Story>
107
+ </Canvas>
108
+
109
+ ### Chevron Down
110
+ Use as expand trigger for revealing patterns like collapsed table row or accordion.
111
+ <Canvas>
112
+ <Story
113
+ name="Chevron Down"
114
+ args={{
115
+ icon: 'chevron-down'
116
+ }}>
117
+ {Template.bind({})}
118
+ </Story>
119
+ </Canvas>
120
+
121
+ ### Chevron Up
122
+ Use as collapse trigger for revealing patterns like collapsed table row or accordion.
123
+ <Canvas>
124
+ <Story
125
+ name="Chevron Up"
126
+ args={{
127
+ icon: 'chevron-up'
128
+ }}>
129
+ {Template.bind({})}
130
+ </Story>
131
+ </Canvas>
132
+
133
+ ### Clock
134
+ Use to illustrate time based actions.
135
+ <Canvas>
136
+ <Story
137
+ name="Clock"
138
+ args={{
139
+ icon: 'clock'
140
+ }}>
141
+ {Template.bind({})}
142
+ </Story>
143
+ </Canvas>
144
+
145
+ ### Close
146
+
147
+ In overlay elements, it can be used to illustrate the "Close" trigger.
148
+
149
+ Alias of: [`xmark`](#xmark)
150
+
151
+ <Canvas>
152
+ <Story
153
+ name="Close"
154
+ args={{
155
+ icon: 'close'
156
+ }}>
157
+ {Template.bind({})}
158
+ </Story>
159
+ </Canvas>
160
+
161
+ ### Compress
162
+ Use as trigger for leaving fullscreen mode along with [`expand`](#expand)
163
+ <Canvas>
164
+ <Story
165
+ name="Compress"
166
+ args={{
167
+ icon: 'compress'
168
+ }}>
169
+ {Template.bind({})}
170
+ </Story>
171
+ </Canvas>
172
+
173
+ ### Delete
174
+ The infamous trash can is used to indicate destructive actions.
175
+ <Canvas>
176
+ <Story
177
+ name="Delete"
178
+ args={{
179
+ icon: 'delete'
180
+ }}>
181
+ {Template.bind({})}
182
+ </Story>
183
+ </Canvas>
184
+
185
+ ### Download
186
+ Use to emphasize downloadable resources.
187
+ <Canvas>
188
+ <Story
189
+ name="Download"
190
+ args={{
191
+ icon: 'download'
192
+ }}>
193
+ {Template.bind({})}
194
+ </Story>
195
+ </Canvas>
196
+
197
+ ### Drag Handle
198
+ <Canvas>
199
+ <Story
200
+ name="Drag Handle"
201
+ args={{
202
+ icon: 'drag-handle'
203
+ }}>
204
+ {Template.bind({})}
205
+ </Story>
206
+ </Canvas>
207
+
208
+ ### Expand
209
+ Use as trigger for entering fullscreen mode along with [`compress`](#compress)
210
+ <Canvas>
211
+ <Story
212
+ name="Expand"
213
+ args={{
214
+ icon: 'expand'
215
+ }}>
216
+ {Template.bind({})}
217
+ </Story>
218
+ </Canvas>
219
+
220
+ ### Highlighter
221
+ <Canvas>
222
+ <Story
223
+ name="Highlighter"
224
+ args={{
225
+ icon: 'highlighter'
226
+ }}>
227
+ {Template.bind({})}
228
+ </Story>
229
+ </Canvas>
230
+
231
+ ### History
232
+ Use to illustrate version history.
233
+ <Canvas>
234
+ <Story
235
+ name="History"
236
+ args={{
237
+ icon: 'history'
238
+ }}>
239
+ {Template.bind({})}
240
+ </Story>
241
+ </Canvas>
242
+
243
+ ### Hourglass
244
+ Use to illustrate indeterminate delay.
245
+ <Canvas>
246
+ <Story
247
+ name="Hourglass"
248
+ args={{
249
+ icon: 'hourglass'
250
+ }}>
251
+ {Template.bind({})}
252
+ </Story>
253
+ </Canvas>
254
+
255
+ ### Info
256
+ Use to illustrate info notifications.
257
+ <Canvas>
258
+ <Story
259
+ name="Info"
260
+ args={{
261
+ icon: 'info'
262
+ }}>
263
+ {Template.bind({})}
264
+ </Story>
265
+ </Canvas>
266
+
267
+ ### Lock
268
+ Use to illustrate that an item is edited by someone else.
269
+ <Canvas>
270
+ <Story
271
+ name="Lock"
272
+ args={{
273
+ icon: 'lock'
274
+ }}>
275
+ {Template.bind({})}
276
+ </Story>
277
+ </Canvas>
278
+
279
+ ### Mail
280
+ <Canvas>
281
+ <Story
282
+ name="Mail"
283
+ args={{
284
+ icon: 'mail'
285
+ }}>
286
+ {Template.bind({})}
287
+ </Story>
288
+ </Canvas>
289
+
290
+ ### Refresh
291
+ <Canvas>
292
+ <Story
293
+ name="Refresh"
294
+ args={{
295
+ icon: 'refresh'
296
+ }}>
297
+ {Template.bind({})}
298
+ </Story>
299
+ </Canvas>
300
+
301
+ ### Search
302
+ <Canvas>
303
+ <Story
304
+ name="Search"
305
+ args={{
306
+ icon: 'search'
307
+ }}>
308
+ {Template.bind({})}
309
+ </Story>
310
+ </Canvas>
311
+
312
+ ### Settings
313
+ <Canvas>
314
+ <Story
315
+ name="Settings"
316
+ args={{
317
+ icon: 'settings'
318
+ }}>
319
+ {Template.bind({})}
320
+ </Story>
321
+ </Canvas>
322
+
323
+ ### Success
324
+ Use to illustrate success notifications.
325
+ <Canvas>
326
+ <Story
327
+ name="Success"
328
+ args={{
329
+ icon: 'success'
330
+ }}>
331
+ {Template.bind({})}
332
+ </Story>
333
+ </Canvas>
334
+
335
+ ### Tag
336
+ <Canvas>
337
+ <Story
338
+ name="Tag"
339
+ args={{
340
+ icon: 'tag'
341
+ }}>
342
+ {Template.bind({})}
343
+ </Story>
344
+ </Canvas>
345
+
346
+ ### Unlock
347
+ Use to illustrate that an item is not being edited by someone else.
348
+ <Canvas>
349
+ <Story
350
+ name="Unlock"
351
+ args={{
352
+ icon: 'unlock'
353
+ }}>
354
+ {Template.bind({})}
355
+ </Story>
356
+ </Canvas>
357
+
358
+ ### User
359
+ <Canvas>
360
+ <Story
361
+ name="User"
362
+ args={{
363
+ icon: 'user'
364
+ }}>
365
+ {Template.bind({})}
366
+ </Story>
367
+ </Canvas>
368
+
369
+ ### User (solid)
370
+ <Canvas>
371
+ <Story
372
+ name="User (solid)"
373
+ args={{
374
+ icon: 'userSolid'
375
+ }}>
376
+ {Template.bind({})}
377
+ </Story>
378
+ </Canvas>
379
+
380
+
381
+ ### Xmark
382
+
383
+ Use for these cases:
384
+
385
+ * In tables, it can indicate success vs. error in columns with limited space in tandem with the "check" icon
386
+ * In form fields, it can be the trigger to clear the field
387
+
388
+ <Canvas>
389
+ <Story
390
+ name="Xmark"
391
+ args={{
392
+ icon: 'xmark'
393
+ }}>
394
+ {Template.bind({})}
395
+ </Story>
396
+ </Canvas>
@@ -0,0 +1,51 @@
1
+ <license>
2
+ (c) 2010-present DEMOS E-Partizipation GmbH.
3
+
4
+ This file is part of the package @demos-europe/demosplan-ui,
5
+ for more information see the license file.
6
+
7
+ All rights reserved
8
+ </license>
9
+
10
+ <template>
11
+ <svg
12
+ class="c-icon"
13
+ :height="pxSize"
14
+ :width="pxSize"
15
+ viewBox="0 0 16 16"
16
+ xmlns="http://www.w3.org/2000/svg">
17
+ <path :d="path" />
18
+ </svg>
19
+ </template>
20
+
21
+ <script>
22
+ import { ICONS, SIZES } from './util/iconVariables'
23
+
24
+ export default {
25
+ name: 'DpIcon',
26
+
27
+ props: {
28
+ icon: {
29
+ type: String,
30
+ required: true
31
+ },
32
+
33
+ size: {
34
+ type: String,
35
+ required: false,
36
+ default: 'medium',
37
+ validator: (prop) => Object.keys(SIZES).includes(prop)
38
+ }
39
+ },
40
+
41
+ computed: {
42
+ pxSize () {
43
+ return SIZES[this.size]
44
+ },
45
+
46
+ path () {
47
+ return ICONS[this.icon].path
48
+ }
49
+ }
50
+ }
51
+ </script>
@@ -0,0 +1,148 @@
1
+ /**
2
+ * (c) 2010-present DEMOS E-Partizipation GmbH.
3
+ *
4
+ * This file is part of the package @demos-europe/demosplan-ui,
5
+ * for more information see the license file.
6
+ *
7
+ * All rights reserved
8
+ */
9
+
10
+ /* eslint-disable quote-props */
11
+
12
+ /**
13
+ * Copy the paths of the given icons into their aliases,
14
+ * and return an object that is sorted by the icon keys.
15
+ *
16
+ * @param {Object} icons The actual icons with their paths
17
+ * @param {Object} iconAliases Icon aliases that should render the same paths
18
+ * @return {{}}
19
+ */
20
+ const mergeIconAliases = function (icons, iconAliases) {
21
+ const aliasedIcons = {}
22
+ const sortedIcons = {}
23
+ const iconKeys = []
24
+ let unsortedIcons = {}
25
+
26
+ Object.keys(iconAliases).forEach((icon) => {
27
+ aliasedIcons[icon] = icons[iconAliases[icon]]
28
+ })
29
+
30
+ unsortedIcons = { ...icons, ...aliasedIcons }
31
+
32
+ for (const icon in unsortedIcons) {
33
+ if (Object.prototype.hasOwnProperty.call(unsortedIcons, icon)) {
34
+ iconKeys.push(icon)
35
+ }
36
+ }
37
+
38
+ iconKeys.sort()
39
+
40
+ for (const key of iconKeys) {
41
+ sortedIcons[key] = unsortedIcons[key]
42
+ }
43
+
44
+ return sortedIcons
45
+ }
46
+
47
+ /*
48
+ * Icons are manually extracted from https://fontawesome.com/v6/search,
49
+ * resized to fit into a 16 x 16 square and run through https://jakearchibald.github.io/svgomg/
50
+ * while checking maximum compression without visible loss of quality.
51
+ */
52
+ const baseIcons = {
53
+ 'arrow-left': {
54
+ path: 'm8.21 15.69.7-.7a.43.43 0 0 0 0-.61L3.39 8.84h12.2c.23 0 .42-.2.42-.43v-1c0-.24-.2-.43-.43-.43H3.37l5.55-5.54a.43.43 0 0 0 0-.6l-.7-.71a.43.43 0 0 0-.62 0L.13 7.6a.43.43 0 0 0 0 .61L7.6 15.7c.17.17.44.17.61 0Z'
55
+ },
56
+ 'arrow-right': {
57
+ path: 'm7.79.13-.7.7a.43.43 0 0 0 0 .6l5.53 5.55H.42c-.23 0-.42.2-.42.43v1c0 .23.2.43.43.43h12.2l-5.55 5.54a.43.43 0 0 0 0 .6l.7.71c.18.17.45.17.62 0l7.47-7.48a.43.43 0 0 0 0-.6L8.4.12a.43.43 0 0 0-.61 0Z'
58
+ },
59
+ check: {
60
+ path: 'M15.67 2.34c.44.44.44 1.16 0 1.61l-9.15 9.14c-.44.45-1.17.45-1.61 0L.33 8.52a1.14 1.14 0 1 1 1.62-1.61l3.73 3.76 8.37-8.33a1.14 1.14 0 0 1 1.62 0Z'
61
+ },
62
+ 'chevron-down': {
63
+ path: 'm15.87 4.27-.71-.72a.43.43 0 0 0-.62 0L8 10.08 1.46 3.55a.43.43 0 0 0-.62 0l-.71.72a.43.43 0 0 0 0 .61l7.56 7.57c.17.17.45.17.62 0l7.56-7.57a.43.43 0 0 0 0-.61Z'
64
+ },
65
+ 'chevron-up': {
66
+ path: 'm.13 11.73.71.72c.17.17.45.17.62 0L8 5.92l6.54 6.53c.17.17.45.17.62 0l.71-.72a.43.43 0 0 0 0-.61L8.31 3.55a.43.43 0 0 0-.62 0L.13 11.12a.43.43 0 0 0 0 .61Z'
67
+ },
68
+ clock: {
69
+ path: 'm8.75 7.77 1.85 2.81a.7.7 0 0 1-.18 1.02.72.72 0 0 1-1.04-.18l-2-3A.75.75 0 0 1 7.25 8V3.75a.75.75 0 1 1 1.5 0v4.02ZM16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'
70
+ },
71
+ compress: {
72
+ path: 'M4.857 10.286h-4a.856.856 0 1 0 0 1.714H4v3.143c0 .475.382.857.857.857a.855.855 0 0 0 .857-.857v-4a.855.855 0 0 0-.857-.857Zm6.286-4.572h4a.857.857 0 0 0 0-1.714H12V.857a.856.856 0 1 0-1.714 0v4c0 .475.382.857.857.857ZM4.857 0A.856.856 0 0 0 4 .857V4H.857a.856.856 0 1 0 0 1.714h4a.855.855 0 0 0 .857-.857v-4A.856.856 0 0 0 4.857 0Zm10.286 10.286h-4a.855.855 0 0 0-.857.857v4a.857.857 0 0 0 1.714 0V12h3.143a.857.857 0 0 0 0-1.714Z'
73
+ },
74
+ delete: {
75
+ path: 'M6 12.5a.5.5 0 0 1-.5.5.5.5 0 0 1-.5-.5V6c0-.28.22-.5.5-.5s.5.22.5.5v6.5Zm2.5 0a.5.5 0 0 1-.5.5.5.5 0 0 1-.5-.5V6c0-.28.22-.5.5-.5s.5.22.5.5v6.5Zm2.5 0a.5.5 0 0 1-.5.5.5.5 0 0 1-.5-.5V6c0-.28.22-.5.5-.5s.5.22.5.5v6.5ZM10.92.78l1.15 1.72h2.18a.75.75 0 1 1 0 1.5H14v9.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5V4h-.25a.75.75 0 1 1 0-1.5h2.18L5.08.78C5.4.29 5.95 0 6.53 0h2.94c.58 0 1.13.3 1.45.78ZM5.73 2.5h4.54l-.6-.89a.25.25 0 0 0-.2-.11H6.53c-.08 0-.18.04-.2.11l-.6.89Zm-2.23 11a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V4h-9v9.5Z'
76
+ },
77
+ download: {
78
+ path: 'M14 9.5h-1.67l-1.5 1.5H14c.28 0 .5.22.5.5V14a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5v-2.5c0-.28.22-.5.5-.5h3.17l-1.5-1.5H2a2 2 0 0 0-2 2V14c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2v-2.5a2 2 0 0 0-2-2Zm-.5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0ZM7.47 11.5c.15.18.34.25.53.25.2 0 .38-.07.53-.22l4.25-4.25a.75.75 0 1 0-1.06-1.06L8.75 9.19V.75a.75.75 0 1 0-1.5 0v8.44l-3-2.97A.75.75 0 1 0 3.2 7.28l4.28 4.22Z'
79
+ },
80
+ 'drag-handle': {
81
+ path: 'M5.69 0H3.38c-.64 0-1.16.51-1.16 1.14v2.29c0 .63.52 1.14 1.16 1.14h2.3c.65 0 1.16-.51 1.16-1.14V1.14C6.84.51 6.33 0 5.7 0Zm0 5.71H3.38c-.64 0-1.16.52-1.16 1.15v2.28c0 .63.52 1.15 1.16 1.15h2.3c.65 0 1.16-.52 1.16-1.15V6.86c0-.63-.51-1.15-1.15-1.15Zm0 5.72H3.38c-.64 0-1.16.51-1.16 1.14v2.29c0 .63.52 1.14 1.16 1.14h2.3c.65 0 1.16-.51 1.16-1.14v-2.29c0-.63-.51-1.14-1.15-1.14ZM12.62 0h-2.3c-.65 0-1.16.51-1.16 1.14v2.29c0 .63.51 1.14 1.15 1.14h2.31c.64 0 1.16-.51 1.16-1.14V1.14c0-.63-.52-1.14-1.16-1.14Zm0 5.71h-2.3c-.65 0-1.16.52-1.16 1.15v2.28c0 .63.51 1.15 1.15 1.15h2.31c.64 0 1.16-.52 1.16-1.15V6.86c0-.63-.52-1.15-1.16-1.15Zm0 5.72h-2.3c-.65 0-1.16.51-1.16 1.14v2.29c0 .63.51 1.14 1.15 1.14h2.31c.64 0 1.16-.51 1.16-1.14v-2.29c0-.63-.52-1.14-1.16-1.14Z'
82
+ },
83
+ expand: {
84
+ path: 'M4.857 0h-4A.857.857 0 0 0 0 .857v4a.856.856 0 1 0 1.714 0V1.714h3.143a.856.856 0 1 0 0-1.714Zm10.286 0h-4a.856.856 0 1 0 0 1.714h3.143v3.143c0 .475.382.857.857.857A.855.855 0 0 0 16 4.857v-4A.856.856 0 0 0 15.143 0ZM4.857 14.286H1.714v-3.143a.856.856 0 1 0-1.714 0v4c0 .475.384.857.857.857h4a.855.855 0 0 0 .857-.857.855.855 0 0 0-.857-.857Zm10.286-4a.857.857 0 0 0-.857.857v3.143h-3.143a.857.857 0 1 0 0 1.714h4a.857.857 0 0 0 .857-.857v-4a.855.855 0 0 0-.857-.857Z'
85
+ },
86
+ file: {
87
+ path: 'M2 2c0-1.1.9-2 2-2h5.17a2 2 0 0 1 1.41.59l2.84 2.83a2 2 0 0 1 .58 1.4V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2Zm10.5 12V5H10a1 1 0 0 1-1-1V1.5H4a.5.5 0 0 0-.5.5v12c0 .28.22.5.5.5h8a.5.5 0 0 0 .5-.5Z'
88
+ },
89
+ highlighter: {
90
+ path: 'm0 14.12 2.94.94L3.98 14l-1.97-1.97L0 14.12ZM15.53 2.33 13.67.47a1.6 1.6 0 0 0-2.2-.07l-7.8 6.66a1.08 1.08 0 0 0-.32 1.12l.39 1.26-1 1a.7.7 0 0 0 0 1l1.83 1.83a.7.7 0 0 0 1 0l1-1 1.25.39a1.07 1.07 0 0 0 1.12-.32l6.66-7.8a1.6 1.6 0 0 0-.07-2.2Zm-7.5 8.91-1.86-.57-1.1 1.1-.83-.83 1.1-1.1-.57-1.86 1.12-.96 3.1 3.1-.97 1.12Zm6.5-7.62L9.6 9.4l-3-3 5.79-4.94a.2.2 0 0 1 .13-.05c.04 0 .1.01.14.06l1.86 1.86c.07.08.08.2 0 .3Z'
91
+ },
92
+ history: {
93
+ path: 'M8 0a8 8 0 1 1-4.42 14.67.78.78 0 0 1-.23-1.04.79.79 0 0 1 1.07-.2 6.5 6.5 0 1 0-1.9-8.92h1.73a.75.75 0 1 1 0 1.49H.75A.75.75 0 0 1 0 5.25v-3.5a.75.75 0 0 1 1.5 0v1.58A8 8 0 0 1 8 0Zm0 4c.42 0 .75.33.75.75v2.94l2 2.03c.32.3.32.77 0 1.03-.26.32-.74.32-1.03 0L7.47 8.5a.64.64 0 0 1-.22-.5V4.75c0-.42.33-.75.75-.75Z'
94
+ },
95
+ hourglass: {
96
+ path: 'M2 .75c0-.41.34-.75.75-.75h10.5a.75.75 0 1 1 0 1.5H13v.6a4.9 4.9 0 0 1-1.4 3.35L9.07 8l2.55 2.55c.86.89 1.39 2.1 1.39 3.36v.59h.25a.75.75 0 1 1 0 1.5H2.75a.75.75 0 1 1 0-1.5H3v-.6c0-1.25.5-2.46 1.4-3.35L6.93 8 4.4 5.45A4.8 4.8 0 0 1 3 2.1v-.6h-.25A.75.75 0 0 1 2 .75ZM5.12 12h5.76a3.3 3.3 0 0 0-.33-.4L8 9.07 5.45 11.6c-.12.12-.26.25-.33.39Zm5.76-8c.37-.55.62-1.22.62-1.9v-.6h-7v.6c0 .68.22 1.35.62 1.9h5.76Z'
97
+ },
98
+ info: {
99
+ path: 'M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm0 14.5a6.5 6.5 0 1 1 .01-13.01A6.5 6.5 0 0 1 8 14.5Zm1.25-4h-.5V7.75A.75.75 0 0 0 8 7H7a.75.75 0 0 0-.75.75c0 .41.34.75.75.75h.25v2h-.5a.75.75 0 0 0-.75.75c0 .41.34.75.75.75h2.5a.75.75 0 0 0 0-1.5ZM8 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'
100
+ },
101
+ lock: {
102
+ path: 'M4 6V4a4 4 0 1 1 8 0v2h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h1Zm1.5 0h5V4a2.5 2.5 0 1 0-5 0v2Zm-3 8c0 .28.22.5.5.5h10a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5H3a.5.5 0 0 0-.5.5v6Z'
103
+ },
104
+ mail: {
105
+ path: 'M0 4c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm1.5 0v.7l5.4 4.42c.63.53 1.57.53 2.2 0l5.4-4.43v-.72c0-.25-.22-.5-.5-.5H2c-.28 0-.5.25-.5.5V4Zm0 2.63V12c0 .28.22.5.5.5h12a.5.5 0 0 0 .5-.5V6.63l-4.44 3.65a3.3 3.3 0 0 1-4.15 0L1.5 6.63Z'
106
+ },
107
+ refresh: {
108
+ path: 'M14.63 9.07a.8.8 0 0 0-1 .54 5.9 5.9 0 0 1-10.87 1.06H6.1a.8.8 0 0 0 .8-.8c0-.44-.32-.8-.77-.8H.8a.8.8 0 0 0-.8.8v5.33a.8.8 0 0 0 1.6 0v-3.4a7.49 7.49 0 0 0 6.37 3.67 7.5 7.5 0 0 0 7.17-5.38c.16-.45-.09-.87-.51-1.02ZM15.2 0a.8.8 0 0 0-.8.8v3.4A7.5 7.5 0 0 0 8 .53 7.5 7.5 0 0 0 .83 5.91a.8.8 0 1 0 1.54.45A5.9 5.9 0 0 1 8 2.13a5.9 5.9 0 0 1 5.22 3.2H9.87a.8.8 0 0 0-.8.8c0 .44.36.8.8.8h5.33a.8.8 0 0 0 .8-.8V.8a.8.8 0 0 0-.8-.8Z'
109
+ },
110
+ search: {
111
+ path: 'm15.76 14.72-4.2-4.19A6.5 6.5 0 0 0 6.47 0a6.5 6.5 0 1 0 4.03 11.6l4.2 4.18c.18.15.37.22.56.22.2 0 .39-.07.53-.22.3-.3.3-.77-.02-1.06ZM1.5 6.5a5 5 0 1 1 10.01.01A5 5 0 0 1 1.5 6.5Z'
112
+ },
113
+ settings: {
114
+ path: 'M15.54 5.2a.7.7 0 0 1-.2.77L14 7.21a6.04 6.04 0 0 1 0 1.58l1.35 1.24c.21.2.3.5.2.76-.14.38-.3.74-.5 1.08l-.14.25c-.2.34-.44.67-.7.98a.68.68 0 0 1-.76.2l-1.74-.55c-.42.32-.9.6-1.37.8l-.4 1.78a.75.75 0 0 1-.56.56 8.16 8.16 0 0 1-2.66 0 .75.75 0 0 1-.57-.56l-.39-1.78c-.5-.2-.95-.48-1.37-.8l-1.74.56a.71.71 0 0 1-.77-.21 8.2 8.2 0 0 1-.69-.98l-.14-.25a7.8 7.8 0 0 1-.5-1.08.71.71 0 0 1 .2-.76L2.1 8.79a6.05 6.05 0 0 1 0-1.58L.74 5.97a.7.7 0 0 1-.2-.76c.14-.38.3-.74.5-1.08l.14-.25c.2-.34.44-.67.7-.98.18-.22.48-.3.76-.2l1.74.55c.42-.33.88-.6 1.37-.8l.4-1.78A.7.7 0 0 1 6.7.1a8.04 8.04 0 0 1 2.66 0c.29.05.5.27.57.56l.39 1.78c.46.2.95.47 1.37.8l1.74-.56a.71.71 0 0 1 .77.21c.25.31.48.64.69.98l.15.25c.18.34.35.7.49 1.08Zm-7.5 5.3a2.52 2.52 0 0 0 0-5.03 2.52 2.52 0 0 0 0 5.03Z'
115
+ },
116
+ success: {
117
+ path: 'M7.62 10.62a.88.88 0 0 1-1.24 0l-2-2a.88.88 0 0 1 1.24-1.24L7 8.76l3.38-3.38a.88.88 0 0 1 1.24 1.24l-4 4ZM16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'
118
+ },
119
+ tag: {
120
+ path: 'M2.93 4.1a1.17 1.17 0 1 1 2.34 0 1.17 1.17 0 0 1-2.34 0ZM7.23 0c.62 0 1.2.25 1.65.69l6.43 6.43c.92.92.92 2.4 0 3.32l-4.88 4.87c-.9.92-2.4.92-3.3 0L.68 8.88A2.33 2.33 0 0 1 0 7.22V1.76C0 .79.79 0 1.76 0h5.46Zm-5.3 7.64 6.43 6.43c.23.23.6.23.83 0l4.88-4.88a.58.58 0 0 0 0-.83L7.64 1.93a.59.59 0 0 0-.42-.17H1.76v5.46c0 .16.06.3.17.42Z'
121
+ },
122
+ unlock: {
123
+ path: 'M5.5 6H13a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h1V4a4 4 0 0 1 7.8-1.23c.13.4-.1.82-.48.94a.77.77 0 0 1-.94-.48 2.52 2.52 0 0 0-4.9.77l.02 2Zm-3 8c0 .28.22.5.5.5h10a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5H3a.5.5 0 0 0-.5.5v6Z'
124
+ },
125
+ user: {
126
+ path: 'M9.5 9.5h-3A5.5 5.5 0 0 0 1 15a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1 5.5 5.5 0 0 0-5.5-5.5Zm-6.97 5A4 4 0 0 1 6.5 11h3a4 4 0 0 1 3.97 3.5H2.53ZM8 8a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0-6.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5Z'
127
+ },
128
+ userSolid: {
129
+ path: 'M8 8a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm1.58 1.5H6.42A5.42 5.42 0 0 0 1 14.92c0 .6.49 1.08 1.08 1.08h11.84c.6 0 1.08-.48 1.08-1.08 0-3-2.42-5.42-5.42-5.42Z'
130
+ },
131
+ xmark: {
132
+ path: 'M15.56 13.96a1.2 1.2 0 0 1-1.69 1.69l-5.9-5.94-5.93 5.94a1.2 1.2 0 0 1-1.69-1.7L6.3 8.03.35 2.04A1.2 1.2 0 0 1 2.05.35l5.93 5.98L13.9.4a1.2 1.2 0 0 1 1.7 1.69L9.67 8.02l5.9 5.94Z'
133
+ }
134
+ }
135
+
136
+ const aliases = {
137
+ close: 'xmark'
138
+ }
139
+
140
+ const ICONS = mergeIconAliases(baseIcons, aliases)
141
+
142
+ const SIZES = {
143
+ small: 12,
144
+ medium: 16,
145
+ large: 24
146
+ }
147
+
148
+ export { ICONS, SIZES }