Browse Source

Merge pull request #33 from qor5/upgrade-admin

upgrade admin
xuxinx 1 year ago
parent
commit
026705acc2

File diff suppressed because it is too large
+ 0 - 0
docs/presets-guide/detail-page-for-complex-object.html


File diff suppressed because it is too large
+ 0 - 0
docs/search_indexes.json


+ 4 - 5
docsrc/content/advanced-functions/detail-page-for-complex-object.go

@@ -21,15 +21,14 @@ You can add all kinds of operations conveniently.
 	Markdown(`
 - The name of detailing fields are just a place holder for decide ordering
 - ~CellComponentFunc~ customize how the cell display
-- ~stripeui~ package create basic components that similar to [Stripe Dashboard](https://dashboard.stripe.com)
-- ~stripeui.DataTable~ create a data table, Which the Listing page uses the same component
+- ~vx.DataTable~ create a data table, Which the Listing page uses the same component
 - ~LoadMoreAt~ will only show for example 2 rows of data, and you can click load more to display all
-- ~stripeui.Card~ display a card with toolbar you can setup action buttons
+- ~vx.Card~ display a card with toolbar you can setup action buttons
 - We reference the new form drawer that ~b.Model(&Note{})~ creates, but hide notes in the menu
 `),
 	utils.Anchor(H2(""), "Details Info components and actions"),
 	Markdown(`
-A ~stripeui.DetailInfo~ component is used for display main detail field of the model.
+A ~vx.DetailInfo~ component is used for display main detail field of the model.
 And you can add any actions to the detail page with ease:
 `),
 	ch.Code(generated.PresetsDetailPageDetailsSample).Language("go"),
@@ -42,7 +41,7 @@ And you can add any actions to the detail page with ease:
 
 	utils.Anchor(H2(""), "More Usage for Data Table"),
 	Markdown(`
-A ~stripeui.DataTable~ component is very featured rich, Here check out the row expandable example:
+A ~vx.DataTable~ component is very featured rich, Here check out the row expandable example:
 `),
 	ch.Code(generated.PresetsDetailPageCardsSample).Language("go"),
 	utils.Demo("Presets Detail Page Credit Cards", e21_presents.PresetsDetailPageCardsPath+"/customers", "e21_presents/detailing.go"),

+ 23 - 23
docsrc/examples/e19_stripeui_key_info/page.go

@@ -4,8 +4,8 @@ import (
 	"fmt"
 	"time"
 
-	s "github.com/qor5/ui/stripeui"
 	. "github.com/qor5/ui/vuetify"
+	vx "github.com/qor5/ui/vuetifyx"
 	"github.com/qor5/web"
 	"github.com/sunfmin/reflectutils"
 	h "github.com/theplant/htmlgo"
@@ -44,7 +44,7 @@ func KeyInfoDemo(ctx *web.EventContext) (pr web.PageResponse, err error) {
 		},
 	}
 
