@feugene/granularity 0.3.0 → 0.3.2
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.
- package/LICENSE +397 -0
- package/dist/chunks/{shared-DGhcuSCh.js → shared-Dk9xmulE.js} +1 -1
- package/dist/components/DsToaster/chunks/DsToaster-Bzepxxi_.js +115 -0
- package/dist/components/DsToaster/index.js +3 -3
- package/dist/composables/useTheme.js +44 -0
- package/dist/composables/useToast.js +47 -0
- package/dist/granular-provider-node.js +1 -1
- package/dist/granular-provider.js +1 -1
- package/dist/index.js +99 -140
- package/package.json +9 -1
- package/dist/components/DsToaster/chunks/DsToaster-KO8wZChw.js +0 -159
- /package/dist/chunks/{config-DwsSjSb4.js → config-CY0RJaK-.js} +0 -0
package/LICENSE
CHANGED
|
@@ -199,3 +199,400 @@
|
|
|
199
199
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
200
|
See the License for the specific language governing permissions and
|
|
201
201
|
limitations under the License.
|
|
202
|
+
|
|
203
|
+
-------------------------------------------------------------------------------
|
|
204
|
+
|
|
205
|
+
ADDITIONAL ETHICAL USE CLAUSE
|
|
206
|
+
(Addendum to the License)
|
|
207
|
+
|
|
208
|
+
In addition to the terms of the Apache License, Version 2.0 above, the
|
|
209
|
+
following ethical-use restriction applies to this Software and any
|
|
210
|
+
derivative works thereof. By using, copying, modifying, or distributing
|
|
211
|
+
the Software, You agree to comply with this clause. If You cannot or
|
|
212
|
+
will not comply with it, You are not granted any rights under this
|
|
213
|
+
License and must not use the Software.
|
|
214
|
+
|
|
215
|
+
1. The Software MUST NOT be used, in whole or in part, by:
|
|
216
|
+
|
|
217
|
+
(a) Any individual, group, organization, regime, movement, political
|
|
218
|
+
party, paramilitary or military formation, or state actor that
|
|
219
|
+
professes, promotes, endorses, or practices Nazi, neo-Nazi,
|
|
220
|
+
fascist, white-supremacist, or any other ideology that classifies
|
|
221
|
+
human beings into hierarchies of worth, dignity, or rights based
|
|
222
|
+
on ethnicity, race, nationality, national origin, skin color,
|
|
223
|
+
language, religion or absence thereof, caste, gender, sexual
|
|
224
|
+
orientation, gender identity, disability, or any other inherent
|
|
225
|
+
human characteristic;
|
|
226
|
+
|
|
227
|
+
(b) Any person or entity engaged in genocide, ethnic cleansing,
|
|
228
|
+
forced deportation, apartheid, systemic persecution, incitement
|
|
229
|
+
to hatred or violence against any of the groups described in
|
|
230
|
+
(a), or any other act recognized as a crime against humanity
|
|
231
|
+
under international law;
|
|
232
|
+
|
|
233
|
+
(c) Any person or entity acting on behalf of, providing material
|
|
234
|
+
support to, or operating infrastructure for, the parties
|
|
235
|
+
described in (a) or (b).
|
|
236
|
+
|
|
237
|
+
For the purposes of this clause (including, without limitation,
|
|
238
|
+
paragraphs 3, 4, and 7 and all their subparagraphs), the terms
|
|
239
|
+
"prohibited use" and "use in violation of paragraph 1" mean any
|
|
240
|
+
use, reproduction, modification, execution, deployment, hosting,
|
|
241
|
+
integration, distribution, sublicensing, or making available of
|
|
242
|
+
the Software or any Derivative Works thereof, in whole or in
|
|
243
|
+
part, in Source or Object form, whether directly or indirectly
|
|
244
|
+
(including through affiliates, contractors, agents, or third
|
|
245
|
+
parties acting on the violator's behalf or for the violator's
|
|
246
|
+
benefit), by any person or entity falling within subparagraph
|
|
247
|
+
(a), (b), or (c) above, or for the purpose of supporting,
|
|
248
|
+
enabling, or furthering the activities, ideologies, or parties
|
|
249
|
+
described therein. "Prohibited use" applies regardless of
|
|
250
|
+
duration (including a single execution), medium (on-premises,
|
|
251
|
+
cloud, embedded, browser, or otherwise), commercial or
|
|
252
|
+
non-commercial nature, the number of end users, whether access
|
|
253
|
+
is paid or gratuitous, and whether the Software is used as a
|
|
254
|
+
standalone product or as a component, dependency, library,
|
|
255
|
+
plugin, or service within a larger system.
|
|
256
|
+
|
|
257
|
+
2. For the avoidance of doubt, this clause reflects the Author's belief
|
|
258
|
+
that all human beings are born free and equal in dignity and rights
|
|
259
|
+
(Article 1 of the Universal Declaration of Human Rights, 1948), and
|
|
260
|
+
that the Software must not be used to further any ideology or
|
|
261
|
+
practice that denies this principle.
|
|
262
|
+
|
|
263
|
+
3. Any use of the Software in violation of this clause is a material
|
|
264
|
+
breach of this License. All rights granted to the violating party
|
|
265
|
+
under the Apache License, Version 2.0, including but not limited to
|
|
266
|
+
the rights to use, reproduce, modify, and distribute the Software,
|
|
267
|
+
terminate automatically and immediately upon such violation, without
|
|
268
|
+
the need for notice by the Author.
|
|
269
|
+
|
|
270
|
+
4. MANDATORY COMPENSATION FOR PROHIBITED USE. Any person or entity that
|
|
271
|
+
uses the Software, in whole or in part, in violation of paragraph 1
|
|
272
|
+
of this clause shall, in addition to the automatic termination of
|
|
273
|
+
rights under paragraph 3, owe the Author monetary compensation in an
|
|
274
|
+
amount equal to no less than ten percent (10%) of the violator's
|
|
275
|
+
gross revenue (for legal entities) or gross annual income (for
|
|
276
|
+
natural persons) for each calendar year during which any prohibited
|
|
277
|
+
use occurred. The ten-percent figure is calculated on the full
|
|
278
|
+
calendar year's gross revenue or gross annual income and is NOT
|
|
279
|
+
prorated: any prohibited use lasting for any length of time within a
|
|
280
|
+
given calendar year - including a single day, a single hour, or a
|
|
281
|
+
single instance of execution - triggers the compensation obligation
|
|
282
|
+
for that entire calendar year in full. The amount of compensation
|
|
283
|
+
payable under this paragraph 4 is calculated per "Accrual Period"
|
|
284
|
+
and, within a single Accrual Period, shall not exceed the product
|
|
285
|
+
of (i) one million United States dollars (USD 1,000,000) and
|
|
286
|
+
(ii) the number of calendar days (UTC) within that Accrual Period
|
|
287
|
+
on which any prohibited use of the Software occurred, provided
|
|
288
|
+
that the number of such days counted for this cap within a single
|
|
289
|
+
Accrual Period shall not exceed three hundred and sixty-five (365).
|
|
290
|
+
Any prohibited use during a calendar day (UTC), regardless of its
|
|
291
|
+
duration within that day, counts as one (1) full day. An
|
|
292
|
+
"Accrual Period" is a period of twelve (12) consecutive months,
|
|
293
|
+
the first of which begins on the date of the first prohibited use
|
|
294
|
+
of the Software by the violator (the "Accrual Date"); each
|
|
295
|
+
subsequent Accrual Period begins immediately upon the expiry of
|
|
296
|
+
the preceding one. A separate compensation, calculated
|
|
297
|
+
independently on the same basis, accrues for each Accrual Period
|
|
298
|
+
during which any prohibited use occurs, and there is no aggregate
|
|
299
|
+
ceiling on compensation across Accrual Periods.
|
|
300
|
+
|
|
301
|
+
(a) This obligation applies regardless of whether the violator knew
|
|
302
|
+
or should have known about the restrictions set forth in this
|
|
303
|
+
clause; lack of knowledge, lack of notice, good faith, mistake,
|
|
304
|
+
or reliance on a third party does NOT excuse the obligation or
|
|
305
|
+
reduce the amount owed.
|
|
306
|
+
|
|
307
|
+
(b) The ten percent (10%) figure is a contractually agreed minimum.
|
|
308
|
+
The Author reserves the right to claim any greater amount of
|
|
309
|
+
actual damages, disgorgement of profits, statutory damages,
|
|
310
|
+
injunctive relief, attorneys' fees, and any other remedy
|
|
311
|
+
available under applicable law, cumulatively and not
|
|
312
|
+
alternatively.
|
|
313
|
+
|
|
314
|
+
(c) "Gross revenue" and "gross annual income" mean the total amount
|
|
315
|
+
received from all sources before any deductions, taxes, costs,
|
|
316
|
+
or expenses, as reported in the violator's audited financial
|
|
317
|
+
statements, tax filings, or, in their absence, any other
|
|
318
|
+
reasonable evidence of income. The violator bears the burden of
|
|
319
|
+
proving a lower figure by clear and convincing evidence.
|
|
320
|
+
|
|
321
|
+
(d) Compensation is due within thirty (30) days of the Author's
|
|
322
|
+
written demand. Overdue amounts accrue default interest at the
|
|
323
|
+
maximum rate permitted by applicable law. Use of the Software
|
|
324
|
+
after the demand without full payment constitutes a continuing
|
|
325
|
+
and separate violation for each calendar year.
|
|
326
|
+
|
|
327
|
+
(e) This obligation is independent of, and survives, the termination
|
|
328
|
+
of rights under paragraph 3 and any cessation of use of the
|
|
329
|
+
Software by the violator.
|
|
330
|
+
|
|
331
|
+
5. This clause is an integral and non-severable part of this License.
|
|
332
|
+
If any part of this clause is held to be unenforceable in a given
|
|
333
|
+
jurisdiction, the Author does not grant any license to the Software
|
|
334
|
+
to parties described in paragraphs 1(a)–(c) in that jurisdiction
|
|
335
|
+
under any other terms.
|
|
336
|
+
|
|
337
|
+
6. This clause does not restrict, and shall not be interpreted to
|
|
338
|
+
restrict, legitimate academic research, journalism, education,
|
|
339
|
+
historical documentation, or human-rights advocacy that critically
|
|
340
|
+
examines the ideologies and actions described above, provided such
|
|
341
|
+
use does not promote, endorse, or materially support them.
|
|
342
|
+
|
|
343
|
+
7. GOVERNING LAW, FORUM AND JURISDICTION. Any dispute, claim,
|
|
344
|
+
controversy or cause of action arising out of or relating to this
|
|
345
|
+
Addendum, the License, the Software, or any alleged breach of any
|
|
346
|
+
of them (including, without limitation, any claim for compensation
|
|
347
|
+
under paragraph 4), shall, at the sole and exclusive election of
|
|
348
|
+
the Author (as the claimant / plaintiff), be:
|
|
349
|
+
|
|
350
|
+
(a) governed by and construed in accordance with the substantive
|
|
351
|
+
law of the jurisdiction of the Author's domicile or principal
|
|
352
|
+
place of residence at the time the action is commenced, without
|
|
353
|
+
regard to its conflict-of-laws rules; and
|
|
354
|
+
|
|
355
|
+
(b) brought exclusively before the competent state court of
|
|
356
|
+
general or commercial jurisdiction located at the Author's
|
|
357
|
+
domicile or principal place of residence at the time the
|
|
358
|
+
action is commenced (the "Author's Forum"). The violator
|
|
359
|
+
irrevocably consents to the personal jurisdiction of, and to
|
|
360
|
+
venue in, the Author's Forum, and irrevocably waives any
|
|
361
|
+
objection based on forum non conveniens, lack of personal
|
|
362
|
+
jurisdiction, improper venue, or inconvenience of the Author's
|
|
363
|
+
Forum.
|
|
364
|
+
|
|
365
|
+
(c) To the maximum extent permitted by applicable mandatory law,
|
|
366
|
+
the violator waives any right to bring or join any such
|
|
367
|
+
dispute in any other forum, and waives any right to trial by
|
|
368
|
+
jury. Nothing in this paragraph 7 limits the Author's right,
|
|
369
|
+
at the Author's sole discretion, to (i) seek injunctive,
|
|
370
|
+
provisional, or conservatory relief (including asset freezes
|
|
371
|
+
and evidence-preservation orders) in any court of competent
|
|
372
|
+
jurisdiction worldwide, or (ii) enforce any judgment,
|
|
373
|
+
arbitration award, or settlement obtained in the Author's
|
|
374
|
+
Forum in any other jurisdiction where the violator or its
|
|
375
|
+
assets may be found.
|
|
376
|
+
|
|
377
|
+
(d) If mandatory local consumer-protection or procedural law of
|
|
378
|
+
the violator's jurisdiction would otherwise grant the violator
|
|
379
|
+
a non-waivable right to sue or be sued in a different forum,
|
|
380
|
+
this paragraph 7 shall be read as granting the Author the
|
|
381
|
+
broadest election of forum permitted by such mandatory law,
|
|
382
|
+
and the remainder of this paragraph shall continue in full
|
|
383
|
+
force and effect.
|
|
384
|
+
|
|
385
|
+
-------------------------------------------------------------------------------
|
|
386
|
+
|
|
387
|
+
ДОПОЛНИТЕЛЬНАЯ ОГОВОРКА ОБ ЭТИЧНОМ ИСПОЛЬЗОВАНИИ
|
|
388
|
+
(Приложение к Лицензии, перевод)
|
|
389
|
+
|
|
390
|
+
В дополнение к условиям Apache License, Version 2.0, приведённым выше,
|
|
391
|
+
к настоящему Программному обеспечению и любым его производным работам
|
|
392
|
+
применяется следующее ограничение этического характера. Используя,
|
|
393
|
+
копируя, изменяя или распространяя Программное обеспечение, Вы
|
|
394
|
+
соглашаетесь соблюдать настоящую оговорку. Если Вы не можете или не
|
|
395
|
+
намерены её соблюдать, никакие права по настоящей Лицензии Вам не
|
|
396
|
+
предоставляются, и Вы не вправе использовать Программное обеспечение.
|
|
397
|
+
|
|
398
|
+
1. Программное обеспечение НЕ МОЖЕТ использоваться, полностью или
|
|
399
|
+
частично:
|
|
400
|
+
|
|
401
|
+
(а) любыми физическими лицами, группами, организациями, режимами,
|
|
402
|
+
движениями, политическими партиями, военизированными или
|
|
403
|
+
военными формированиями, а также государственными акторами,
|
|
404
|
+
исповедующими, продвигающими, поддерживающими или практикующими
|
|
405
|
+
нацистскую, неонацистскую, фашистскую, идеологию превосходства
|
|
406
|
+
по признаку расы, а равно любую иную идеологию, делящую людей
|
|
407
|
+
на градации ценности, достоинства или прав по признакам
|
|
408
|
+
этнической, расовой, национальной принадлежности, цвета кожи,
|
|
409
|
+
языка, религии или её отсутствия, касты, пола, сексуальной
|
|
410
|
+
ориентации, гендерной идентичности, инвалидности или иных
|
|
411
|
+
неотъемлемых человеческих характеристик;
|
|
412
|
+
|
|
413
|
+
(б) любыми лицами или организациями, причастными к геноциду,
|
|
414
|
+
этническим чисткам, насильственной депортации, апартеиду,
|
|
415
|
+
систематическим преследованиям, разжиганию ненависти или
|
|
416
|
+
насилия в отношении групп, описанных в пункте (а), а также к
|
|
417
|
+
иным деяниям, признаваемым преступлениями против человечности
|
|
418
|
+
по международному праву;
|
|
419
|
+
|
|
420
|
+
(в) любыми лицами или организациями, действующими от имени,
|
|
421
|
+
оказывающими материальную поддержку или обеспечивающими
|
|
422
|
+
инфраструктуру сторонам, описанным в пунктах (а) или (б).
|
|
423
|
+
|
|
424
|
+
Для целей настоящей оговорки (в том числе, без ограничений,
|
|
425
|
+
пунктов 3, 4 и 7 и всех их подпунктов) термины «запрещённое
|
|
426
|
+
использование» и «использование в нарушение пункта 1» означают
|
|
427
|
+
любое использование, воспроизведение, изменение, запуск,
|
|
428
|
+
развёртывание, размещение (в том числе в облаке), интеграцию,
|
|
429
|
+
распространение, сублицензирование или предоставление доступа
|
|
430
|
+
к Программному обеспечению либо любым его производным работам,
|
|
431
|
+
полностью или частично, в форме исходного текста или объектной
|
|
432
|
+
форме, прямо или косвенно (в том числе через аффилированных лиц,
|
|
433
|
+
подрядчиков, агентов или любых третьих лиц, действующих от
|
|
434
|
+
имени нарушителя или в его интересах), любым лицом или
|
|
435
|
+
организацией, подпадающими под действие подпунктов (а), (б) или
|
|
436
|
+
(в) выше, а равно любое такое использование с целью поддержки,
|
|
437
|
+
обеспечения или содействия деятельности, идеологиям или
|
|
438
|
+
сторонам, указанным в упомянутых подпунктах. «Запрещённое
|
|
439
|
+
использование» признаётся таковым независимо от его
|
|
440
|
+
продолжительности (включая единичный запуск), способа
|
|
441
|
+
размещения (on-premises, облако, встраиваемые системы, браузер
|
|
442
|
+
и т. п.), коммерческого или некоммерческого характера,
|
|
443
|
+
количества конечных пользователей, платного или безвозмездного
|
|
444
|
+
характера доступа, а также от того, используется ли Программное
|
|
445
|
+
обеспечение как самостоятельный продукт либо как компонент,
|
|
446
|
+
зависимость, библиотека, плагин или сервис в составе более
|
|
447
|
+
крупной системы.
|
|
448
|
+
|
|
449
|
+
2. Во избежание сомнений: настоящая оговорка отражает убеждение Автора
|
|
450
|
+
в том, что все люди рождаются свободными и равными в своём
|
|
451
|
+
достоинстве и правах (статья 1 Всеобщей декларации прав человека,
|
|
452
|
+
1948 г.), и что Программное обеспечение не должно использоваться
|
|
453
|
+
для продвижения какой-либо идеологии или практики, отрицающей этот
|
|
454
|
+
принцип.
|
|
455
|
+
|
|
456
|
+
3. Любое использование Программного обеспечения в нарушение настоящей
|
|
457
|
+
оговорки является существенным нарушением Лицензии. Все права,
|
|
458
|
+
предоставленные нарушителю по Apache License, Version 2.0, в том
|
|
459
|
+
числе на использование, воспроизведение, изменение и распространение
|
|
460
|
+
Программного обеспечения, прекращаются автоматически и немедленно
|
|
461
|
+
с момента такого нарушения, без необходимости уведомления со стороны
|
|
462
|
+
Автора.
|
|
463
|
+
|
|
464
|
+
4. ОБЯЗАТЕЛЬНАЯ КОМПЕНСАЦИЯ ЗА ЗАПРЕЩЁННОЕ ИСПОЛЬЗОВАНИЕ. Любое
|
|
465
|
+
физическое или юридическое лицо, использующее Программное
|
|
466
|
+
обеспечение, полностью или частично, в нарушение пункта 1 настоящей
|
|
467
|
+
оговорки, в дополнение к автоматическому прекращению прав по пункту
|
|
468
|
+
3, обязано выплатить Автору денежную компенсацию в размере не менее
|
|
469
|
+
десяти процентов (10%) от валовой выручки (для юридических лиц)
|
|
470
|
+
или валового годового дохода (для физических лиц) за каждый
|
|
471
|
+
календарный год, в течение которого имело место любое запрещённое
|
|
472
|
+
использование. Указанные десять процентов исчисляются от валовой
|
|
473
|
+
выручки или валового годового дохода за полный календарный год и
|
|
474
|
+
НЕ подлежат пропорциональному уменьшению: любое запрещённое
|
|
475
|
+
использование любой продолжительности в пределах соответствующего
|
|
476
|
+
календарного года, в том числе в течение одного дня, одного часа
|
|
477
|
+
или единичного запуска, порождает обязанность по выплате
|
|
478
|
+
компенсации за весь этот календарный год полностью. Размер
|
|
479
|
+
компенсации, подлежащей выплате по настоящему пункту 4,
|
|
480
|
+
исчисляется отдельно за каждый «Период начисления» и в пределах
|
|
481
|
+
одного Периода начисления не может превышать произведения
|
|
482
|
+
(i) одного миллиона долларов США (1 000 000 долл. США) и
|
|
483
|
+
(ii) количества календарных дней (по UTC) в пределах такого
|
|
484
|
+
Периода начисления, в течение которых имело место любое
|
|
485
|
+
запрещённое использование Программного обеспечения, при этом
|
|
486
|
+
количество таких дней, учитываемых для целей настоящего
|
|
487
|
+
ограничения в рамках одного Периода начисления, не может
|
|
488
|
+
превышать трёхсот шестидесяти пяти (365). Любое запрещённое
|
|
489
|
+
использование в течение календарного дня (по UTC), независимо от
|
|
490
|
+
его продолжительности в пределах такого дня, считается одним (1)
|
|
491
|
+
полным днём. «Период начисления» — это период из двенадцати (12)
|
|
492
|
+
следующих подряд месяцев; первый такой период начинается в дату
|
|
493
|
+
первого запрещённого использования Программного обеспечения
|
|
494
|
+
нарушителем («Дата начала начисления»), каждый последующий Период
|
|
495
|
+
начисления начинается непосредственно по истечении предыдущего.
|
|
496
|
+
За каждый Период начисления, в течение которого имело место любое
|
|
497
|
+
запрещённое использование, начисляется самостоятельная
|
|
498
|
+
компенсация, рассчитываемая независимо по тем же правилам; при
|
|
499
|
+
этом какое-либо совокупное верхнее ограничение компенсации по
|
|
500
|
+
всем Периодам начисления не применяется.
|
|
501
|
+
|
|
502
|
+
(а) Настоящая обязанность возникает независимо от того, знал или
|
|
503
|
+
должен был знать нарушитель об ограничениях, установленных
|
|
504
|
+
настоящей оговоркой. Отсутствие осведомлённости, отсутствие
|
|
505
|
+
уведомления, добросовестность, заблуждение или ссылка на
|
|
506
|
+
действия третьих лиц НЕ освобождают от обязанности и не
|
|
507
|
+
уменьшают размер подлежащей выплате суммы.
|
|
508
|
+
|
|
509
|
+
(б) Десять процентов (10%) представляют собой договорно согласованный
|
|
510
|
+
минимум. Автор сохраняет право требовать любую большую сумму
|
|
511
|
+
фактических убытков, возврат полученной прибыли, законную
|
|
512
|
+
неустойку, судебный запрет, возмещение судебных расходов и
|
|
513
|
+
гонораров представителей, а также любые иные средства правовой
|
|
514
|
+
защиты, предусмотренные применимым правом, кумулятивно, а не
|
|
515
|
+
альтернативно.
|
|
516
|
+
|
|
517
|
+
(в) Под «валовой выручкой» и «валовым годовым доходом» понимается
|
|
518
|
+
общая сумма поступлений из всех источников до вычета каких-либо
|
|
519
|
+
налогов, затрат или расходов, отражённая в аудированной
|
|
520
|
+
финансовой отчётности нарушителя, налоговых декларациях, а в
|
|
521
|
+
их отсутствие — в любых иных разумных доказательствах дохода.
|
|
522
|
+
Бремя доказывания меньшей суммы лежит на нарушителе и требует
|
|
523
|
+
ясных и убедительных доказательств.
|
|
524
|
+
|
|
525
|
+
(г) Компенсация подлежит выплате в течение тридцати (30) дней с
|
|
526
|
+
момента письменного требования Автора. На просроченные суммы
|
|
527
|
+
начисляются проценты по максимальной ставке, допускаемой
|
|
528
|
+
применимым правом. Использование Программного обеспечения
|
|
529
|
+
после такого требования без полной оплаты образует длящееся
|
|
530
|
+
и отдельное нарушение за каждый календарный год.
|
|
531
|
+
|
|
532
|
+
(д) Настоящая обязанность является самостоятельной, сохраняется
|
|
533
|
+
после прекращения прав по пункту 3 и не прекращается в
|
|
534
|
+
результате фактического прекращения использования Программного
|
|
535
|
+
обеспечения нарушителем.
|
|
536
|
+
|
|
537
|
+
5. Настоящая оговорка является неотъемлемой и неделимой частью
|
|
538
|
+
Лицензии. Если какая-либо её часть будет признана не подлежащей
|
|
539
|
+
принудительному исполнению в отдельной юрисдикции, Автор не
|
|
540
|
+
предоставляет лицам, указанным в пунктах 1(а)–(в), никакой лицензии
|
|
541
|
+
на Программное обеспечение в этой юрисдикции ни на каких иных
|
|
542
|
+
условиях.
|
|
543
|
+
|
|
544
|
+
6. Настоящая оговорка не ограничивает и не должна толковаться как
|
|
545
|
+
ограничивающая добросовестные академические исследования,
|
|
546
|
+
журналистику, образовательную деятельность, историческую
|
|
547
|
+
документацию и правозащитную деятельность, критически изучающую
|
|
548
|
+
описанные выше идеологии и действия, при условии, что такая
|
|
549
|
+
деятельность не продвигает, не поддерживает и не обеспечивает их
|
|
550
|
+
материально.
|
|
551
|
+
|
|
552
|
+
7. ПРИМЕНИМОЕ ПРАВО, ПОДСУДНОСТЬ И ВЫБОР СУДА. Любой спор, требование,
|
|
553
|
+
разногласие или основание иска, возникающие из настоящей
|
|
554
|
+
Оговорки, Лицензии, Программного обеспечения или связанные с ними,
|
|
555
|
+
либо из их предполагаемого нарушения (включая, без ограничения,
|
|
556
|
+
любые требования о компенсации по пункту 4), по единоличному и
|
|
557
|
+
исключительному выбору Автора (как истца / заявителя):
|
|
558
|
+
|
|
559
|
+
(а) регулируются и подлежат толкованию по материальному праву
|
|
560
|
+
юрисдикции места жительства или основного места нахождения
|
|
561
|
+
Автора на момент предъявления иска, без учёта её коллизионных
|
|
562
|
+
норм; и
|
|
563
|
+
|
|
564
|
+
(б) подлежат рассмотрению исключительно в компетентном
|
|
565
|
+
государственном суде общей или коммерческой (экономической,
|
|
566
|
+
арбитражной) юрисдикции, расположенном по месту жительства
|
|
567
|
+
или основному месту нахождения Автора на момент предъявления
|
|
568
|
+
иска («Суд Автора»). Нарушитель безотзывно подчиняется
|
|
569
|
+
персональной юрисдикции Суда Автора и подсудности по месту
|
|
570
|
+
его нахождения, а также безотзывно отказывается от любых
|
|
571
|
+
возражений, основанных на доктрине forum non conveniens,
|
|
572
|
+
отсутствии персональной юрисдикции, ненадлежащей
|
|
573
|
+
подсудности или неудобстве Суда Автора.
|
|
574
|
+
|
|
575
|
+
(в) В максимально допустимых применимым императивным правом
|
|
576
|
+
пределах нарушитель отказывается от права инициировать или
|
|
577
|
+
присоединяться к такому спору в любом ином суде, а также от
|
|
578
|
+
права на суд присяжных. Ничто в настоящем пункте 7 не
|
|
579
|
+
ограничивает права Автора по единоличному усмотрению
|
|
580
|
+
(i) требовать обеспечительных, предварительных или
|
|
581
|
+
временных мер (в том числе ареста активов и обеспечения
|
|
582
|
+
доказательств) в любом компетентном суде в любой юрисдикции
|
|
583
|
+
мира и (ii) приводить в исполнение любое судебное решение,
|
|
584
|
+
арбитражное решение или мировое соглашение, полученное в
|
|
585
|
+
Суде Автора, в любой иной юрисдикции, где может быть
|
|
586
|
+
обнаружен нарушитель или его активы.
|
|
587
|
+
|
|
588
|
+
(г) Если императивные нормы законодательства о защите прав
|
|
589
|
+
потребителей или процессуального законодательства
|
|
590
|
+
юрисдикции нарушителя предоставляют нарушителю не
|
|
591
|
+
подлежащее отказу право предъявлять иск или быть ответчиком
|
|
592
|
+
в ином суде, настоящий пункт 7 толкуется как
|
|
593
|
+
предоставляющий Автору наиболее широкий выбор суда,
|
|
594
|
+
допускаемый такими императивными нормами, а в остальной
|
|
595
|
+
части сохраняет полную юридическую силу.
|
|
596
|
+
|
|
597
|
+
При любом расхождении между английской и русской версиями настоящей
|
|
598
|
+
оговорки преимущественную силу имеет английский текст.
|
|
@@ -42,7 +42,7 @@ import { t as L } from "./config-BscZj6l42.js";
|
|
|
42
42
|
import { t as R } from "./config-CvuvJeih.js";
|
|
43
43
|
import { t as z } from "./config-B36QoWkx2.js";
|
|
44
44
|
import { t as B } from "./config-CzEeKJ6F2.js";
|
|
45
|
-
import { t as V } from "./config-
|
|
45
|
+
import { t as V } from "./config-CY0RJaK-.js";
|
|
46
46
|
import { t as H } from "./config-BWJ22IjI2.js";
|
|
47
47
|
import { t as U } from "./config-YyVxx9dW.js";
|
|
48
48
|
import { t as W } from "./config-C7KNHOmN.js";
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { n as e, r as t, t as n } from "../../../chunks/x-circle-ChJ87u1v.js";
|
|
2
|
+
import { t as r } from "../../../chunks/info-CNJnuTYC.js";
|
|
3
|
+
import { t as i } from "../../../chunks/x--kxrj3ez.js";
|
|
4
|
+
import { t as a } from "../../DsButton/chunks/DsButton-9cB_fHZt.js";
|
|
5
|
+
import { t as o } from "../../DsIcon/chunks/DsIcon-Bk6qc4Kh.js";
|
|
6
|
+
import { useToast as s } from "../../../composables/useToast.js";
|
|
7
|
+
import { r as c } from "../../../chunks/config-CY0RJaK-.js";
|
|
8
|
+
import { Fragment as l, Teleport as u, TransitionGroup as d, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createVNode as _, defineComponent as v, normalizeClass as y, normalizeStyle as b, openBlock as x, renderList as S, resolveDynamicComponent as C, toDisplayString as w, unref as T, withCtx as E } from "vue";
|
|
9
|
+
//#region src/components/DsToaster/DsToaster.vue?vue&type=script&setup=true&lang.ts
|
|
10
|
+
var D = ["aria-label"], O = [
|
|
11
|
+
"data-variant",
|
|
12
|
+
"role",
|
|
13
|
+
"aria-live"
|
|
14
|
+
], k = { class: "flex items-start gap-3" }, A = { class: "min-w-0 flex-1" }, j = { class: "text-[13px] font-700" }, M = {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "mt-0.5 text-[13px] text-[var(--muted-fg)]"
|
|
17
|
+
}, N = /* @__PURE__ */ v({
|
|
18
|
+
__name: "DsToaster",
|
|
19
|
+
props: {
|
|
20
|
+
placement: { default: "top-right" },
|
|
21
|
+
dismissLabel: { default: "Dismiss" },
|
|
22
|
+
regionLabel: { default: "Notifications" }
|
|
23
|
+
},
|
|
24
|
+
setup(v) {
|
|
25
|
+
let N = {
|
|
26
|
+
info: {
|
|
27
|
+
icon: r,
|
|
28
|
+
color: "var(--ds-info)",
|
|
29
|
+
role: "status",
|
|
30
|
+
live: "polite"
|
|
31
|
+
},
|
|
32
|
+
success: {
|
|
33
|
+
icon: e,
|
|
34
|
+
color: "var(--ds-success)",
|
|
35
|
+
role: "status",
|
|
36
|
+
live: "polite"
|
|
37
|
+
},
|
|
38
|
+
warning: {
|
|
39
|
+
icon: t,
|
|
40
|
+
color: "var(--ds-warning)",
|
|
41
|
+
role: "alert",
|
|
42
|
+
live: "assertive"
|
|
43
|
+
},
|
|
44
|
+
danger: {
|
|
45
|
+
icon: n,
|
|
46
|
+
color: "var(--ds-danger)",
|
|
47
|
+
role: "alert",
|
|
48
|
+
live: "assertive"
|
|
49
|
+
}
|
|
50
|
+
}, P = v, { list: F, dismiss: I } = s(), L = typeof window < "u";
|
|
51
|
+
function R(e) {
|
|
52
|
+
return N[e] ?? N.info;
|
|
53
|
+
}
|
|
54
|
+
let z = f(() => c[P.placement]);
|
|
55
|
+
return (e, t) => (x(), p(u, {
|
|
56
|
+
to: "body",
|
|
57
|
+
disabled: !L
|
|
58
|
+
}, [g("div", {
|
|
59
|
+
"data-ds-toaster": "",
|
|
60
|
+
role: "region",
|
|
61
|
+
"aria-label": v.regionLabel,
|
|
62
|
+
class: y(["fixed z-[60] grid w-[360px] max-w-[calc(100vw-2rem)] gap-3", z.value])
|
|
63
|
+
}, [_(d, {
|
|
64
|
+
tag: "div",
|
|
65
|
+
class: "grid gap-3",
|
|
66
|
+
"enter-active-class": "transition duration-200 ease-out",
|
|
67
|
+
"enter-from-class": "opacity-0 translate-y-2",
|
|
68
|
+
"enter-to-class": "opacity-100 translate-y-0",
|
|
69
|
+
"leave-active-class": "transition duration-150 ease-in absolute",
|
|
70
|
+
"leave-from-class": "opacity-100 translate-y-0",
|
|
71
|
+
"leave-to-class": "opacity-0 translate-y-2",
|
|
72
|
+
"move-class": "transition-transform duration-200 ease-out"
|
|
73
|
+
}, {
|
|
74
|
+
default: E(() => [(x(!0), h(l, null, S(T(F), (e) => (x(), h("div", {
|
|
75
|
+
key: e.id,
|
|
76
|
+
"data-ds-toast": "",
|
|
77
|
+
"data-variant": e.variant,
|
|
78
|
+
role: R(e.variant).role,
|
|
79
|
+
"aria-live": R(e.variant).live,
|
|
80
|
+
"aria-atomic": "true",
|
|
81
|
+
class: "rounded-[var(--ds-radius-lg)] border border-[var(--brd)] bg-[var(--card)] px-4 py-3 shadow-[var(--ds-shadow-2)]"
|
|
82
|
+
}, [g("div", k, [
|
|
83
|
+
_(T(o), {
|
|
84
|
+
size: "md",
|
|
85
|
+
class: "mt-0.5",
|
|
86
|
+
style: b({ color: R(e.variant).color }),
|
|
87
|
+
"aria-hidden": "true"
|
|
88
|
+
}, {
|
|
89
|
+
default: E(() => [(x(), p(C(R(e.variant).icon)))]),
|
|
90
|
+
_: 2
|
|
91
|
+
}, 1032, ["style"]),
|
|
92
|
+
g("div", A, [g("div", j, w(e.title), 1), e.message ? (x(), h("div", M, w(e.message), 1)) : m("", !0)]),
|
|
93
|
+
_(T(a), {
|
|
94
|
+
variant: "ghost",
|
|
95
|
+
size: "sm",
|
|
96
|
+
square: "",
|
|
97
|
+
"aria-label": v.dismissLabel,
|
|
98
|
+
onClick: (t) => T(I)(e.id)
|
|
99
|
+
}, {
|
|
100
|
+
default: E(() => [_(T(o), {
|
|
101
|
+
size: "sm",
|
|
102
|
+
"aria-hidden": "true"
|
|
103
|
+
}, {
|
|
104
|
+
default: E(() => [_(T(i))]),
|
|
105
|
+
_: 1
|
|
106
|
+
})]),
|
|
107
|
+
_: 1
|
|
108
|
+
}, 8, ["aria-label", "onClick"])
|
|
109
|
+
])], 8, O))), 128))]),
|
|
110
|
+
_: 1
|
|
111
|
+
})], 10, D)], 8, ["disabled"]));
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
//#endregion
|
|
115
|
+
export { N as t };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
1
|
+
import { n as e, t } from "../../chunks/config-CY0RJaK-.js";
|
|
2
|
+
import { t as n } from "./chunks/DsToaster-Bzepxxi_.js";
|
|
3
|
+
export { n as DsToaster, n as default, t as dsToasterConfig, e as dsToasterSafelist };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { computed as e, ref as t } from "vue";
|
|
2
|
+
//#region src/composables/useTheme.ts
|
|
3
|
+
var n = "fint-ds-theme";
|
|
4
|
+
function r(e = n, t = !0) {
|
|
5
|
+
if (typeof window > "u") return "light";
|
|
6
|
+
if (t) try {
|
|
7
|
+
let t = window.localStorage, n = typeof t?.getItem == "function" ? t.getItem(e) : null;
|
|
8
|
+
if (n === "light" || n === "dark") return n;
|
|
9
|
+
} catch {}
|
|
10
|
+
return window.matchMedia?.("(prefers-color-scheme: dark)")?.matches ? "dark" : "light";
|
|
11
|
+
}
|
|
12
|
+
function i(e) {
|
|
13
|
+
if (typeof document > "u") return;
|
|
14
|
+
let t = document.documentElement;
|
|
15
|
+
t.classList.toggle("theme-dark", e === "dark"), t.dataset.theme = e;
|
|
16
|
+
}
|
|
17
|
+
function a(e = {}) {
|
|
18
|
+
i(r(e.storageKey ?? n, e.persist ?? !0));
|
|
19
|
+
}
|
|
20
|
+
function o(a = {}) {
|
|
21
|
+
let o = a.storageKey ?? n, s = a.persist ?? !0, c = t(r(o, s)), l = e(() => c.value === "dark");
|
|
22
|
+
function u(e) {
|
|
23
|
+
if (c.value = e, s && typeof window < "u") try {
|
|
24
|
+
let t = window.localStorage;
|
|
25
|
+
typeof t?.setItem == "function" && t.setItem(o, e);
|
|
26
|
+
} catch {}
|
|
27
|
+
i(e);
|
|
28
|
+
}
|
|
29
|
+
function d() {
|
|
30
|
+
u(c.value === "dark" ? "light" : "dark");
|
|
31
|
+
}
|
|
32
|
+
function f() {
|
|
33
|
+
i(c.value);
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
theme: c,
|
|
37
|
+
isDark: l,
|
|
38
|
+
setTheme: u,
|
|
39
|
+
toggleTheme: d,
|
|
40
|
+
initTheme: f
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { a as initThemeEarly, o as useTheme };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { computed as e, reactive as t } from "vue";
|
|
2
|
+
//#region src/composables/useToast.ts
|
|
3
|
+
var n = t([]), r = /* @__PURE__ */ new Map(), i = 3500;
|
|
4
|
+
function a() {
|
|
5
|
+
return `${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
6
|
+
}
|
|
7
|
+
function o(e) {
|
|
8
|
+
let t = r.get(e);
|
|
9
|
+
t !== void 0 && (clearTimeout(t), r.delete(e));
|
|
10
|
+
}
|
|
11
|
+
function s() {
|
|
12
|
+
let t = e(() => n);
|
|
13
|
+
function s(e) {
|
|
14
|
+
let t = a(), o = {
|
|
15
|
+
id: t,
|
|
16
|
+
title: e.title,
|
|
17
|
+
message: e.message,
|
|
18
|
+
variant: e.variant ?? "info"
|
|
19
|
+
};
|
|
20
|
+
n.unshift(o);
|
|
21
|
+
let s = e.timeoutMs ?? i;
|
|
22
|
+
if (s > 0 && typeof window < "u") {
|
|
23
|
+
let e = window.setTimeout(() => {
|
|
24
|
+
r.delete(t), c(t);
|
|
25
|
+
}, s);
|
|
26
|
+
r.set(t, e);
|
|
27
|
+
}
|
|
28
|
+
return t;
|
|
29
|
+
}
|
|
30
|
+
function c(e) {
|
|
31
|
+
o(e);
|
|
32
|
+
let t = n.findIndex((t) => t.id === e);
|
|
33
|
+
t >= 0 && n.splice(t, 1);
|
|
34
|
+
}
|
|
35
|
+
function l() {
|
|
36
|
+
for (let e of r.keys()) o(e);
|
|
37
|
+
n.splice(0, n.length);
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
list: t,
|
|
41
|
+
push: s,
|
|
42
|
+
dismiss: c,
|
|
43
|
+
clear: l
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { s as useToast };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as e } from "./chunks/safelist-Gujf4bDO.js";
|
|
2
2
|
import { n as t } from "./chunks/config-Bb8NpnGF.js";
|
|
3
|
-
import { a as n, i as r, n as i, r as a, t as o } from "./chunks/shared-
|
|
3
|
+
import { a as n, i as r, n as i, r as a, t as o } from "./chunks/shared-Dk9xmulE.js";
|
|
4
4
|
import { defineGranularComponent as s } from "@feugene/unocss-preset-granular/contract";
|
|
5
5
|
import { tokenDefinitionsFromCssSync as c } from "@feugene/unocss-preset-granular/node";
|
|
6
6
|
//#region src/components/DsButton/config.node.ts
|
package/dist/index.js
CHANGED
|
@@ -5,152 +5,111 @@ import { t as i } from "./components/DsAvatar/chunks/DsAvatar-D7tQ9wfl.js";
|
|
|
5
5
|
import { t as a } from "./components/DsBadge/chunks/DsBadge-B9aZxvZb.js";
|
|
6
6
|
import { n as o, t as s } from "./chunks/config-BG-m3THf.js";
|
|
7
7
|
import "./components/DsBadge/index.js";
|
|
8
|
-
import { t as
|
|
9
|
-
import { t as
|
|
10
|
-
import { t as
|
|
11
|
-
import { t as
|
|
12
|
-
import { r as
|
|
13
|
-
import { t as
|
|
14
|
-
import { n as
|
|
15
|
-
import { t as
|
|
16
|
-
import { t as
|
|
17
|
-
import { t as
|
|
8
|
+
import { t as c } from "./components/DsBadgeWrap/chunks/DsBadgeWrap-DO8TjFYg.js";
|
|
9
|
+
import { t as l } from "./chunks/config-COfLMM02.js";
|
|
10
|
+
import { t as u } from "./components/DsBottomNav/chunks/DsBottomNav-NRtHfcmQ.js";
|
|
11
|
+
import { t as d } from "./chunks/config-CtI_S-zH.js";
|
|
12
|
+
import { r as f } from "./chunks/dsButtonStyles-xdMl54zJ.js";
|
|
13
|
+
import { t as p } from "./components/DsButton/chunks/DsButton-9cB_fHZt.js";
|
|
14
|
+
import { n as m, t as h } from "./chunks/safelist-Gujf4bDO.js";
|
|
15
|
+
import { t as g } from "./chunks/config-CcqnIunr.js";
|
|
16
|
+
import { t as _ } from "./components/DsButtonGroup/chunks/DsButtonGroup-DPK1W3Hk.js";
|
|
17
|
+
import { t as v } from "./chunks/config-DrTFt1re.js";
|
|
18
18
|
import "./components/DsButtonGroup/index.js";
|
|
19
|
-
import { t as
|
|
20
|
-
import { t as
|
|
21
|
-
import { t as
|
|
22
|
-
import { t as
|
|
23
|
-
import { n as
|
|
24
|
-
import { t as
|
|
25
|
-
import { t as
|
|
26
|
-
import { t as
|
|
27
|
-
import { t as
|
|
28
|
-
import { t as
|
|
29
|
-
import { a as
|
|
30
|
-
import { i as
|
|
31
|
-
import { t as
|
|
32
|
-
import { t as
|
|
33
|
-
import { t as
|
|
34
|
-
import { t as
|
|
35
|
-
import { t as
|
|
36
|
-
import { t as
|
|
19
|
+
import { t as y } from "./components/DsCard/chunks/DsCard-Bnelx1JF.js";
|
|
20
|
+
import { t as b } from "./chunks/config-E9sOdSx6.js";
|
|
21
|
+
import { t as x } from "./components/DsCheckbox/chunks/DsCheckbox-B3YN7RYo.js";
|
|
22
|
+
import { t as S } from "./chunks/config-DeL48aIt.js";
|
|
23
|
+
import { n as C, r as w, t as T } from "./components/DsCollapse/chunks/DsCollapse-7D6FTuFJ.js";
|
|
24
|
+
import { t as E } from "./components/DsIcon/chunks/DsIcon-Bk6qc4Kh.js";
|
|
25
|
+
import { t as D } from "./chunks/config-DpluHp1i.js";
|
|
26
|
+
import { t as O } from "./chunks/config-udLUeY_k.js";
|
|
27
|
+
import { t as k } from "./chunks/dsModalStyles-DovGcwjh.js";
|
|
28
|
+
import { t as A } from "./components/DsModal/chunks/DsModal-B2DLXV7F.js";
|
|
29
|
+
import { a as j, i as M, n as N, r as P, t as F } from "./chunks/dialogShared-B7Ruf0mn.js";
|
|
30
|
+
import { i as I, n as L, r as R, t as z } from "./components/DsDialog/chunks/DsDialog-BH23MSq-.js";
|
|
31
|
+
import { t as B } from "./components/DsConfirmDialog/chunks/DsConfirmDialog-NkhfmD4Y.js";
|
|
32
|
+
import { t as V } from "./chunks/config-DU-WqEnv.js";
|
|
33
|
+
import { t as H } from "./components/DsTable/chunks/DsTable-C27_FR_h.js";
|
|
34
|
+
import { t as U } from "./components/DsDataTable/chunks/DsDataTable-nK4XgT1y.js";
|
|
35
|
+
import { t as W } from "./chunks/config-Cibru2a2.js";
|
|
36
|
+
import { t as G } from "./chunks/safelist-CQOSs_yj.js";
|
|
37
37
|
import "./components/DsDialog/index.js";
|
|
38
|
-
import { n as
|
|
39
|
-
import { t as
|
|
40
|
-
import { a as
|
|
41
|
-
import { a as
|
|
42
|
-
import { t as
|
|
43
|
-
import { t as
|
|
44
|
-
import { n as
|
|
38
|
+
import { n as K, t as q } from "./chunks/config-DJxFkysW.js";
|
|
39
|
+
import { t as J } from "./components/DsDrawer/chunks/DsDrawer-GW4JyPf_.js";
|
|
40
|
+
import { a as Y, i as X, n as Z, o as Q, r as $, s as ee, t as te } from "./chunks/directives-K8Vo0VhP.js";
|
|
41
|
+
import { a as ne, c as re, i as ie, l as ae, n as oe, o as se, r as ce, s as le, t as ue, u as de } from "./chunks/fileValidation-LFD-vwil.js";
|
|
42
|
+
import { t as fe } from "./components/DsLoading/chunks/DsLoading-uYpDF-nK.js";
|
|
43
|
+
import { t as pe } from "./components/DsDropdown/chunks/DsDropdown-DmR1NWyV.js";
|
|
44
|
+
import { n as me, t as he } from "./chunks/config-DopZCwNe.js";
|
|
45
45
|
import "./components/DsDropdown/index.js";
|
|
46
|
-
import { a as
|
|
47
|
-
import { t as
|
|
48
|
-
import { t as
|
|
49
|
-
import { t as
|
|
50
|
-
import { t as
|
|
51
|
-
import { t as
|
|
52
|
-
import { t as
|
|
53
|
-
import { t as
|
|
46
|
+
import { a as ge, c as _e, i as ve, n as ye, o as be, r as xe, s as Se, t as Ce } from "./components/DsDropdownMenu/chunks/DsDropdownMenu-BlpO8mUO.js";
|
|
47
|
+
import { t as we } from "./chunks/config-CnClbuiL.js";
|
|
48
|
+
import { t as Te } from "./components/DsEmptyState/chunks/DsEmptyState-tKYwSiP1.js";
|
|
49
|
+
import { t as Ee } from "./chunks/config-C_CXjTfh2.js";
|
|
50
|
+
import { t as De } from "./components/DsFileUpload/chunks/DsFileUpload-Dya9vyG0.js";
|
|
51
|
+
import { t as Oe } from "./chunks/config-CLG4pCF9.js";
|
|
52
|
+
import { t as ke } from "./components/DsFormField/chunks/DsFormField-QvWyAReX.js";
|
|
53
|
+
import { t as Ae } from "./chunks/config-J_2KglMu.js";
|
|
54
54
|
import "./components/DsFormField/index.js";
|
|
55
|
-
import { t as
|
|
56
|
-
import { t as
|
|
57
|
-
import { t as
|
|
58
|
-
import { t as
|
|
59
|
-
import { t as
|
|
60
|
-
import { t as
|
|
61
|
-
import { t as
|
|
62
|
-
import { n as
|
|
55
|
+
import { t as je } from "./components/DsFormFile/chunks/DsFormFile-BFfRuM1G.js";
|
|
56
|
+
import { t as Me } from "./chunks/config-C2wd640N.js";
|
|
57
|
+
import { t as Ne } from "./components/DsFormSection/chunks/DsFormSection-Dzspqv9R.js";
|
|
58
|
+
import { t as Pe } from "./chunks/config-DQdLgKLJ.js";
|
|
59
|
+
import { t as Fe } from "./components/DsImageViewer/chunks/DsImageViewer-_LWdAHAd.js";
|
|
60
|
+
import { t as Ie } from "./chunks/config-C_bF_fTb.js";
|
|
61
|
+
import { t as Le } from "./components/DsInput/chunks/DsInput-B8RhHkKQ.js";
|
|
62
|
+
import { n as Re, t as ze } from "./chunks/config-Bo4SoxQg.js";
|
|
63
63
|
import "./components/DsInput/index.js";
|
|
64
|
-
import { n as
|
|
65
|
-
import { t as
|
|
66
|
-
import { n as
|
|
67
|
-
import { t as
|
|
68
|
-
import { n as
|
|
69
|
-
import { t as
|
|
70
|
-
import { n as
|
|
64
|
+
import { n as Be, t as Ve } from "./chunks/config-C0CVsc4Y.js";
|
|
65
|
+
import { t as He } from "./components/DsInputTag/chunks/DsInputTag-DVmvJ0A_.js";
|
|
66
|
+
import { n as Ue, t as We } from "./chunks/config-ltfe9Xvy.js";
|
|
67
|
+
import { t as Ge } from "./components/DsLink/chunks/DsLink-DXClMbuX.js";
|
|
68
|
+
import { n as Ke, t as qe } from "./components/DsList/chunks/DsList-BEuPowc2.js";
|
|
69
|
+
import { t as Je } from "./chunks/config-DN1-oywd.js";
|
|
70
|
+
import { n as Ye, t as Xe } from "./chunks/config-D3ihNj1i.js";
|
|
71
71
|
import "./components/DsLoading/index.js";
|
|
72
|
-
import { n as
|
|
72
|
+
import { n as Ze, r as Qe, t as $e } from "./chunks/config-Zksyb5FX.js";
|
|
73
73
|
import "./components/DsModal/index.js";
|
|
74
|
-
import { t as
|
|
75
|
-
import { t as
|
|
76
|
-
import { n as
|
|
77
|
-
import { t as
|
|
78
|
-
import { t as
|
|
79
|
-
import { t as
|
|
80
|
-
import { t as
|
|
81
|
-
import { n as
|
|
82
|
-
import { t as
|
|
83
|
-
import { t as
|
|
84
|
-
import { t as
|
|
85
|
-
import { n as
|
|
86
|
-
import { n as
|
|
87
|
-
import { t as
|
|
88
|
-
import { t as
|
|
89
|
-
import { n as
|
|
90
|
-
import { t as
|
|
91
|
-
import { n as
|
|
74
|
+
import { t as et } from "./components/DsNavbar/chunks/DsNavbar-O-ud_du_.js";
|
|
75
|
+
import { t as tt } from "./chunks/config-D9kbijTN.js";
|
|
76
|
+
import { n as nt, t as rt } from "./chunks/config-CtgK8aLQ.js";
|
|
77
|
+
import { t as it } from "./components/DsNumberInput/chunks/DsNumberInput-BJTpcTRc.js";
|
|
78
|
+
import { t as at } from "./components/DsSelect/chunks/DsSelect-DN-vZIEG.js";
|
|
79
|
+
import { t as ot } from "./components/DsPagination/chunks/DsPagination-hw_-VMRK.js";
|
|
80
|
+
import { t as st } from "./chunks/config-EhfVxSIR.js";
|
|
81
|
+
import { n as ct, t as lt } from "./chunks/config-Bb8NpnGF.js";
|
|
82
|
+
import { t as ut } from "./components/DsProgressBar/chunks/DsProgressBar-CgIQj39W.js";
|
|
83
|
+
import { t as dt } from "./components/DsPromptDialog/chunks/DsPromptDialog-_8v3Puaj.js";
|
|
84
|
+
import { t as ft } from "./chunks/config-DfTEy9G3.js";
|
|
85
|
+
import { n as pt, t as mt } from "./chunks/config-DGGgsQ-8.js";
|
|
86
|
+
import { n as ht, t as gt } from "./components/DsRadio/chunks/DsRadio-DKbrUFUZ.js";
|
|
87
|
+
import { t as _t } from "./components/DsRadioGroup/chunks/DsRadioGroup-BQo7Nc5-.js";
|
|
88
|
+
import { t as vt } from "./chunks/config-BNQb1Tdk.js";
|
|
89
|
+
import { n as yt, t as bt } from "./chunks/config-D-soL_Ul.js";
|
|
90
|
+
import { t as xt } from "./components/DsSegmented/chunks/DsSegmented-SbqzdCNX.js";
|
|
91
|
+
import { n as St, t as Ct } from "./chunks/config-DoJaEy4X.js";
|
|
92
92
|
import "./components/DsSelect/index.js";
|
|
93
|
-
import { t as
|
|
94
|
-
import { t as
|
|
95
|
-
import { t as
|
|
96
|
-
import { t as
|
|
97
|
-
import { n as
|
|
98
|
-
import { t as
|
|
99
|
-
import { t as
|
|
93
|
+
import { t as wt } from "./components/DsSidebar/chunks/DsSidebar-DdofI1lo.js";
|
|
94
|
+
import { t as Tt } from "./chunks/config-BPuskn3r.js";
|
|
95
|
+
import { t as Et } from "./components/DsSkeleton/chunks/DsSkeleton-DJSQ4gGR.js";
|
|
96
|
+
import { t as Dt } from "./chunks/config-DO9E5iXl2.js";
|
|
97
|
+
import { n as Ot, t as kt } from "./chunks/config-BscZj6l42.js";
|
|
98
|
+
import { t as At } from "./components/DsSwitch/chunks/DsSwitch-Dh4_bd6e.js";
|
|
99
|
+
import { t as jt } from "./chunks/config-CvuvJeih.js";
|
|
100
100
|
import "./components/DsTable/index.js";
|
|
101
|
-
import { t as
|
|
102
|
-
import { t as
|
|
103
|
-
import { n as
|
|
104
|
-
import { t as
|
|
105
|
-
import {
|
|
106
|
-
import { n as
|
|
107
|
-
import { t as
|
|
108
|
-
import { t as
|
|
109
|
-
import { t as
|
|
110
|
-
import {
|
|
111
|
-
import { n as
|
|
112
|
-
import { t as
|
|
113
|
-
import {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
function Q(e = Z, t = !0) {
|
|
117
|
-
if (typeof window > "u") return "light";
|
|
118
|
-
if (t) try {
|
|
119
|
-
let t = window.localStorage, n = typeof t?.getItem == "function" ? t.getItem(e) : null;
|
|
120
|
-
if (n === "light" || n === "dark") return n;
|
|
121
|
-
} catch {}
|
|
122
|
-
return window.matchMedia?.("(prefers-color-scheme: dark)")?.matches ? "dark" : "light";
|
|
123
|
-
}
|
|
124
|
-
function $(e) {
|
|
125
|
-
if (typeof document > "u") return;
|
|
126
|
-
let t = document.documentElement;
|
|
127
|
-
t.classList.toggle("theme-dark", e === "dark"), t.dataset.theme = e;
|
|
128
|
-
}
|
|
129
|
-
function en(e = {}) {
|
|
130
|
-
$(Q(e.storageKey ?? Z, e.persist ?? !0));
|
|
131
|
-
}
|
|
132
|
-
function tn(e = {}) {
|
|
133
|
-
let t = e.storageKey ?? Z, n = e.persist ?? !0, r = $t(Q(t, n)), i = Qt(() => r.value === "dark");
|
|
134
|
-
function a(e) {
|
|
135
|
-
if (r.value = e, n && typeof window < "u") try {
|
|
136
|
-
let n = window.localStorage;
|
|
137
|
-
typeof n?.setItem == "function" && n.setItem(t, e);
|
|
138
|
-
} catch {}
|
|
139
|
-
$(e);
|
|
140
|
-
}
|
|
141
|
-
function o() {
|
|
142
|
-
a(r.value === "dark" ? "light" : "dark");
|
|
143
|
-
}
|
|
144
|
-
function s() {
|
|
145
|
-
$(r.value);
|
|
146
|
-
}
|
|
147
|
-
return {
|
|
148
|
-
theme: r,
|
|
149
|
-
isDark: i,
|
|
150
|
-
setTheme: a,
|
|
151
|
-
toggleTheme: o,
|
|
152
|
-
initTheme: s
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
//#endregion
|
|
156
|
-
export { A as DEFAULT_DS_DIALOG_BODY_CONFIG, O as DEFAULT_DS_DIALOG_FOOTER_CONFIG, k as DEFAULT_DS_DIALOG_HEADER_CONFIG, y as DS_COLLAPSE_CONTEXT, vt as DS_RADIO_GROUP_CONTEXT, e as DsAlert, i as DsAvatar, a as DsBadge, ee as DsBadgeWrap, ne as DsBottomNav, c as DsButton, f as DsButtonGroup, m as DsCard, g as DsCheckbox, v as DsCollapse, b as DsCollapseItem, F as DsConfirmDialog, R as DsDataTable, P as DsDialog, N as DsDialogCloseButton, j as DsDialogFooter, M as DsDialogHeader, U as DsDrawer, _e as DsDropdown, Ee as DsDropdownMenu, we as DsDropdownMenuColumn, be as DsDropdownMenuColumns, Se as DsDropdownMenuDivider, Ce as DsDropdownMenuGroup, Te as DsDropdownMenuHeader, De as DsDropdownMenuItem, xe as DsDropdownMenuList, ke as DsEmptyState, je as DsFileUpload, Ne as DsFormField, Fe as DsFormFile, Le as DsFormSection, x as DsIcon, Re as DsImageViewer, Be as DsInput, Ge as DsInputTag, Je as DsLink, Ye as DsList, Xe as DsListItem, ge as DsLoading, T as DsModal, rt as DsNavbar, st as DsNumberInput, lt as DsPagination, pt as DsProgressBar, mt as DsPromptDialog, yt as DsRadio, bt as DsRadioGroup, wt as DsSegmented, ct as DsSelect, Dt as DsSidebar, kt as DsSkeleton, Nt as DsSwitch, L as DsTable, Ft as DsTabs, zt as DsTextarea, Vt as DsToaster, Wt as DsTooltip, Kt as DsTree, Zt as DsTreeSelect, he as FileValidationError, de as acceptValidator, oe as allowedExtensionsValidator, ce as allowedMimeTypesValidator, ae as createLoading, t as dsAlertConfig, r as dsAvatarConfig, n as dsAvatarSafelist, s as dsBadgeConfig, o as dsBadgeSafelist, te as dsBadgeWrapConfig, re as dsBottomNavConfig, ie as dsButtonClass, u as dsButtonClassTokens, d as dsButtonConfig, p as dsButtonGroupConfig, l as dsButtonSafelist, h as dsCardConfig, _ as dsCheckboxConfig, C as dsCollapseConfig, I as dsConfirmDialogConfig, z as dsDataTableConfig, B as dsDialogSafelist, H as dsDrawerConfig, V as dsDrawerSafelist, ye as dsDropdownConfig, Oe as dsDropdownMenuConfig, ve as dsDropdownSafelist, Ae as dsEmptyStateConfig, Me as dsFileUploadConfig, Pe as dsFormFieldConfig, Ie as dsFormFileConfig, X as dsFormSectionConfig, S as dsIconConfig, ze as dsImageViewerConfig, He as dsInputConfig, Ve as dsInputSafelist, We as dsInputTagConfig, Ue as dsInputTagSafelist, qe as dsLinkConfig, Ke as dsLinkSafelist, Ze as dsListConfig, $e as dsLoadingConfig, Qe as dsLoadingSafelist, et as dsModalClassTokens, nt as dsModalConfig, tt as dsModalSafelist, it as dsNavbarConfig, ot as dsNumberInputConfig, at as dsNumberInputSafelist, ut as dsPaginationConfig, ft as dsProgressBarConfig, dt as dsProgressBarSafelist, ht as dsPromptDialogConfig, _t as dsRadioConfig, xt as dsRadioGroupConfig, gt as dsRadioSafelist, Ct as dsSegmentedConfig, St as dsSegmentedSafelist, Et as dsSelectConfig, Tt as dsSelectSafelist, Ot as dsSidebarConfig, At as dsSkeletonConfig, Mt as dsSwitchConfig, jt as dsSwitchSafelist, Pt as dsTableConfig, It as dsTabsConfig, Rt as dsTextareaConfig, Lt as dsTextareaSafelist, Ut as dsToasterConfig, Ht as dsToasterSafelist, Gt as dsTooltipConfig, Jt as dsTreeConfig, qt as dsTreeSafelist, Xt as dsTreeSelectConfig, Yt as dsTreeSelectSafelist, w as getDsModalPanelClass, en as initThemeEarly, pe as matchAccept, fe as maxFileSizeBytesValidator, ue as maxSizeMbValidator, me as maxTotalSizeBytesValidator, se as normalizeFiles, D as resolveDsDialogSectionConfig, E as resolveDsDialogTitle, le as runFileValidators, tn as useTheme, Bt as useToast, Y as vAutofocus, q as vAutosize, W as vClickOutside, G as vDropzone, J as vHotkey, K as vLoading };
|
|
101
|
+
import { t as Mt } from "./components/DsTabs/chunks/DsTabs-FLWaGtbo.js";
|
|
102
|
+
import { t as Nt } from "./chunks/config-B36QoWkx2.js";
|
|
103
|
+
import { n as Pt, t as Ft } from "./chunks/config-CzEeKJ6F2.js";
|
|
104
|
+
import { t as It } from "./components/DsTextarea/chunks/DsTextarea-D61wwTwK.js";
|
|
105
|
+
import { useToast as Lt } from "./composables/useToast.js";
|
|
106
|
+
import { n as Rt, t as zt } from "./chunks/config-CY0RJaK-.js";
|
|
107
|
+
import { t as Bt } from "./components/DsToaster/chunks/DsToaster-Bzepxxi_.js";
|
|
108
|
+
import { t as Vt } from "./components/DsTooltip/chunks/DsTooltip-BNkQOtpm.js";
|
|
109
|
+
import { t as Ht } from "./chunks/config-BWJ22IjI2.js";
|
|
110
|
+
import { t as Ut } from "./components/DsTree/chunks/DsTree-DK0aOkKS.js";
|
|
111
|
+
import { n as Wt, t as Gt } from "./chunks/config-YyVxx9dW.js";
|
|
112
|
+
import { n as Kt, t as qt } from "./chunks/config-C7KNHOmN.js";
|
|
113
|
+
import { t as Jt } from "./components/DsTreeSelect/chunks/DsTreeSelect-BnG-oplE.js";
|
|
114
|
+
import { initThemeEarly as Yt, useTheme as Xt } from "./composables/useTheme.js";
|
|
115
|
+
export { F as DEFAULT_DS_DIALOG_BODY_CONFIG, N as DEFAULT_DS_DIALOG_FOOTER_CONFIG, P as DEFAULT_DS_DIALOG_HEADER_CONFIG, w as DS_COLLAPSE_CONTEXT, ht as DS_RADIO_GROUP_CONTEXT, e as DsAlert, i as DsAvatar, a as DsBadge, c as DsBadgeWrap, u as DsBottomNav, p as DsButton, _ as DsButtonGroup, y as DsCard, x as DsCheckbox, C as DsCollapse, T as DsCollapseItem, B as DsConfirmDialog, U as DsDataTable, z as DsDialog, R as DsDialogCloseButton, I as DsDialogFooter, L as DsDialogHeader, J as DsDrawer, pe as DsDropdown, Se as DsDropdownMenu, be as DsDropdownMenuColumn, ge as DsDropdownMenuColumns, ve as DsDropdownMenuDivider, ye as DsDropdownMenuGroup, xe as DsDropdownMenuHeader, Ce as DsDropdownMenuItem, _e as DsDropdownMenuList, Te as DsEmptyState, De as DsFileUpload, ke as DsFormField, je as DsFormFile, Ne as DsFormSection, E as DsIcon, Fe as DsImageViewer, Le as DsInput, He as DsInputTag, Ge as DsLink, Ke as DsList, qe as DsListItem, fe as DsLoading, A as DsModal, et as DsNavbar, it as DsNumberInput, ot as DsPagination, ut as DsProgressBar, dt as DsPromptDialog, gt as DsRadio, _t as DsRadioGroup, xt as DsSegmented, at as DsSelect, wt as DsSidebar, Et as DsSkeleton, At as DsSwitch, H as DsTable, Mt as DsTabs, It as DsTextarea, Bt as DsToaster, Vt as DsTooltip, Ut as DsTree, Jt as DsTreeSelect, de as FileValidationError, se as acceptValidator, ne as allowedExtensionsValidator, ie as allowedMimeTypesValidator, te as createLoading, t as dsAlertConfig, r as dsAvatarConfig, n as dsAvatarSafelist, s as dsBadgeConfig, o as dsBadgeSafelist, l as dsBadgeWrapConfig, d as dsBottomNavConfig, f as dsButtonClass, h as dsButtonClassTokens, g as dsButtonConfig, v as dsButtonGroupConfig, m as dsButtonSafelist, b as dsCardConfig, S as dsCheckboxConfig, O as dsCollapseConfig, V as dsConfirmDialogConfig, W as dsDataTableConfig, G as dsDialogSafelist, q as dsDrawerConfig, K as dsDrawerSafelist, he as dsDropdownConfig, we as dsDropdownMenuConfig, me as dsDropdownSafelist, Ee as dsEmptyStateConfig, Oe as dsFileUploadConfig, Ae as dsFormFieldConfig, Me as dsFormFileConfig, Pe as dsFormSectionConfig, D as dsIconConfig, Ie as dsImageViewerConfig, ze as dsInputConfig, Re as dsInputSafelist, Ve as dsInputTagConfig, Be as dsInputTagSafelist, We as dsLinkConfig, Ue as dsLinkSafelist, Je as dsListConfig, Xe as dsLoadingConfig, Ye as dsLoadingSafelist, Ze as dsModalClassTokens, $e as dsModalConfig, Qe as dsModalSafelist, tt as dsNavbarConfig, rt as dsNumberInputConfig, nt as dsNumberInputSafelist, st as dsPaginationConfig, lt as dsProgressBarConfig, ct as dsProgressBarSafelist, ft as dsPromptDialogConfig, mt as dsRadioConfig, vt as dsRadioGroupConfig, pt as dsRadioSafelist, bt as dsSegmentedConfig, yt as dsSegmentedSafelist, Ct as dsSelectConfig, St as dsSelectSafelist, Tt as dsSidebarConfig, Dt as dsSkeletonConfig, kt as dsSwitchConfig, Ot as dsSwitchSafelist, jt as dsTableConfig, Nt as dsTabsConfig, Ft as dsTextareaConfig, Pt as dsTextareaSafelist, zt as dsToasterConfig, Rt as dsToasterSafelist, Ht as dsTooltipConfig, Gt as dsTreeConfig, Wt as dsTreeSafelist, qt as dsTreeSelectConfig, Kt as dsTreeSelectSafelist, k as getDsModalPanelClass, Yt as initThemeEarly, le as matchAccept, ce as maxFileSizeBytesValidator, oe as maxSizeMbValidator, ue as maxTotalSizeBytesValidator, re as normalizeFiles, M as resolveDsDialogSectionConfig, j as resolveDsDialogTitle, ae as runFileValidators, Xt as useTheme, Lt as useToast, ee as vAutofocus, Q as vAutosize, Y as vClickOutside, X as vDropzone, $ as vHotkey, Z as vLoading };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feugene/granularity",
|
|
3
3
|
"description": "Granularity design system package with Vue 3 components, consumed via the `@feugene/unocss-preset-granular` preset.",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.2",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Evgeniy Fureev",
|
|
@@ -241,6 +241,14 @@
|
|
|
241
241
|
"types": "./dist/types/src/components/DsTreeSelect/index.d.ts",
|
|
242
242
|
"import": "./dist/components/DsTreeSelect/index.js"
|
|
243
243
|
},
|
|
244
|
+
"./composables/useTheme": {
|
|
245
|
+
"types": "./dist/types/src/composables/useTheme.d.ts",
|
|
246
|
+
"import": "./dist/composables/useTheme.js"
|
|
247
|
+
},
|
|
248
|
+
"./composables/useToast": {
|
|
249
|
+
"types": "./dist/types/src/composables/useToast.d.ts",
|
|
250
|
+
"import": "./dist/composables/useToast.js"
|
|
251
|
+
},
|
|
244
252
|
"./directives": {
|
|
245
253
|
"types": "./dist/types/src/directives/index.d.ts",
|
|
246
254
|
"import": "./dist/directives/index.js"
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "../../../chunks/x-circle-ChJ87u1v.js";
|
|
2
|
-
import { t as r } from "../../../chunks/info-CNJnuTYC.js";
|
|
3
|
-
import { t as i } from "../../../chunks/x--kxrj3ez.js";
|
|
4
|
-
import { t as a } from "../../DsButton/chunks/DsButton-9cB_fHZt.js";
|
|
5
|
-
import { t as o } from "../../DsIcon/chunks/DsIcon-Bk6qc4Kh.js";
|
|
6
|
-
import { r as s } from "../../../chunks/config-DwsSjSb4.js";
|
|
7
|
-
import { Fragment as c, Teleport as l, TransitionGroup as u, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createVNode as g, defineComponent as _, normalizeClass as v, normalizeStyle as y, openBlock as b, reactive as x, renderList as S, resolveDynamicComponent as C, toDisplayString as w, unref as T, withCtx as E } from "vue";
|
|
8
|
-
//#region src/composables/useToast.ts
|
|
9
|
-
var D = x([]), O = /* @__PURE__ */ new Map(), k = 3500;
|
|
10
|
-
function A() {
|
|
11
|
-
return `${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
12
|
-
}
|
|
13
|
-
function j(e) {
|
|
14
|
-
let t = O.get(e);
|
|
15
|
-
t !== void 0 && (clearTimeout(t), O.delete(e));
|
|
16
|
-
}
|
|
17
|
-
function M() {
|
|
18
|
-
let e = d(() => D);
|
|
19
|
-
function t(e) {
|
|
20
|
-
let t = A(), r = {
|
|
21
|
-
id: t,
|
|
22
|
-
title: e.title,
|
|
23
|
-
message: e.message,
|
|
24
|
-
variant: e.variant ?? "info"
|
|
25
|
-
};
|
|
26
|
-
D.unshift(r);
|
|
27
|
-
let i = e.timeoutMs ?? k;
|
|
28
|
-
if (i > 0 && typeof window < "u") {
|
|
29
|
-
let e = window.setTimeout(() => {
|
|
30
|
-
O.delete(t), n(t);
|
|
31
|
-
}, i);
|
|
32
|
-
O.set(t, e);
|
|
33
|
-
}
|
|
34
|
-
return t;
|
|
35
|
-
}
|
|
36
|
-
function n(e) {
|
|
37
|
-
j(e);
|
|
38
|
-
let t = D.findIndex((t) => t.id === e);
|
|
39
|
-
t >= 0 && D.splice(t, 1);
|
|
40
|
-
}
|
|
41
|
-
function r() {
|
|
42
|
-
for (let e of O.keys()) j(e);
|
|
43
|
-
D.splice(0, D.length);
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
list: e,
|
|
47
|
-
push: t,
|
|
48
|
-
dismiss: n,
|
|
49
|
-
clear: r
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
//#endregion
|
|
53
|
-
//#region src/components/DsToaster/DsToaster.vue?vue&type=script&setup=true&lang.ts
|
|
54
|
-
var N = ["aria-label"], P = [
|
|
55
|
-
"data-variant",
|
|
56
|
-
"role",
|
|
57
|
-
"aria-live"
|
|
58
|
-
], F = { class: "flex items-start gap-3" }, I = { class: "min-w-0 flex-1" }, L = { class: "text-[13px] font-700" }, R = {
|
|
59
|
-
key: 0,
|
|
60
|
-
class: "mt-0.5 text-[13px] text-[var(--muted-fg)]"
|
|
61
|
-
}, z = /* @__PURE__ */ _({
|
|
62
|
-
__name: "DsToaster",
|
|
63
|
-
props: {
|
|
64
|
-
placement: { default: "top-right" },
|
|
65
|
-
dismissLabel: { default: "Dismiss" },
|
|
66
|
-
regionLabel: { default: "Notifications" }
|
|
67
|
-
},
|
|
68
|
-
setup(_) {
|
|
69
|
-
let x = {
|
|
70
|
-
info: {
|
|
71
|
-
icon: r,
|
|
72
|
-
color: "var(--ds-info)",
|
|
73
|
-
role: "status",
|
|
74
|
-
live: "polite"
|
|
75
|
-
},
|
|
76
|
-
success: {
|
|
77
|
-
icon: e,
|
|
78
|
-
color: "var(--ds-success)",
|
|
79
|
-
role: "status",
|
|
80
|
-
live: "polite"
|
|
81
|
-
},
|
|
82
|
-
warning: {
|
|
83
|
-
icon: t,
|
|
84
|
-
color: "var(--ds-warning)",
|
|
85
|
-
role: "alert",
|
|
86
|
-
live: "assertive"
|
|
87
|
-
},
|
|
88
|
-
danger: {
|
|
89
|
-
icon: n,
|
|
90
|
-
color: "var(--ds-danger)",
|
|
91
|
-
role: "alert",
|
|
92
|
-
live: "assertive"
|
|
93
|
-
}
|
|
94
|
-
}, D = _, { list: O, dismiss: k } = M(), A = typeof window < "u";
|
|
95
|
-
function j(e) {
|
|
96
|
-
return x[e] ?? x.info;
|
|
97
|
-
}
|
|
98
|
-
let z = d(() => s[D.placement]);
|
|
99
|
-
return (e, t) => (b(), f(l, {
|
|
100
|
-
to: "body",
|
|
101
|
-
disabled: !A
|
|
102
|
-
}, [h("div", {
|
|
103
|
-
"data-ds-toaster": "",
|
|
104
|
-
role: "region",
|
|
105
|
-
"aria-label": _.regionLabel,
|
|
106
|
-
class: v(["fixed z-[60] grid w-[360px] max-w-[calc(100vw-2rem)] gap-3", z.value])
|
|
107
|
-
}, [g(u, {
|
|
108
|
-
tag: "div",
|
|
109
|
-
class: "grid gap-3",
|
|
110
|
-
"enter-active-class": "transition duration-200 ease-out",
|
|
111
|
-
"enter-from-class": "opacity-0 translate-y-2",
|
|
112
|
-
"enter-to-class": "opacity-100 translate-y-0",
|
|
113
|
-
"leave-active-class": "transition duration-150 ease-in absolute",
|
|
114
|
-
"leave-from-class": "opacity-100 translate-y-0",
|
|
115
|
-
"leave-to-class": "opacity-0 translate-y-2",
|
|
116
|
-
"move-class": "transition-transform duration-200 ease-out"
|
|
117
|
-
}, {
|
|
118
|
-
default: E(() => [(b(!0), m(c, null, S(T(O), (e) => (b(), m("div", {
|
|
119
|
-
key: e.id,
|
|
120
|
-
"data-ds-toast": "",
|
|
121
|
-
"data-variant": e.variant,
|
|
122
|
-
role: j(e.variant).role,
|
|
123
|
-
"aria-live": j(e.variant).live,
|
|
124
|
-
"aria-atomic": "true",
|
|
125
|
-
class: "rounded-[var(--ds-radius-lg)] border border-[var(--brd)] bg-[var(--card)] px-4 py-3 shadow-[var(--ds-shadow-2)]"
|
|
126
|
-
}, [h("div", F, [
|
|
127
|
-
g(T(o), {
|
|
128
|
-
size: "md",
|
|
129
|
-
class: "mt-0.5",
|
|
130
|
-
style: y({ color: j(e.variant).color }),
|
|
131
|
-
"aria-hidden": "true"
|
|
132
|
-
}, {
|
|
133
|
-
default: E(() => [(b(), f(C(j(e.variant).icon)))]),
|
|
134
|
-
_: 2
|
|
135
|
-
}, 1032, ["style"]),
|
|
136
|
-
h("div", I, [h("div", L, w(e.title), 1), e.message ? (b(), m("div", R, w(e.message), 1)) : p("", !0)]),
|
|
137
|
-
g(T(a), {
|
|
138
|
-
variant: "ghost",
|
|
139
|
-
size: "sm",
|
|
140
|
-
square: "",
|
|
141
|
-
"aria-label": _.dismissLabel,
|
|
142
|
-
onClick: (t) => T(k)(e.id)
|
|
143
|
-
}, {
|
|
144
|
-
default: E(() => [g(T(o), {
|
|
145
|
-
size: "sm",
|
|
146
|
-
"aria-hidden": "true"
|
|
147
|
-
}, {
|
|
148
|
-
default: E(() => [g(T(i))]),
|
|
149
|
-
_: 1
|
|
150
|
-
})]),
|
|
151
|
-
_: 1
|
|
152
|
-
}, 8, ["aria-label", "onClick"])
|
|
153
|
-
])], 8, P))), 128))]),
|
|
154
|
-
_: 1
|
|
155
|
-
})], 10, N)], 8, ["disabled"]));
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
//#endregion
|
|
159
|
-
export { M as n, z as t };
|
|
File without changes
|