lookbook 0.2.4 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +81 -0
  3. data/app/assets/lookbook/css/app.css +28 -0
  4. data/app/assets/lookbook/js/app.js +49 -24
  5. data/app/assets/lookbook/js/nav/leaf.js +20 -0
  6. data/app/assets/lookbook/js/nav/node.js +31 -0
  7. data/app/assets/lookbook/js/nav.js +39 -0
  8. data/app/assets/lookbook/js/page.js +33 -0
  9. data/app/assets/lookbook/js/utils/clipboard.js +13 -0
  10. data/app/assets/lookbook/js/utils/morph.js +16 -0
  11. data/app/assets/lookbook/js/{reloader.js → utils/reloader.js} +0 -0
  12. data/app/assets/lookbook/js/utils/screen.js +44 -0
  13. data/app/assets/lookbook/js/{size_observer.js → utils/size_observer.js} +1 -1
  14. data/app/assets/lookbook/js/{split.js → utils/split.js} +4 -4
  15. data/app/assets/lookbook/js/workbench/inspector.js +11 -0
  16. data/app/assets/lookbook/js/workbench/preview.js +39 -0
  17. data/app/assets/lookbook/js/workbench.js +14 -0
  18. data/app/controllers/lookbook/{browser_controller.rb → app_controller.rb} +58 -31
  19. data/app/helpers/lookbook/application_helper.rb +1 -1
  20. data/app/views/lookbook/_sidebar.html.erb +45 -0
  21. data/app/views/lookbook/_workbench.html.erb +12 -0
  22. data/app/views/lookbook/{browser → app}/error.html.erb +0 -0
  23. data/app/views/lookbook/app/index.html.erb +11 -0
  24. data/app/views/lookbook/{browser → app}/not_found.html.erb +1 -1
  25. data/app/views/lookbook/app/show.html.erb +1 -0
  26. data/app/views/lookbook/layouts/app.html.erb +16 -26
  27. data/app/views/lookbook/nav/_collection.html.erb +5 -0
  28. data/app/views/lookbook/nav/_leaf.html.erb +22 -0
  29. data/app/views/lookbook/nav/_node.html.erb +19 -0
  30. data/app/views/lookbook/nav/_preview.html.erb +11 -0
  31. data/app/views/lookbook/preview_group.html.erb +8 -0
  32. data/app/views/lookbook/shared/_clipboard.html.erb +11 -0
  33. data/app/views/lookbook/shared/_header.html.erb +8 -0
  34. data/app/views/lookbook/workbench/_header.html.erb +39 -0
  35. data/app/views/lookbook/workbench/_inspector.html.erb +32 -0
  36. data/app/views/lookbook/workbench/_preview.html.erb +24 -0
  37. data/app/views/lookbook/workbench/inspector/_code.html.erb +3 -0
  38. data/app/views/lookbook/workbench/inspector/_notes.html.erb +24 -0
  39. data/app/views/lookbook/{partials → workbench}/inspector/_plain.html.erb +0 -0
  40. data/config/routes.rb +3 -3
  41. data/lib/lookbook/preview.rb +26 -3
  42. data/lib/lookbook/preview_controller.rb +6 -1
  43. data/lib/lookbook/preview_example.rb +3 -2
  44. data/lib/lookbook/preview_group.rb +37 -0
  45. data/lib/lookbook/taggable.rb +5 -1
  46. data/lib/lookbook/version.rb +1 -1
  47. data/lib/lookbook.rb +1 -0
  48. data/lib/tasks/lookbook_tasks.rake +1 -1
  49. data/public/lookbook-assets/app.css +229 -99
  50. data/public/lookbook-assets/app.js +882 -56
  51. data/{app/views/lookbook/partials/_icon_sprite.html.erb → public/lookbook-assets/feather-sprite.svg} +1 -1
  52. metadata +51 -22
  53. data/app/assets/lookbook/js/preview.js +0 -76
  54. data/app/views/lookbook/browser/index.html.erb +0 -8
  55. data/app/views/lookbook/browser/show.html.erb +0 -33
  56. data/app/views/lookbook/partials/_preview.html.erb +0 -18
  57. data/app/views/lookbook/partials/_sidebar.html.erb +0 -21
  58. data/app/views/lookbook/partials/inspector/_code.html.erb +0 -1
  59. data/app/views/lookbook/partials/inspector/_inspector.html.erb +0 -43
  60. data/app/views/lookbook/partials/inspector/_prose.html.erb +0 -3
  61. data/app/views/lookbook/partials/nav/_collection.html.erb +0 -17
  62. data/app/views/lookbook/partials/nav/_label.html.erb +0 -13
  63. data/app/views/lookbook/partials/nav/_nav.html.erb +0 -27
  64. data/app/views/lookbook/partials/nav/_preview.html.erb +0 -48