-	dt := s.DataTable(data).WithoutHeader(true).LoadMoreAt(3, "Show More")
+	dt := vx.DataTable(data).WithoutHeader(true).LoadMoreAt(3, "Show More")
 
 	dt.Column("Title").CellComponentFunc(func(obj interface{}, fieldName string, ctx *web.EventContext) h.HTMLComponent {
 		return h.Td(h.RawHTML(fmt.Sprint(reflectutils.MustGet(obj, fieldName))))
@@ -55,7 +55,7 @@ func KeyInfoDemo(ctx *web.EventContext) (pr web.PageResponse, err error) {
 		return h.Td(h.Text(t.Format("01/02/06, 15:04:05 PM"))).Class("text-right")
 	})
 
-	logsDt := s.DataTable(data).
+	logsDt := vx.DataTable(data).
 		WithoutHeader(true).
 		LoadMoreAt(3, "Show More").
 		LoadMoreURL("/e20_vuetify_expansion_panels").
@@ -75,12 +75,12 @@ func KeyInfoDemo(ctx *web.EventContext) (pr web.PageResponse, err error) {
 
 	pr.Body = VApp(
 		VMain(
-			s.Card(
-				s.KeyInfo(
-					s.KeyField(h.Text(time.Now().Format("Jan _2, 15:04 PM"))).Label("Date"),
-					s.KeyField(h.A().Href("https://google.com").Text("customer0077N52")).Label("Customer"),
-					s.KeyField(h.Text("•••• 4242")).Label("Payment method").Icon(VIcon("credit_card")),
-					s.KeyField(h.Text("Normal")).Label("Risk evaluation").Icon(VChip(h.Text("43")).Small(true)),
+			vx.Card(
+				vx.KeyInfo(
+					vx.KeyField(h.Text(time.Now().Format("Jan _2, 15:04 PM"))).Label("Date"),
+					vx.KeyField(h.A().Href("https://google.com").Text("customer0077N52")).Label("Customer"),
+					vx.KeyField(h.Text("•••• 4242")).Label("Payment method").Icon(VIcon("credit_card")),
+					vx.KeyField(h.Text("Normal")).Label("Risk evaluation").Icon(VChip(h.Text("43")).Small(true)),
 				),
 			).SystemBar(
 				VIcon("link"),
@@ -94,27 +94,27 @@ func KeyInfoDemo(ctx *web.EventContext) (pr web.PageResponse, err error) {
 				VBtn("Edit").Depressed(true),
 			).Class("mb-4"),
 
-			s.Card(s.DetailInfo(
-				s.DetailColumn(
-					s.DetailField(s.OptionalText("cus_EnUK8WcwQkuKQP")).Label("ID"),
-					s.DetailField(s.OptionalText(time.Now().Format("2006/01/02 15:04"))).Label("Created"),
-					s.DetailField(s.OptionalText("hello@example.com")).Label("Email"),
-					s.DetailField(s.OptionalText("customer0077N52")).Label("Description"),
-					s.DetailField(s.OptionalText("B0E69DBD")).Label("Invoice prefix"),
-					s.DetailField(s.OptionalText("").ZeroLabel("No VAT number")).Label("VAT number"),
-					s.DetailField(s.OptionalText("Normal")).Label("Risk evaluation").Icon(VChip(h.Text("43")).Small(true)),
+			vx.Card(vx.DetailInfo(
+				vx.DetailColumn(
+					vx.DetailField(vx.OptionalText("cus_EnUK8WcwQkuKQP")).Label("ID"),
+					vx.DetailField(vx.OptionalText(time.Now().Format("2006/01/02 15:04"))).Label("Created"),
+					vx.DetailField(vx.OptionalText("hello@example.com")).Label("Email"),
+					vx.DetailField(vx.OptionalText("customer0077N52")).Label("Description"),
+					vx.DetailField(vx.OptionalText("B0E69DBD")).Label("Invoice prefix"),
+					vx.DetailField(vx.OptionalText("").ZeroLabel("No VAT number")).Label("VAT number"),
+					vx.DetailField(vx.OptionalText("Normal")).Label("Risk evaluation").Icon(VChip(h.Text("43")).Small(true)),
 				).Header("ACCOUNT INFORMATION"),
-				s.DetailColumn(
-					s.DetailField(s.OptionalText("").ZeroLabel("No address")).Label("Address"),
-					s.DetailField(s.OptionalText("").ZeroLabel("No phone number")).Label("Phone number"),
+				vx.DetailColumn(
+					vx.DetailField(vx.OptionalText("").ZeroLabel("No address")).Label("Address"),
+					vx.DetailField(vx.OptionalText("").ZeroLabel("No phone number")).Label("Phone number"),
 				).Header("BILLING INFORMATION"),
 			)).HeaderTitle("Details").
 				Actions(VBtn("Update details").Depressed(true)).
 				Class("mb-4"),
 
-			s.Card(dt).HeaderTitle("Events").Class("mb-4"),
+			vx.Card(dt).HeaderTitle("Events").Class("mb-4"),
 
-			s.Card(logsDt).HeaderTitle("Logs").Class("mb-4"),
+			vx.Card(logsDt).HeaderTitle("Logs").Class("mb-4"),
 		),
 	)
 	return

+ 17 - 17
docsrc/examples/e20_vuetify_expansion_panels/page.go

@@ -3,8 +3,8 @@ package e20_vuetify_expansion_panels
 import (
 	"time"
 
-	s "github.com/qor5/ui/stripeui"
 	. "github.com/qor5/ui/vuetify"
+	vx "github.com/qor5/ui/vuetifyx"
 	"github.com/qor5/web"
 	h "github.com/theplant/htmlgo"
 )
@@ -28,14 +28,14 @@ func ExpansionPanelDemo(ctx *web.EventContext) (pr web.PageResponse, err error)
 					).DisableIconRotate(true),
 					VExpansionPanelContent(
 						VDivider(),
-						s.DetailInfo(
-							s.DetailColumn(
-								s.DetailField(s.OptionalText("FENGMIN SUN").ZeroLabel("No Name")).Label("Name"),
-								s.DetailField(s.OptionalText("•••• 4242").ZeroLabel("No Number")).Label("Number"),
-								s.DetailField(s.OptionalText("QlfGjXhL3I1xfKVV").ZeroLabel("No Fingerprint")).Label("Fingerprint"),
-								s.DetailField(s.OptionalText("11 / 2028").ZeroLabel("No Expires")).Label("Expires"),
-								s.DetailField(s.OptionalText("Visa credit card").ZeroLabel("No Type")).Label("Type"),
-								s.DetailField(s.OptionalText("card_1EJtLGAqkzzGorqLeFb6h2YV").ZeroLabel("No Type")).Label("ID"),
+						vx.DetailInfo(
+							vx.DetailColumn(
+								vx.DetailField(vx.OptionalText("FENGMIN SUN").ZeroLabel("No Name")).Label("Name"),
+								vx.DetailField(vx.OptionalText("•••• 4242").ZeroLabel("No Number")).Label("Number"),
+								vx.DetailField(vx.OptionalText("QlfGjXhL3I1xfKVV").ZeroLabel("No Fingerprint")).Label("Fingerprint"),
+								vx.DetailField(vx.OptionalText("11 / 2028").ZeroLabel("No Expires")).Label("Expires"),
+								vx.DetailField(vx.OptionalText("Visa credit card").ZeroLabel("No Type")).Label("Type"),
+								vx.DetailField(vx.OptionalText("card_1EJtLGAqkzzGorqLeFb6h2YV").ZeroLabel("No Type")).Label("ID"),
 							),
 						).Class("pa-0"),
 					),
@@ -47,14 +47,14 @@ func ExpansionPanelDemo(ctx *web.EventContext) (pr web.PageResponse, err error)
 					),
 					VExpansionPanelContent(
 						VDivider(),
-						s.DetailInfo(
-							s.DetailColumn(
-								s.DetailField(s.OptionalText("FENGMIN SUN").ZeroLabel("No Name")).Label("Name"),
-								s.DetailField(s.OptionalText("•••• 4242").ZeroLabel("No Number")).Label("Number"),
-								s.DetailField(s.OptionalText("QlfGjXhL3I1xfKVV").ZeroLabel("No Fingerprint")).Label("Fingerprint"),
-								s.DetailField(s.OptionalText("11 / 2028").ZeroLabel("No Expires")).Label("Expires"),
-								s.DetailField(s.OptionalText("Visa credit card").ZeroLabel("No Type")).Label("Type"),
-								s.DetailField(s.OptionalText("card_1EJtLGAqkzzGorqLeFb6h2YV").ZeroLabel("No Type")).Label("ID"),
+						vx.DetailInfo(
+							vx.DetailColumn(
+								vx.DetailField(vx.OptionalText("FENGMIN SUN").ZeroLabel("No Name")).Label("Name"),
+								vx.DetailField(vx.OptionalText("•••• 4242").ZeroLabel("No Number")).Label("Number"),
+								vx.DetailField(vx.OptionalText("QlfGjXhL3I1xfKVV").ZeroLabel("No Fingerprint")).Label("Fingerprint"),
+								vx.DetailField(vx.OptionalText("11 / 2028").ZeroLabel("No Expires")).Label("Expires"),
+								vx.DetailField(vx.OptionalText("Visa credit card").ZeroLabel("No Type")).Label("Type"),
+								vx.DetailField(vx.OptionalText("card_1EJtLGAqkzzGorqLeFb6h2YV").ZeroLabel("No Type")).Label("ID"),
 							),
 						).Class("pa-0"),
 					),

+ 26 - 26
docsrc/examples/e21_presents/detailing.go

@@ -7,8 +7,8 @@ import (
 
 	"github.com/qor5/admin/presets"
 	"github.com/qor5/admin/presets/actions"
-	"github.com/qor5/ui/stripeui"
 	. "github.com/qor5/ui/vuetify"
+	vx "github.com/qor5/ui/vuetifyx"
 	"github.com/qor5/web"
 	h "github.com/theplant/htmlgo"
 	"gorm.io/gorm"
@@ -58,7 +58,7 @@ func PresetsDetailPageTopNotes(b *presets.Builder) (
 			panic(err)
 		}
 
-		dt := stripeui.DataTable(notes).WithoutHeader(true).LoadMoreAt(2, "Show More")
+		dt := vx.DataTable(notes).WithoutHeader(true).LoadMoreAt(2, "Show More")
 
 		dt.Column("Content").CellComponentFunc(func(obj interface{}, fieldName string, ctx *web.EventContext) h.HTMLComponent {
 			n := obj.(*Note)
@@ -77,7 +77,7 @@ func PresetsDetailPageTopNotes(b *presets.Builder) (
 		cusID := fmt.Sprint(cu.ID)
 		dt.RowMenuItemFuncs(presets.EditDeleteRowMenuItemFuncs(mi, mi.PresetsPrefix()+"/notes", url.Values{"model": []string{"Customer"}, "model_id": []string{cusID}})...)
 
-		return stripeui.Card(
+		return vx.Card(
 			dt,
 		).HeaderTitle(title).
 			Actions(
@@ -134,20 +134,20 @@ func PresetsDetailPageDetails(b *presets.Builder) (
 			termAgreed = cu.TermAgreedAt.Format("Jan 02,15:04 PM")
 		}
 
-		detail := stripeui.DetailInfo(
-			stripeui.DetailColumn(
-				stripeui.DetailField(stripeui.OptionalText(cu.Name).ZeroLabel("No Name")).Label("Name"),
-				stripeui.DetailField(stripeui.OptionalText(cu.Email).ZeroLabel("No Email")).Label("Email"),
-				stripeui.DetailField(stripeui.OptionalText(cusID).ZeroLabel("No ID")).Label("ID"),
-				stripeui.DetailField(stripeui.OptionalText(cu.CreatedAt.Format("Jan 02,15:04 PM")).ZeroLabel("")).Label("Created"),
-				stripeui.DetailField(stripeui.OptionalText(termAgreed).ZeroLabel("Not Agreed Yet")).Label("Terms Agreed"),
+		detail := vx.DetailInfo(
+			vx.DetailColumn(
+				vx.DetailField(vx.OptionalText(cu.Name).ZeroLabel("No Name")).Label("Name"),
+				vx.DetailField(vx.OptionalText(cu.Email).ZeroLabel("No Email")).Label("Email"),
+				vx.DetailField(vx.OptionalText(cusID).ZeroLabel("No ID")).Label("ID"),
+				vx.DetailField(vx.OptionalText(cu.CreatedAt.Format("Jan 02,15:04 PM")).ZeroLabel("")).Label("Created"),
+				vx.DetailField(vx.OptionalText(termAgreed).ZeroLabel("Not Agreed Yet")).Label("Terms Agreed"),
 			).Header("ACCOUNT INFORMATION"),
-			stripeui.DetailColumn(
-				stripeui.DetailField(h.RawHTML(cu.Description)).Label("Description"),
+			vx.DetailColumn(
+				vx.DetailField(h.RawHTML(cu.Description)).Label("Description"),
 			).Header("DETAILS"),
 		)
 
-		return stripeui.Card(detail).HeaderTitle("Details").
+		return vx.Card(detail).HeaderTitle("Details").
 			Actions(
 				VBtn("Agree Terms").
 					Depressed(true).Class("mr-2").
@@ -170,7 +170,7 @@ func PresetsDetailPageDetails(b *presets.Builder) (
 			).Class("mb-4")
 	})
 
-	dp.Action("AgreeTerms").UpdateFunc(func(selectedIds []string, ctx *web.EventContext) (err error) {
+	dp.Action("AgreeTerms").UpdateFunc(func(id string, ctx *web.EventContext) (err error) {
 		if ctx.R.FormValue("Agree") != "true" {
 			ve := &web.ValidationErrors{}
 			ve.GlobalError("You must agree the terms")
@@ -178,11 +178,11 @@ func PresetsDetailPageDetails(b *presets.Builder) (
 			return
 		}
 
-		err = db.Model(&Customer{}).Where("id = ?", selectedIds[0]).
+		err = db.Model(&Customer{}).Where("id = ?", id).
 			Updates(map[string]interface{}{"term_agreed_at": time.Now()}).Error
 
 		return
-	}).ComponentFunc(func(selectedIds []string, ctx *web.EventContext) h.HTMLComponent {
+	}).ComponentFunc(func(id string, ctx *web.EventContext) h.HTMLComponent {
 		var alert h.HTMLComponent
 
 		if ve, ok := ctx.Flash.(*web.ValidationErrors); ok {
@@ -243,18 +243,18 @@ func PresetsDetailPageCards(b *presets.Builder) (
 			panic(err)
 		}
 
-		dt := stripeui.DataTable(cards).
+		dt := vx.DataTable(cards).
 			WithoutHeader(true).
 			RowExpandFunc(func(obj interface{}, ctx *web.EventContext) h.HTMLComponent {
 				card := obj.(*CreditCard)
-				return stripeui.DetailInfo(
-					stripeui.DetailColumn(
-						stripeui.DetailField(stripeui.OptionalText(card.Name).ZeroLabel("No Name")).Label("Name"),
-						stripeui.DetailField(stripeui.OptionalText(card.Number).ZeroLabel("No Number")).Label("Number"),
-						stripeui.DetailField(stripeui.OptionalText(card.ExpireYearMonth).ZeroLabel("No Expires")).Label("Expires"),
-						stripeui.DetailField(stripeui.OptionalText(card.Type).ZeroLabel("No Type")).Label("Type"),
-						stripeui.DetailField(stripeui.OptionalText(card.Phone).ZeroLabel("No phone provided")).Label("Phone"),
-						stripeui.DetailField(stripeui.OptionalText(card.Email).ZeroLabel("No email provided")).Label("Email"),
+				return vx.DetailInfo(
+					vx.DetailColumn(
+						vx.DetailField(vx.OptionalText(card.Name).ZeroLabel("No Name")).Label("Name"),
+						vx.DetailField(vx.OptionalText(card.Number).ZeroLabel("No Number")).Label("Number"),
+						vx.DetailField(vx.OptionalText(card.ExpireYearMonth).ZeroLabel("No Expires")).Label("Expires"),
+						vx.DetailField(vx.OptionalText(card.Type).ZeroLabel("No Type")).Label("Type"),
+						vx.DetailField(vx.OptionalText(card.Phone).ZeroLabel("No phone provided")).Label("Phone"),
+						vx.DetailField(vx.OptionalText(card.Email).ZeroLabel("No email provided")).Label("Email"),
 					),
 				)
 			}).RowMenuItemFuncs(presets.EditDeleteRowMenuItemFuncs(mi, mi.PresetsPrefix()+"/credit-cards", url.Values{"customerID": []string{cusID}})...)
@@ -263,7 +263,7 @@ func PresetsDetailPageCards(b *presets.Builder) (
 		dt.Column("Number")
 		dt.Column("ExpireYearMonth")
 
-		return stripeui.Card(dt).HeaderTitle("Cards").
+		return vx.Card(dt).HeaderTitle("Cards").
 			Actions(
 				VBtn("Add Card").
 					Depressed(true).

File diff suppressed because it is too large
+ 0 - 0
docsrc/generated/examples-generated.go


+ 8 - 8
go.mod

@@ -8,16 +8,16 @@ require (
 	github.com/go-chi/chi v1.5.4
 	github.com/manifoldco/promptui v0.9.0
 	github.com/qor/oss v0.0.0-20210412121326-3c5583a62015
-	github.com/qor5/admin v0.0.0-20221128020357-adb551f97fa2
-	github.com/qor5/ui v1.0.0
+	github.com/qor5/admin v0.0.0-20230222060239-323b09795d83
+	github.com/qor5/ui v1.0.1-0.20221212071205-e794612c1e84
 	github.com/qor5/web v1.2.4-0.20221109035751-adf9bf246c1e
-	github.com/qor5/x v1.2.1-0.20221109065533-3e5f9b440cb3
+	github.com/qor5/x v1.2.1-0.20230215023713-a028537191cc
 	github.com/shurcooL/sanitized_anchor_name v1.0.0
 	github.com/sunfmin/reflectutils v1.0.3
 	github.com/theplant/docgo v0.0.15
 	github.com/theplant/htmlgo v1.0.3
 	github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4
-	golang.org/x/text v0.4.0
+	golang.org/x/text v0.6.0
 	gorm.io/driver/postgres v1.4.5
 	gorm.io/driver/sqlite v1.4.3
 	gorm.io/gorm v1.24.2
@@ -85,11 +85,11 @@ require (
 	go.uber.org/multierr v1.8.0 // indirect
 	go.uber.org/zap v1.24.0 // indirect
 	goji.io v2.0.2+incompatible // indirect
-	golang.org/x/crypto v0.3.0 // indirect
-	golang.org/x/image v0.0.0-20200927104501-e162460cd6b5 // indirect
-	golang.org/x/net v0.2.0 // indirect
+	golang.org/x/crypto v0.5.0 // indirect
+	golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 // indirect
+	golang.org/x/net v0.5.0 // indirect
 	golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43 // indirect
-	golang.org/x/sys v0.2.0 // indirect
+	golang.org/x/sys v0.4.0 // indirect
 	google.golang.org/appengine v1.6.6 // indirect
 	google.golang.org/protobuf v1.26.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect

+ 9 - 0
go.sum

@@ -296,12 +296,16 @@ github.com/qor/oss v0.0.0-20210412121326-3c5583a62015 h1:gmzorMEb+tKC8wkYBsIO9z+
 github.com/qor/oss v0.0.0-20210412121326-3c5583a62015/go.mod h1:JhtPzUhP5KGtCB2yksmxuYAD4hEWw4qGQJpucjsm3U0=
 github.com/qor5/admin v0.0.0-20221128020357-adb551f97fa2 h1:075GoxMrB2/VY6pYRAPLTK1XAVuD/Vh9GLbd8bFBXto=
 github.com/qor5/admin v0.0.0-20221128020357-adb551f97fa2/go.mod h1:uymLUBdFzCae2QFwN+MW/4gnJDhKSqqhuID+fVkmkyY=
+github.com/qor5/admin v0.0.0-20230222060239-323b09795d83 h1:ys1C3onPFAZRZoL/l+TQTIwhT9VvQZoPIZp/duge85s=
+github.com/qor5/admin v0.0.0-20230222060239-323b09795d83/go.mod h1:UhmKyOUDo/2iNxVu2y9+8IGSgLj9HvxTfSsSC/VkgnM=
 github.com/qor5/ui v1.0.0 h1:9npS/FvnlR2j7Z8uGW69511oLbHad+LOLDNob7jJj2Y=
 github.com/qor5/ui v1.0.0/go.mod h1:bgBqjIytHRdfTsiZea8df/ltAcyQyuHiLbecgo8Iwgw=
+github.com/qor5/ui v1.0.1-0.20221212071205-e794612c1e84/go.mod h1:bgBqjIytHRdfTsiZea8df/ltAcyQyuHiLbecgo8Iwgw=
 github.com/qor5/web v1.2.4-0.20221109035751-adf9bf246c1e h1:hBK89VZV9+Xtan053WjT2SHANQm6Y2OHYvRCG12YqYM=
 github.com/qor5/web v1.2.4-0.20221109035751-adf9bf246c1e/go.mod h1:gwAoUC1cQ9y5Vm3zZmWTq9t1iLOrQH+sIvJUpG6V61w=
 github.com/qor5/x v1.2.1-0.20221109065533-3e5f9b440cb3 h1:4W5ix5ep3JJQSJwBMjyXLskaOHUy2vfd1aPDt4xtVU0=
 github.com/qor5/x v1.2.1-0.20221109065533-3e5f9b440cb3/go.mod h1:pqE7TSENrUKHlwzDSdaww0pk3E9X1ffoqAfCHzoZrJk=
+github.com/qor5/x v1.2.1-0.20230215023713-a028537191cc/go.mod h1:pqE7TSENrUKHlwzDSdaww0pk3E9X1ffoqAfCHzoZrJk=
 github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59be h1:ta7tUOvsPHVHGom5hKW5VXNc2xZIkfCKP8iaqOyYtUQ=
 github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59be/go.mod h1:MIDFMn7db1kT65GmV94GzpX9Qdi7N/pQlwb+AN8wh+Q=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
@@ -414,6 +418,7 @@ golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0
 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A=
 golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
+golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -429,6 +434,7 @@ golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+o
 golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
 golang.org/x/image v0.0.0-20200927104501-e162460cd6b5 h1:QelT11PB4FXiDEXucrfNckHoFxwt8USGY1ajP1ZF5lM=
 golang.org/x/image v0.0.0-20200927104501-e162460cd6b5/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20220902085622-e7cb96979f69/go.mod h1:doUCurBvlfPMKfmIpRIywoHmhN3VyhnoFDbvIEWF4hY=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -481,6 +487,7 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
 golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
+golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -538,6 +545,7 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
 golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -550,6 +558,7 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
 golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=

Some files were not shown because too many files changed in this diff