@@ -0,0 +1,37 @@
1
+ module Lookbook
2
+ class PreviewGroup
3
+ include Taggable
4
+
5
+ attr_reader :name, :examples
6
+
7
+ def initialize(name, preview, examples)
8
+ @name = name
9
+ @preview = preview
10
+ @examples = examples
11
+ end
12
+
13
+ def id
14
+ path.underscore.tr("_", "-")
15
+ end
16
+
17
+ def path
18
+ "#{@preview.lookbook_path}/#{name}"
19
+ end
20
+
21
+ def label
22
+ name.titleize
23
+ end
24
+
25
+ def type
26
+ :group
27
+ end
28
+
29
+ def matchers
30
+ [@preview.label, label].map { |m| m.gsub(/\s/, "").downcase }
31
+ end
32
+
33
+ def hierarchy_depth
34
+ @preview.lookbook_hierarchy_depth + 1
35
+ end
36
+ end
37
+ end
@@ -14,7 +14,11 @@ module Lookbook
14
14
  code_object.docstring.to_s.strip
15
15
  end
16
16
 
17
- private
17
+ def lookbook_group
18
+ code_object&.group
19
+ end
20
+
21
+ # private
18
22
 
19
23
  def code_object
20
24
  @code_object ||= Lookbook::Engine.parser.get_code_object(taggable_object_path)
@@ -1,3 +1,3 @@
1
1
  module Lookbook
2
- VERSION = "0.2.4"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/lookbook.rb CHANGED
@@ -10,5 +10,6 @@ module Lookbook
10
10
  autoload :Preview, "lookbook/preview"
11
11
  autoload :PreviewController, "lookbook/preview_controller"
12
12
  autoload :PreviewExample, "lookbook/preview_example"
13
+ autoload :PreviewGroup, "lookbook/preview_group"
13
14
  autoload :Taggable, "lookbook/taggable"
14
15
  end
@@ -6,7 +6,7 @@ namespace :lookbook do
6
6
  task :bump_version, [:version] do |t, args|
7
7
  filename = Lookbook::Engine.root.join("lib/lookbook/version.rb")
8
8
  current_version = Lookbook::VERSION.to_s
9
- new_version = args[:version].sub("v", "")
9
+ new_version = args[:version].sub("v", "").gsub("-",".")
10
10
  file = File.open(filename)
11
11
  contents = file.read
12
12
  File.write(filename, contents.gsub(current_version, new_version))
@@ -806,6 +806,38 @@ pre[class*="language-"] {
806
806
  fill: none;
807
807
  }
808
808
 
809
+ .min-h-fill {
810
+ min-height: -webkit-fill-available;
811
+ min-height: -moz-available;
812
+ min-height: fill-available;
813
+ }
814
+
815
+ ::-webkit-scrollbar {
816
+ width: 8px;
817
+ height: 8px;
818
+ }
819
+
820
+ ::-webkit-scrollbar-track {
821
+ background: transparent;
822
+ }
823
+
824
+ ::-webkit-scrollbar-thumb {
825
+ --tw-bg-opacity: 1;
826
+ background-color: rgba(209, 213, 219, var(--tw-bg-opacity));
827
+ -webkit-transition-property: background-color, border-color, color, fill, stroke;
828
+ transition-property: background-color, border-color, color, fill, stroke;
829
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
830
+ transition-duration: 150ms;
831
+ border-radius: 6px;
832
+ border: 2px solid transparent;
833
+ background-clip: content-box;
834
+ }
835
+
836
+ ::-webkit-scrollbar-thumb:hover {
837
+ --tw-bg-opacity: 1;
838
+ background-color: rgba(156, 163, 175, var(--tw-bg-opacity));
839
+ }
840
+
809
841
  .prose {
810
842
  color: #374151;
811
843
  max-width: 65ch;
@@ -1424,6 +1456,14 @@ pre[class*="language-"] {
1424
1456
  bottom: 0px;
1425
1457
  }
1426
1458
 
1459
+ .top-1\/2 {
1460
+ top: 50%;
1461
+ }
1462
+
1463
+ .right-2 {
1464
+ right: 0.5rem;
1465
+ }
1466
+
1427
1467
  .left-0 {
1428
1468
  left: 0px;
1429
1469
  }
@@ -1440,12 +1480,8 @@ pre[class*="language-"] {
1440
1480
  bottom: 0px;
1441
1481
  }
1442
1482
 
1443
- .top-1\/2 {
1444
- top: 50%;
1445
- }
1446
-
1447
- .right-2 {
1448
- right: 0.5rem;
1483
+ .left-4 {
1484
+ left: 1rem;
1449
1485
  }
1450
1486
 
1451
1487
  .z-10 {
@@ -1457,9 +1493,12 @@ pre[class*="language-"] {
1457
1493
  margin-right: auto;
1458
1494
  }
1459
1495
 
1460
- .-mx-px {
1461
- margin-left: -1px;
1462
- margin-right: -1px;
1496
+ .ml-4 {
1497
+ margin-left: 1rem;
1498
+ }
1499
+
1500
+ .mb-1 {
1501
+ margin-bottom: 0.25rem;
1463
1502
  }
1464
1503
 
1465
1504
  .mt-4 {
@@ -1474,86 +1513,94 @@ pre[class*="language-"] {
1474
1513
  margin-top: 0.5rem;
1475
1514
  }
1476
1515
 
1477
- .ml-2 {
1478
- margin-left: 0.5rem;
1479
- }
1480
-
1481
- .ml-auto {
1482
- margin-left: auto;
1516
+ .mr-1\.5 {
1517
+ margin-right: 0.375rem;
1483
1518
  }
1484
1519
 
1485
- .-mb-px {
1486
- margin-bottom: -1px;
1520
+ .ml-\[3px\] {
1521
+ margin-left: 3px;
1487
1522
  }
1488
1523
 
1489
1524
  .mr-1 {
1490
1525
  margin-right: 0.25rem;
1491
1526
  }
1492
1527
 
1493
- .mr-1\.5 {
1494
- margin-right: 0.375rem;
1528
+ .mr-3 {
1529
+ margin-right: 0.75rem;
1495
1530
  }
1496
1531
 
1497
- .mb-1 {
1498
- margin-bottom: 0.25rem;
1532
+ .ml-auto {
1533
+ margin-left: auto;
1534
+ }
1535
+
1536
+ .-mb-px {
1537
+ margin-bottom: -1px;
1499
1538
  }
1500
1539
 
1501
1540
  .block {
1502
1541
  display: block;
1503
1542
  }
1504
1543
 
1505
- .flex {
1506
- display: flex;
1544
+ .inline-block {
1545
+ display: inline-block;
1507
1546
  }
1508
1547
 
1509
- .grid {
1510
- display: grid;
1548
+ .flex {
1549
+ display: flex;
1511
1550
  }
1512
1551
 
1513
1552
  .hidden {
1514
1553
  display: none;
1515
1554
  }
1516
1555
 
1517
- .h-screen {
1518
- height: 100vh;
1556
+ .h-full {
1557
+ height: 100%;
1519
1558
  }
1520
1559
 
1521
1560
  .h-10 {
1522
1561
  height: 2.5rem;
1523
1562
  }
1524
1563
 
1525
- .h-full {
1526
- height: 100%;
1564
+ .h-5 {
1565
+ height: 1.25rem;
1527
1566
  }
1528
1567
 
1529
1568
  .h-3 {
1530
1569
  height: 0.75rem;
1531
1570
  }
1532
1571
 
1572
+ .h-screen {
1573
+ height: 100vh;
1574
+ }
1575
+
1533
1576
  .h-\[11px\] {
1534
1577
  height: 11px;
1535
1578
  }
1536
1579
 
1580
+ .h-3\.5 {
1581
+ height: 0.875rem;
1582
+ }
1583
+
1537
1584
  .h-4 {
1538
1585
  height: 1rem;
1539
1586
  }
1540
1587
 
1541
- .h-3\.5 {
1542
- height: 0.875rem;
1588
+ .w-5 {
1589
+ width: 1.25rem;
1543
1590
  }
1544
1591
 
1545
1592
  .w-full {
1546
1593
  width: 100%;
1547
1594
  }
1548
1595
 
1549
- .w-10 {
1550
- width: 2.5rem;
1551
- }
1552
-
1553
1596
  .w-3 {
1554
1597
  width: 0.75rem;
1555
1598
  }
1556
1599
 
1600
+ .w-10 {
1601
+ width: 2.5rem;
1602
+ }
1603
+
1557
1604
  .w-screen {
1558
1605
  width: 100vw;
1559
1606
  }
@@ -1562,20 +1609,16 @@ pre[class*="language-"] {
1562
1609
  width: 9px;
1563
1610
  }
1564
1611
 
1565
- .w-4 {
1566
- width: 1rem;
1567
- }
1568
-
1569
1612
  .w-3\.5 {
1570
1613
  width: 0.875rem;
1571
1614
  }
1572
1615
 
1573
- .max-w-xs {
1574
- max-width: 20rem;
1616
+ .w-4 {
1617
+ width: 1rem;
1575
1618
  }
1576
1619
 
1577
- .max-w-full {
1578
- max-width: 100%;
1620
+ .max-w-xs {
1621
+ max-width: 20rem;
1579
1622
  }
1580
1623
 
1581
1624
  .flex-none {
@@ -1586,6 +1629,10 @@ pre[class*="language-"] {
1586
1629
  flex: 1 1 auto;
1587
1630
  }
1588
1631
 
1632
+ .flex-grow {
1633
+ flex-grow: 1;
1634
+ }
1635
+
1589
1636
  .-translate-y-1\/2 {
1590
1637
  --tw-translate-y: -50%;
1591
1638
  transform: var(--tw-transform);
@@ -1608,18 +1655,14 @@ pre[class*="language-"] {
1608
1655
  cursor: col-resize;
1609
1656
  }
1610
1657
 
1611
- .cursor-\[ns-resize\] {
1612
- cursor: ns-resize;
1658
+ .cursor-pointer {
1659
+ cursor: pointer;
1613
1660
  }
1614
1661
 
1615
1662
  .cursor-auto {
1616
1663
  cursor: auto;
1617
1664
  }
1618
1665
 
1619
- .cursor-pointer {
1620
- cursor: pointer;
1621
- }
1622
-
1623
1666
  .select-none {
1624
1667
  -webkit-user-select: none;
1625
1668
  -moz-user-select: none;
@@ -1627,6 +1670,10 @@ pre[class*="language-"] {
1627
1670
  user-select: none;
1628
1671
  }
1629
1672
 
1673
+ .resize {
1674
+ resize: both;
1675
+ }
1676
+
1630
1677
  .flex-col {
1631
1678
  flex-direction: column;
1632
1679
  }
@@ -1645,12 +1692,29 @@ pre[class*="language-"] {
1645
1692
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
1646
1693
  }
1647
1694
 
1695
+ .space-x-3 > :not([hidden]) ~ :not([hidden]) {
1696
+ --tw-space-x-reverse: 0;
1697
+ margin-right: calc(0.75rem * var(--tw-space-x-reverse));
1698
+ margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
1699
+ }
1700
+
1648
1701
  .space-x-8 > :not([hidden]) ~ :not([hidden]) {
1649
1702
  --tw-space-x-reverse: 0;
1650
1703
  margin-right: calc(2rem * var(--tw-space-x-reverse));
1651
1704
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
1652
1705
  }
1653
1706
 
1707
+ .divide-y > :not([hidden]) ~ :not([hidden]) {
1708
+ --tw-divide-y-reverse: 0;
1709
+ border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
1710
+ border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
1711
+ }
1712
+
1713
+ .divide-gray-300 > :not([hidden]) ~ :not([hidden]) {
1714
+ --tw-divide-opacity: 1;
1715
+ border-color: rgba(209, 213, 219, var(--tw-divide-opacity));
1716
+ }
1717
+
1654
1718
  .overflow-auto {
1655
1719
  overflow: auto;
1656
1720
  }
@@ -1659,6 +1723,10 @@ pre[class*="language-"] {
1659
1723
  overflow: hidden;
1660
1724
  }
1661
1725
 
1726
+ .overflow-y-auto {
1727
+ overflow-y: auto;
1728
+ }
1729
+
1662
1730
  .truncate {
1663
1731
  overflow: hidden;
1664
1732
  text-overflow: ellipsis;
@@ -1669,6 +1737,11 @@ pre[class*="language-"] {
1669
1737
  white-space: nowrap;
1670
1738
  }
1671
1739
 
1740
+ .rounded-b {
1741
+ border-bottom-right-radius: 0.25rem;
1742
+ border-bottom-left-radius: 0.25rem;
1743
+ }
1744
+
1672
1745
  .rounded-bl-md {
1673
1746
  border-bottom-left-radius: 0.375rem;
1674
1747
  }
@@ -1677,6 +1750,10 @@ pre[class*="language-"] {
1677
1750
  border-width: 0px;
1678
1751
  }
1679
1752
 
1753
+ .border {
1754
+ border-width: 1px;
1755
+ }
1756
+
1680
1757
  .border-b {
1681
1758
  border-bottom-width: 1px;
1682
1759
  }
@@ -1697,6 +1774,10 @@ pre[class*="language-"] {
1697
1774
  border-bottom-width: 2px;
1698
1775
  }
1699
1776
 
1777
+ .border-t-0 {
1778
+ border-top-width: 0px;
1779
+ }
1780
+
1700
1781
  .border-gray-300 {
1701
1782
  --tw-border-opacity: 1;
1702
1783
  border-color: rgba(209, 213, 219, var(--tw-border-opacity));
@@ -1721,15 +1802,15 @@ pre[class*="language-"] {
1721
1802
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
1722
1803
  }
1723
1804
 
1805
+ .bg-transparent {
1806
+ background-color: transparent;
1807
+ }
1808
+
1724
1809
  .bg-gray-50 {
1725
1810
  --tw-bg-opacity: 1;
1726
1811
  background-color: rgba(249, 250, 251, var(--tw-bg-opacity));
1727
1812
  }
1728
1813
 
1729
- .bg-transparent {
1730
- background-color: transparent;
1731
- }
1732
-
1733
1814
  .bg-gray-100 {
1734
1815
  --tw-bg-opacity: 1;
1735
1816
  background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
@@ -1752,19 +1833,14 @@ pre[class*="language-"] {
1752
1833
  padding: 0.25rem;
1753
1834
  }
1754
1835
 
1755
- .py-2 {
1756
- padding-top: 0.5rem;
1757
- padding-bottom: 0.5rem;
1758
- }
1759
-
1760
1836
  .px-4 {
1761
1837
  padding-left: 1rem;
1762
1838
  padding-right: 1rem;
1763
1839
  }
1764
1840
 
1765
- .px-1 {
1766
- padding-left: 0.25rem;
1767
- padding-right: 0.25rem;
1841
+ .py-\[5px\] {
1842
+ padding-top: 5px;
1843
+ padding-bottom: 5px;
1768
1844
  }
1769
1845
 
1770
1846
  .py-1 {
@@ -1772,24 +1848,38 @@ pre[class*="language-"] {
1772
1848
  padding-bottom: 0.25rem;
1773
1849
  }
1774
1850
 
1775
- .py-\[4px\] {
1776
- padding-top: 4px;
1777
- padding-bottom: 4px;
1851
+ .py-2 {
1852
+ padding-top: 0.5rem;
1853
+ padding-bottom: 0.5rem;
1778
1854
  }
1779
1855
 
1780
- .py-\[3px\] {
1781
- padding-top: 3px;
1782
- padding-bottom: 3px;
1856
+ .px-1 {
1857
+ padding-left: 0.25rem;
1858
+ padding-right: 0.25rem;
1783
1859
  }
1784
1860
 
1785
- .pr-4 {
1786
- padding-right: 1rem;
1861
+ .px-2 {
1862
+ padding-left: 0.5rem;
1863
+ padding-right: 0.5rem;
1864
+ }
1865
+
1866
+ .py-0 {
1867
+ padding-top: 0px;
1868
+ padding-bottom: 0px;
1787
1869
  }
1788
1870
 
1789
1871
  .pr-3 {
1790
1872
  padding-right: 0.75rem;
1791
1873
  }
1792
1874
 
1875
+ .pt-10 {
1876
+ padding-top: 2.5rem;
1877
+ }
1878
+
1879
+ .pb-8 {
1880
+ padding-bottom: 2rem;
1881
+ }
1882
+
1793
1883
  .text-left {
1794
1884
  text-align: left;
1795
1885
  }
@@ -1798,17 +1888,12 @@ pre[class*="language-"] {
1798
1888
  text-align: center;
1799
1889
  }
1800
1890
 
1801
- .font-monospace {
1802
- font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
1803
- }
1804
-
1805
1891
  .font-sans {
1806
1892
  font-family: "Nunito Sans", -apple-system, ".SFNSText-Regular", "San Francisco", BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
1807
1893
  }
1808
1894
 
1809
- .text-base {
1810
- font-size: 1rem;
1811
- line-height: 1.5rem;
1895
+ .font-monospace {
1896
+ font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
1812
1897
  }
1813
1898
 
1814
1899
  .text-sm {
@@ -1821,22 +1906,32 @@ pre[class*="language-"] {
1821
1906
  line-height: 1rem;
1822
1907
  }
1823
1908
 
1909
+ .text-base {
1910
+ font-size: 1rem;
1911
+ line-height: 1.5rem;
1912
+ }
1913
+
1914
+ .text-\[11px\] {
1915
+ font-size: 11px;
1916
+ }
1917
+
1824
1918
  .font-bold {
1825
1919
  font-weight: 700;
1826
1920
  }
1827
1921
 
1828
- .italic {
1829
- font-style: italic;
1922
+ .text-gray-400 {
1923
+ --tw-text-opacity: 1;
1924
+ color: rgba(156, 163, 175, var(--tw-text-opacity));
1830
1925
  }
1831
1926
 
1832
- .text-gray-300 {
1927
+ .text-gray-500 {
1833
1928
  --tw-text-opacity: 1;
1834
- color: rgba(209, 213, 219, var(--tw-text-opacity));
1929
+ color: rgba(107, 114, 128, var(--tw-text-opacity));
1835
1930
  }
1836
1931
 
1837
- .text-gray-400 {
1932
+ .text-gray-300 {
1838
1933
  --tw-text-opacity: 1;
1839
- color: rgba(156, 163, 175, var(--tw-text-opacity));
1934
+ color: rgba(209, 213, 219, var(--tw-text-opacity));
1840
1935
  }
1841
1936
 
1842
1937
  .text-red-300 {
@@ -1849,19 +1944,19 @@ pre[class*="language-"] {
1849
1944
  color: rgba(55, 65, 81, var(--tw-text-opacity));
1850
1945
  }
1851
1946
 
1852
- .text-gray-500 {
1947
+ .text-gray-800 {
1853
1948
  --tw-text-opacity: 1;
1854
- color: rgba(107, 114, 128, var(--tw-text-opacity));
1949
+ color: rgba(31, 41, 55, var(--tw-text-opacity));
1855
1950
  }
1856
1951
 
1857
- .text-gray-800 {
1952
+ .text-gray-900 {
1858
1953
  --tw-text-opacity: 1;
1859
- color: rgba(31, 41, 55, var(--tw-text-opacity));
1954
+ color: rgba(17, 24, 39, var(--tw-text-opacity));
1860
1955
  }
1861
1956
 
1862
- .text-gray-600 {
1957
+ .text-indigo-500 {
1863
1958
  --tw-text-opacity: 1;
1864
- color: rgba(75, 85, 99, var(--tw-text-opacity));
1959
+ color: rgba(99, 102, 241, var(--tw-text-opacity));
1865
1960
  }
1866
1961
 
1867
1962
  .\!text-gray-300 {
@@ -1869,14 +1964,9 @@ pre[class*="language-"] {
1869
1964
  color: rgba(209, 213, 219, var(--tw-text-opacity)) !important;
1870
1965
  }
1871
1966
 
1872
- .text-indigo-500 {
1873
- --tw-text-opacity: 1;
1874
- color: rgba(99, 102, 241, var(--tw-text-opacity));
1875
- }
1876
-
1877
- .text-gray-900 {
1967
+ .text-gray-600 {
1878
1968
  --tw-text-opacity: 1;
1879
- color: rgba(17, 24, 39, var(--tw-text-opacity));
1969
+ color: rgba(75, 85, 99, var(--tw-text-opacity));
1880
1970
  }
1881
1971
 
1882
1972
  .underline {
@@ -1901,6 +1991,11 @@ pre[class*="language-"] {
1901
1991
  outline-offset: 2px;
1902
1992
  }
1903
1993
 
1994
+ .blur {
1995
+ --tw-blur: blur(8px);
1996
+ filter: var(--tw-filter);
1997
+ }
1998
+
1904
1999
  .filter {
1905
2000
  filter: var(--tw-filter);
1906
2001
  }
@@ -2327,14 +2422,14 @@ pre[class*="language-"] {
2327
2422
  --tw-bg-opacity: 0.5;
2328
2423
  }
2329
2424
 
2330
- .hover\:text-indigo-800:hover {
2425
+ .hover\:text-indigo-500:hover {
2331
2426
  --tw-text-opacity: 1;
2332
- color: rgba(55, 48, 163, var(--tw-text-opacity));
2427
+ color: rgba(99, 102, 241, var(--tw-text-opacity));
2333
2428
  }
2334
2429
 
2335
- .hover\:text-indigo-500:hover {
2430
+ .hover\:text-indigo-800:hover {
2336
2431
  --tw-text-opacity: 1;
2337
- color: rgba(99, 102, 241, var(--tw-text-opacity));
2432
+ color: rgba(55, 48, 163, var(--tw-text-opacity));
2338
2433
  }
2339
2434
 
2340
2435
  .hover\:text-gray-700:hover {
@@ -2357,3 +2452,38 @@ pre[class*="language-"] {
2357
2452
  --tw-text-opacity: 1;
2358
2453
  color: rgba(55, 48, 163, var(--tw-text-opacity));
2359
2454
  }
2455
+
2456
+ @media (min-width: 768px) {
2457
+ .md\:-mx-px {
2458
+ margin-left: -1px;
2459
+ margin-right: -1px;
2460
+ }
2461
+
2462
+ .md\:ml-3 {
2463
+ margin-left: 0.75rem;
2464
+ }
2465
+
2466
+ .md\:grid {
2467
+ display: grid;
2468
+ }
2469
+
2470
+ .md\:h-auto {
2471
+ height: auto;
2472
+ }
2473
+
2474
+ .md\:min-h-0 {
2475
+ min-height: 0px;
2476
+ }
2477
+
2478
+ .md\:border-l {
2479
+ border-left-width: 1px;
2480
+ }
2481
+
2482
+ .md\:pl-3 {
2483
+ padding-left: 0.75rem;
2484
+ }
2485
+
2486
+ .md\:pr-4 {
2487
+ padding-right: 1rem;
2488
+ }
2489
+ }